Shan Wijenayaka
Contact

Based in Singapore

Shan Wijenayaka.

Lead Engineer. Production AI on low-latency distributed systems. FinTech and regulated environments.

Nine years of software engineering: distributed systems since 2017; generative AI (LLMs, RAG, agents) since 2023. Full stack across voice, vision, and RAG: LangGraph orchestration, MCP tool ecosystems, real-time speech and video pipelines, evaluation pipelines, and the React/Next.js consoles operators use daily, all on AWS.

Open toStaff and lead AI engineering roles in Singapore.Currently focused onProduction LLM evals · multi-agent systems · FinTech and derivatives trading systems.
See the workContactLinkedIn
Work

What I've built.

Four Singapore roles, most recent first. The common thread: low-latency systems where being wrong is expensive.

Sep 2025 to PresentSingapore

Lead AI Engineer

Certis · AI Platform & Security Operations

Leads the 5-engineer team behind the enterprise agentic AI platform; 8 enterprise deployments including a major transport hub; 35% of tier-1 support tickets deflected.

An operational orchestrator for security operations, acting on inputs from voice, vision, and humans in the loop. Manage the 5-engineer team: ran 60+ interviews to build it, and designed the 6-week onboarding curriculum that converts strong backend and data science hires into production-AI engineers. Own the platform's 99.9% SLO; built its call center agent end to end; now in beta handling inquiry and case-management calls ahead of production go-live. RFC/ADR process adopted by two sibling teams; represent the platform on two customer AI steering committees.

  • ·Orchestration core and MCP connectors, built with the team. LangGraph agents with shared state, handoff contracts, and planning loops on Temporal, chosen over event choreography for replayable, compensable writes. First four MCP connectors (ITSM, video management, access control, workforce) delivered as a team, scaling to 14 access-scoped connectors behind one audited interface, with A2A interop. LiteLLM tiered routing: self-hosted vLLM (Qwen fast default, SEA-LION for reasoning-heavy turns) with Claude on Bedrock and OpenAI as managed fallback, for a cost ceiling, data residency, and graceful degradation; one CI/CD pipeline, MLflow lineage.
  • ·Voice AI at concurrency. Duplex SIP/WebRTC through LiveKit with barge-in and Silero VAD, streaming ASR/TTS, and a per-stage latency budget across STT, retrieval, model, and TTS. p95 turn latency 480ms at 60 concurrent sessions; 45k calls/month in English, Mandarin, Malay, and Tamil; 82% containment without human handoff. Inference spend down 28% via continuous batching, KV/prefix caching, AWQ quantization, and Redis-backed semantic caching on the RAG hot path.
  • ·Vision with VLM grounding. YOLO-family detectors (PyTorch) across 240 in-house camera streams on Kafka at 6 sites, TensorRT INT8 at the edge; Qwen3-VL and Gemma 4 26B-A4B-it grounding fires only on detector hits, amortizing VLM cost. Active learning and hard-negative mining cut false positives 63%; operator-confirmed precision 0.91. Vision events enter the agent loop as tools across lost-and-found, hazard recognition, vehicle and parking, and occupancy workflows.
  • ·Operator console, end to end. React/Next.js with streaming output, write-confirmation UX, WebSocket state sync, WebRTC push-to-talk, Playwright e2e. 300+ of ~380 eligible weekly operators; handle time down 22%.
  • ·Safety architecture and incident command. Sandboxed tool execution with egress controls, blast-radius limits, human confirmation, automated rollback on KPI degradation; quarterly red teaming; controls mapped to the IMDA framework ahead of customer audits. Zero unapproved writes; unsafe tool calls down 89%. Incident commander for the platform's only Sev-2; the postmortem set org-standard backoff budgets and a weekly ops review.
  • ·Evaluation and tuning flywheel. Golden sets with ops SMEs, LLM-as-Judge on ~2k weekly episodes in Langfuse, benchmark in CI, per-language WER and latency budgets for voice, canary and interleaved online evals, DPO on operator accept/reject pairs, and a LoRA fine-tune on three months of operator-call recordings that surfaces the right SOP as a call unfolds. Task success 78% to 91%; failure taxonomy maintained on the residual 9%.
