// portfolio

alexander jacquelline

Senior Fullstack Engineer — Applied AI

I build revenue-critical systems and ship production AI — RAG · guardrails · eval. Indonesia based, open to remote.

contactresume.pdf
~73B IDR
GMV / yr (platform scale)
100%→<25%
DB CPU (9M-row table)
~2h→14s
AI first-response time
~50%
infra cost reduction

// about

About

I'm a Senior Fullstack Engineer with 6+ years of experience building and operating revenue-critical fintech, marketplace, and logistics systems at national scale — including platforms processing tens of billions IDR in annual GMV, where minutes of downtime directly impact revenue.

Over my career I've worked at PT Evotech Distribusi, Wiratek (consulting), three teams at Bukalapak (Logistics, Prakerja, and Mitra Financial Service), and now a private logistics company as a Senior Fullstack Engineer.

I most recently designed and shipped a production human-in-the-loop AI customer-service platform end-to-end at a private logistics company. My strengths span applied AI system design, database performance engineering, and infrastructure cost optimization, with ownership across web, backend, mobile, and cloud.

I'm based in Indonesia, work in professional English, and am open to remote roles in applied AI or senior fullstack engineering.

// education

I hold a Bachelor of Electrical Engineering from Institut Teknologi PLN, Jakarta. GPA 3.52 / 4.00.

// experience

Experience

  1. Senior Fullstack Engineer

    Oct 2025 – Present

    Private logistics company · current

    At a private logistics company, I designed and shipped — solo, in roughly three months — a human-in-the-loop WhatsApp AI customer-service platform that is now in production. It cut the average first-response time from about 2 hours (the human baseline) to roughly 14 seconds end-to-end.

    How the AI platform works

    • Generation: Grok (xAI), routed through the Cloudflare AI Gateway for observability and caching.
    • Retrieval: PostgreSQL + pgvector retrieval-augmented generation over a customer-service-maintained FAQ knowledge store.
    • Guardrails: both prompt-level and code-based guardrails enable automatic handoff to a human agent when confidence is low or a request is out of scope.

    Before launch I achieved 95% answer accuracy as validated by the CS team's pre-launch evaluation. To enable red-teaming, I built an impersonation feature so customer-service agents could test the AI as if they were end users.

    I'm now architecting a migration from a tool-based chatbot to a skill/prompt-driven orchestration layer, so operations can update response logic without an engineering release.

    Beyond the AI platform, I scaffolded a new mobile platform (Go backend, Vue frontend) and designed an OAuth session bridge so legacy Laravel users migrated to the new stack without re-authenticating; I own Flutter stabilization, maintenance, and App Store + Google Play release management.

    I also led a production GCP → Alibaba Cloud migration with a controlled cutover, reducing infrastructure cost by roughly 50% (verified via billing comparison).

  2. Fullstack Engineer, Mitra Financial Service

    Feb 2025 – Oct 2025

    Bukalapak

    On the Mitra Financial Service team at Bukalapak, I built partner-specific payment flows — fee segmentation, app-to-app transitions, and idempotent callback handling — on a revenue-critical platform with strict correctness requirements to prevent double charges, lost payments, and partner disputes.

    I validated payment states and maintained correctness during incidents caused by upstream migrations, and decommissioned two legacy services to cut infrastructure cost.

  3. Fullstack Engineer, Prakerja

    Apr 2023 – Apr 2025

    Bukalapak

    On the Prakerja team, I diagnosed recurring production database outages on a 9-million-row transactional table using slow-query logs. I applied targeted indexes and join decomposition — replacing heavy JOINs with controlled multi-query fetches — cutting database CPU from 100% to under 25%.

    I authored RFCs proposing staged query optimization to keep fixes low-risk, and led the migration of transactions off the shared monolith to eliminate a projected ~300M IDR in absorbed infrastructure cost.

    The platform processed roughly 73B IDR in GMV per year.

  4. Fullstack Engineer, Logistics

    Aug 2021 – Apr 2023

    Bukalapak

    I was promoted from frontend to fullstack engineer on the Logistics team while maintaining service stability. I reduced Google Maps API costs by roughly $300/month through request optimization (verified via cloud billing), and built device-based fraud-prevention logic that saved about IDR 100M/month (measured by the product team).

    I also integrated third-party courier APIs with caching and pricing logic.

  5. Frontend Developer

    Feb 2021 – Aug 2021

    Wiratek (consulting)

    As a frontend developer at Wiratek, I built the frontend of a banking internal audit system.

  6. Software Developer

    Sep 2019 – Nov 2020

    PT Evotech Distribusi

    I built enterprise applications on OutSystems for clients including Astra and ISS.

