Skip to content
JJL

Jiajun Lim

AI engineer building production LLM systems across frontend, backend, and infrastructure.

I picked AI as my major before ChatGPT made it the obvious choice, mostly on a hunch that it would end up mattering. That bet turned into building production systems: most recently a multi-agent chatbot that answers customer questions for an investment platform and a digital bank from one core engine, plus the backend and infrastructure that keep it running.


Project

Stella, a multi-agent chatbot for financial services

Stella answers customer questions for an investment platform and a digital bank from one core engine, orchestrated with LangGraph. It handles the questions that come up again and again, taking real volume off the customer service team's plate so they can focus on what actually needs a person. Responses go through automatic checks with a revision step before reaching the customer, with a graceful handoff to a human when the system can't give a safe answer, and personal data is detected and redacted before anything is processed. It searches an internal knowledge base on Azure AI Search and Google Vertex AI, falls back to live web search when that comes up short, streams responses back in real time, and traces every run end-to-end in Langfuse.

LangGraphAzure AI SearchVertex AILangfuseStreamingHuman escalation

Also diagnosed and fixed a production incident where heavy concurrent load could stall chat responses for over a minute. I reworked the streaming pipeline so it holds steady under the same load, with responses starting almost immediately.

Project

Fintech lending integration platform

On a client engagement integrating a lending partner into a fintech platform, I owned the backend: a FastAPI service handling authenticated callback notifications for loan and disbursement events. I built the encrypted document exchange with the partner, and solo-provisioned and ran the self-managed cloud infrastructure end to end.

FastAPISecure integrationsEncrypted document exchangeDigitalOceanNginxMySQL
Project

CVM stage classifier

Before the agent work, I built a deep learning classifier for cervical vertebral maturation (CVM) staging, a method orthodontists read off a neck X-ray to gauge how much skeletal growth a patient has left and decide whether it's the right time for growth-modifying treatment instead of waiting or moving straight to braces. I fine-tuned a ResNet backbone (frozen first, then progressively unfrozen), used L1/L2 regularization to keep it from overfitting on a modest dataset, and added Grad-CAM heatmaps and confidence scores through a Streamlit interface, so a clinician sees which part of the X-ray drove each prediction instead of trusting a black-box number.

PyTorchTransfer learning (ResNet)Fine-tuningL1/L2 regularizationGrad-CAMStreamlit
View project ↗

Stack

Comfortable across managed and self-managed infrastructure

Azure and GCP for managed services, Kubernetes and DigitalOcean VMs for self-managed infrastructure. I switch between AI coding tools often, Claude Code and Codex among them, and have one model judge another's work before it ships. I like closing the agentic loop myself, automating the path from code to shipped, CI/CD included.

Azure App ServiceCosmos DBGCP / Vertex AIKubernetesPostgreSQLLangGraphLangfuseClaude CodeCodexGrok CLIMuse CodeCI/CD
Outside work

Outside of work, I follow macro and policy, and I like puzzling through options and equities. I'm drawn to decentralization for a similar reason: value should move as easily for someone without banking infrastructure as for anyone else. Years of K-dramas and K-pop got me to basic conversational Korean. I've recently picked up video editing, and filter coffee is a daily ritual.