LangGraph · Temporal · MCP · LiteLLM · vLLM · Qwen3-VL · Next.js · AWS EKS
Sep 2024 to Sep 2025Singapore

Senior AI and Software Engineer

RegASK · Regulatory Intelligence Platform

Architected and built end to end an LLM document-intelligence platform over a 1M+ document regulatory corpus for financial, trading, and pharmaceutical clients.

Trained a 2-engineer successor team; remained technical advisor through Jan 2026. The platform remains in production.

  • ·Hybrid retrieval with reranking. BM25 + vector with Cohere embeddings in Milvus, Cohere cross-encoder reranking; recall@10 up 18 points over vector-only.
  • ·Structured extraction and knowledge graph. Schema-validated obligation extraction (97% first-pass validity) feeding a regulatory graph used for grounding and cross-document reasoning.
  • ·Analyst application in Next.js. Shaped in direct partnership with regulatory analysts: cited answers, source-span highlighting, feedback capture wired into evaluation. Built end to end, front end to serving.
  • ·Eval-gated deploys. Golden sets, RAGAS, LLM-as-Judge at 89% human agreement, drift and decay monitoring in LangSmith; controls documented against MAS FEAT.
  • ·Reliability and cost. Uptime 99.5% to 99.95%; error rates down ~20%; cloud spend down ~35% with zero SLA regression; Airflow ingestion with dbt.
Milvus · Cohere · RAGAS · LangSmith · Next.js · Airflow · GCP
Feb 2023 to May 2024Singapore

Senior Software Engineer

TP ICAP · Derivatives Trading Systems

Low-latency trade processing at the world's largest interdealer broker, plus the firm's first LLM proof of concept.

  • ·Sub-100ms p95 trade processing. Event-driven Go microservices at ~35k derivatives trades/day with idempotent, replay-safe consumers; maintained the legacy Java/Spring Boot monolith.
  • ·First LLM proof of concept. Detecting trading issues with regulatory and clearing-house impact: RAG over settlement runbooks and break histories, human-in-the-loop review, full audit trail (BDD via Cucumber, Jenkins CI).
  • ·Zero-downtime AWS migration. 12+ services to Kafka/MSK, DynamoDB Streams, and Aurora; multi-venue feed normalisation into consistent event schemas.
  • ·Pre-clearing ML and observability. Anomaly and consistency scoring with explainable flags and a reviewer loop; OpenTelemetry trace-ID correlation, SLI/SLO baselines, Datadog as the main monitoring tool.
Go · Java / Spring Boot · Kafka / MSK · DynamoDB Streams · Aurora PostgreSQL · AWS · OpenTelemetry
Dec 2021 to Feb 2023Singapore

Senior Full-Stack Engineer

Chope · Consumer Dining Platform

Merchant-facing React dashboards plus real-time booking services across APAC; SLAs held through 3x dinner peaks.

  • ·React dashboards and real-time services. Merchant-facing front ends plus availability, booking, and waitlist microservices; WebSocket updates across APAC markets.
  • ·Online experimentation. A/B and interleaving on search ranking and booking flows; two ranking changes shipped on measured lift.
React · Go · WebSocket · AWS
Earlier · 2017 to 2021

Omobio: USSD platform for Robi Bangladesh (~37M subscribers) on telco-scale Java and Python/Django; promoted from Associate. Sysco LABS: Enterprise Menu Platform for CAKE: JanusGraph/Gremlin modeling, Node.js, Go, and Spring Boot with a BFF layer, React. Wiley: learning-platform services and React front ends (reactive Java with Spring Boot WebFlux, Django, Aurora, DynamoDB).

What I build with

What the work runs on.

Everything below is in production today; the role cards above show it in context.

Agents & orchestration

Agent systems that write to live infrastructure, so every layer is audited, replayable, and reversible.

  • LangGraph / LangChain shared state, handoff contracts, planning loops
  • Temporal durable execution, compensable writes
  • MCP access-scoped connectors, one audited interface
  • A2A agent-to-agent interop
  • LiteLLM routing across providers, latency / cost tiers
  • Tool calling Anthropic and OpenAI SDKs, prompt engineering, structured outputs
  • Tool sandboxing egress controls, blast-radius limits, rollback
  • Langfuse / OpenTelemetry agent traces and spans across the tool loop