// selected work

Case studies

Human-in-the-loop WhatsApp AI customer service

Private logistics company · 2025–2026

A production AI customer-service platform that cut first-response time from ~2 hours to ~14 seconds, with human-in-the-loop guardrails.

The flagship proof of my applied-AI work: a human-in-the-loop AI customer-service platform for WhatsApp, designed and shipped solo in about three months and now running in production.

The problem

Customer-service first responses were taking roughly two hours from a human baseline — too slow for a logistics business where shippers and consignees need fast answers.

The system

  • Generation: Grok (xAI), routed through the Cloudflare AI Gateway for observability, caching, and rate control.
  • Retrieval: PostgreSQL + pgvector retrieval-augmented generation over a knowledge store maintained by the customer-service team.
  • Guardrails: prompt-level and code-based guardrails trigger automatic handoff to a human agent whenever confidence is low or a request falls out of scope — so the AI never blocks a customer from reaching a person.
  • Red-teaming: an impersonation feature let CS agents probe the assistant as if they were end users before go-live.

Outcome

  • First-response time dropped from ~2 hours to roughly 14 seconds end-to-end.
  • 95% answer accuracy at launch, validated by the CS team's pre-launch evaluation.

What's next

Migrating from a tool-based chatbot to a skill/prompt-driven orchestration layer, so operations can change response logic without an engineering release.

RAGpgvectorGrokCloudflare AI GatewayguardrailsWhatsAppApplied AI

Cutting DB CPU from 100% to under 25%

Bukalapak (Prakerja) · 2023–2024

Diagnosed recurring outages on a 9M-row table via slow-query logs and cut DB CPU from 100% to under 25% with indexes and join decomposition.

On a marketplace platform processing roughly 73B IDR in GMV per year, recurring production database outages were traced to a 9-million-row transactional table.

Approach

I used slow-query logs to find the culprits, then applied targeted indexes and join decomposition — replacing heavy JOINs with controlled, multi-query fetches that are easier for the planner to optimize and to reason about under load.

Outcome

  • Database CPU dropped from 100% to under 25%.
  • I authored RFCs for staged, low-risk query optimization and led the migration of transactions off the shared monolith to avoid a projected ~300M IDR in absorbed infrastructure cost.
PostgreSQLquery optimizationindexesperformance

Payment integrity for revenue-critical flows

Bukalapak (Mitra Financial Service) · 2025

Partner-specific payment flows with idempotent callbacks to prevent double charges, lost payments, and disputes.

On the Mitra Financial Service team, I built partner-specific payment flows on a revenue-critical fintech platform.

What it does

  • Fee segmentation and app-to-app transitions for partner integrations.
  • Idempotent callback handling so retries and duplicates can never cause a double charge or a lost payment.
  • State validation that held correctness during incidents triggered by upstream migrations.

Why it matters

On a payments platform, a single correctness bug means double charges, lost payments, or partner disputes. The idempotency design ensures the system converges to the right state even when partners retry or callbacks arrive out of order.

paymentsidempotencyfintechcorrectness

GCP → Alibaba Cloud migration (~50% cost cut)

Private logistics company · 2025–2026

Led a production cloud migration with a controlled cutover, reducing infrastructure cost ~50%.

I led a production migration from GCP to Alibaba Cloud at a private logistics company.

Approach

A controlled cutover with careful sequencing to keep production stable through the switch.

Outcome

  • Roughly 50% infrastructure cost reduction, verified by comparing cloud billing before and after.
GCPAlibaba Cloudmigrationcost optimization

// stack

Stack & tools

My primary programming languages are Go and TypeScript/JavaScript, plus Ruby, SQL, and Dart. I work primarily in Go and TypeScript/JavaScript on the backend, with PostgreSQL — including pgvector for vector search — as my core datastore. For applied AI I use RAG and LLM orchestration with human-in-the-loop guardrails, and have shipped production systems using Grok (xAI) via the Cloudflare AI Gateway.

On the frontend and mobile I use Next.js, Nuxt/Vue, and Flutter/React Native. I operate infrastructure across GCP, Alibaba Cloud, and AWS with Docker, Kubernetes, and Terraform, and ship via GitHub Actions and GitLab CI/CD.

Languages

GoTypeScriptJavaScriptRubySQLDart

Frontend / Mobile

Next.jsNuxtVueReact NativeFlutterExpo

Backend

Node.jsGoRubyGraphQLREST

Data & AI

PostgreSQL (incl. pgvector)RedisLangChainRAG & LLM orchestration (Grok/xAI)human-in-the-loop guardrails

Cloud & Infra

GCPAlibaba CloudAWSDockerKubernetesTerraformCloudflare AI Gateway

Testing & CI/CD

Go testJestVitestGitHub ActionsGitLab CI/CD

// how the ai works

How this site's AI works

The assistant in the corner is a small, deliberately scoped retrieval-augmented generation (RAG) system. Here's exactly how it works — and the guardrails that keep it honest.

1. The content

Every piece of text on this site (about, experience, case studies) is the single source of truth the assistant draws from. At build time it's chunked and embedded.

2. Embeddings

Each chunk is converted to a 1,536-dimensional vector using OpenAI's text-embedding-3-small model and stored in Supabase Postgres with the pgvector extension.

3. Hybrid retrieval

When you ask a question, the assistant embeds your question and runs hybrid retrieval:

  • Semantic search over the vectors (meaning, not just keywords), and
  • Keyword search using Postgres full-text search (tsvector + ts_rank).

Results are fused with Reciprocal Rank Fusion so a chunk that's strong on either signal surfaces. This is the same hybrid pattern I use in production at my current company.

4. The relevance gate — the most important guardrail

If no chunk scores above a relevance threshold, the assistant refuses and points you to the contact form — rather than guessing. This is what prevents hallucination: the model is only ever asked to rephrase retrieved context, never to invent facts.

5. Generation

Retrieved context goes into a scoped system prompt, and DeepSeek (a fast, cheap flash-tier model) writes the answer at temperature 0 — faithful rephrasing, low creativity. For grounded Q&A, a smaller non-thinking model is actually better than a large "reasoning" model: it sticks to the source instead of drifting.

6. Out-of-scope refusal

The assistant is scoped to questions about Alexander's work. Off-topic requests (write me code, tell me a joke, advise on something unrelated) are declined politely and routed to the contact form.

7. The eval gate

Before any assistant ships, a golden set of questions is run through the full pipeline and scored by an LLM-as-a-judge against a rubric (accurate, grounded, correct in-scope vs. correct refusal). The gate is ≥ 90% acceptable answers and zero confirmed hallucinations. If it doesn't pass, it doesn't ship.

8. Privacy

The server logs metadata only — an anonymous session hash, a rough question theme, and the page — never your raw message text or any personal data.

// contact

Get in touch

Recruiter or hiring manager? Send a note — it lands in Alexander’s inbox with your address as the reply-to, and is logged so nothing gets lost. He’s open to remote Applied AI / senior fullstack roles.

prefer email? alexanderjacq02@gmail.com