Inference & retrieval

Latency-tuned LLM serving for voice and chat. The constraint is p95, not throughput.

  • vLLM continuous batching, KV / prefix cache, AWQ
  • Hybrid search BM25 + vector, cross-encoder reranking
  • Milvus / pgvector vector search on the hot path
  • OpenSearch hybrid vector + keyword retrieval
  • Redis cache semantic cache over the RAG hot path
  • Knowledge graphs JanusGraph, cross-document reasoning

Models & providers

Open-weights LLMs self-hosted on vLLM, plus managed inference via Bedrock. Vision-language models paired with detectors; speech in and out in the same loop; fine-tuned with LoRA SFT and DPO.

  • SEA-LION self-hosted on vLLM, reasoning-heavy turns
  • Qwen self-hosted on vLLM
  • Qwen3-VL vision-language reasoning over detector output
  • Gemma 4 26B-A4B-it MoE VLM, gated grounding on detector hits
  • YOLO-family (PyTorch) detection with active learning, TensorRT INT8 at the edge
  • Claude (Bedrock) / OpenAI GPT managed inference in the routing layer, GPT-3.5 onwards
  • GCP Vertex AI working knowledge
  • MERaLiON ASR Singapore-tuned speech recognition
  • Whisper / Google / Cartesia / ElevenLabs speech in and out of the voice loop
  • LiveKit / Silero VAD duplex SIP/WebRTC transport with barge-in
  • LoRA SFT / DPO supervised and preference fine-tuning

Evaluation & governance

Harnesses that catch regressions before production. Models versioned, lineage tracked, rollouts gated.

  • Golden sets / LLM-as-Judge ~2k scored episodes weekly
  • Langfuse / LangSmith / RAGAS / DeepEval tracing and eval tooling
  • Online evals canary and interleaved, drift monitoring
  • Eval gates benchmark in CI, progressive rollout, rollback
  • Lineage MLflow across all providers
  • Governance IMDA framework, AI Verify, MAS FEAT
  • Guardrails Llama Guard, gpt-oss-safeguard, prompt-injection defenses

Full stack & infra

AWS-native substrate; Kafka for ordered events; the operator-facing surface in TypeScript.

  • Python / FastAPI asyncio services on the agent and voice hot path
  • Go / Java (Spring Boot) event-driven microservices at trading scale
  • TypeScript / React / Next.js operator consoles, streaming UX, Playwright e2e
  • WebSocket / SSE / WebRTC real-time state and duplex audio
  • AWS EKS, Aurora, DynamoDB, MSK, Lambda; Bedrock / SageMaker managed inference
  • Docker / Kubernetes / Terraform containerized deploys, infra as code
  • Kafka / MSK ordered event flow with replay
  • Aurora PG / DynamoDB transactional hot path at trading scale
  • OpenTelemetry traces, metrics, alerting
On GitHub

The part I can show you.

My work projects are in private company repos. This graph is personal projects and experiments.

3,460 contributions in the last yearLessMore
@shanwije on GitHub →
Meet Donna · not part of the resumeLIVE

Also: I built the chat on this site.

Built end to end: Next.js and TypeScript front end, streaming SSE chat on a self-hosted model, LinkedIn OAuth gating, prompt-injection and PII guards, per-user rate limiting. It's a small version of the platforms above that anyone can try. Ask her about the work.

No chat SDK behind it; written by hand.
opens the chat · LinkedIn sign-in

Selected credentials.

The short list. The full set is on LinkedIn.

Education
BSc (Hons) Computer Science · University College Dublin, Ireland
2014 to 2018
Get in touch

Tell me what you're building.

A few sentences is enough. Send it below, or find me on LinkedIn.

Prefer to talk? Grab 30 minutes on my calendar.

Goes straight to Shan · reply via email, usually within a day.

or · verifies you're a real person and prefills your name + email.

GitHubgithub.com/shanwijeselected work
Based inSingaporeSGT (UTC+8)
DonnaOpen the chat ↗ask, then route to Shan
Resumevia LinkedIn sign-in