I build document-intelligence and optimisation systems on Azure, from prototype to production, often as the
only engineer between raw data and a deployed service. I turn ambiguous operational problems into dependable
software.
In Singapore since 2023. Currently in PALO IT’s Innovation Lab, taking client prototypes
to production.
Generative-AI exhibit for URA’s Draft Master Plan 2025, public for ten weeksPress release
Four enterprise document-AI PoCs; the client took the selected one company-wide
Sole engineer on a governed Azure workforce-and-finance platform now in production, replacing
~1 person-day of monthly reconciliation
Enterprise AI, public-sector ML, operations research, internal platforms and a live public product.
Client names appear only where the work was publicly announced.
01
Four document-review pilots; the client took one company-wide
Enterprise client · 4 PoCs · 2025
Built the backend, AI pipelines and Azure foundations for four rapid enterprise document-review PoCs. The
HR-screening pilot cut internship-candidate ranking from half a day to minutes. By design the system only
ranked, with no automated rejections: recruiters reviewed and decided every case. One PoC was selected for
a company-wide rollout and handed to the delivery team. Across the workflows, outputs preserved source text
or page references for verification.
Outcome
Ranking: half a day to minutes (client’s estimate)
Delivery
~2 weeks per PoC
Team
2 engineers · 1 designer
Built with. Python, FastAPI, Azure AI Foundry, Azure OpenAI,
Azure AI Search, Azure AI Document Intelligence and Vision OCR, API Management, Container Apps, Static
Web Apps, Docker and GitHub Actions.
How review stayed verifiable
Backend and AI. Designed FastAPI services and AI pipelines for OCR, parsing,
embeddings, hybrid retrieval and schema-constrained comparison. I also owned API management,
container deployment and CI/CD, while teammates built most React interfaces.
Regulatory comparison. Used exact and fuzzy prefilters before batched LLM
verification.
Evaluation. Built an evaluation set of hand-labelled clause pairs and used it to
compare prefilter precision against LLM-reviewer agreement.
Candidate screening. Removed direct identifiers before model review and tested
ranking sensitivity to candidate order; recruiters made every decision on the ranked shortlist.
Reviewer workflow. Produced annotated PDFs, clause trackers, ranked candidate
reports and Excel exports so reviewers could inspect findings against the source material.
02
Interactive urban visualisations for a national planning exhibition
Urban Redevelopment Authority · public exhibition · 2024–2025
Built the interactive generative-AI exhibit for Enabling Sustainable Growth: Shaping the
Future of Work, part of the public engagement leading up to URA’s Draft Master Plan 2025. Visitors
selected amenities and design features on a tablet and received on-demand visualisations of possible future
business nodes. Launched by the Senior Minister of State for National Development, the exhibition then ran
free to the public at The URA Centre for ten weeks.
Stage
Public exhibition · 24 Oct 2024–3 Jan 2025
Delivery
~10 days to build
Latency
~6 s typical generation · 10 s interaction budget
Built with. Python, state-of-the-art image-generation models, LoRA
fine-tuning, model-based upscaling and a tablet-facing interactive front end.
Style development. Generated several hundred candidate images across keyword
combinations, then trained a LoRA on the images chosen by URA’s architect so live output held one
coherent visual style rather than drifting between visitors.
Latency. Generated at reduced resolution in about six seconds, the floor for the
model and resolution we needed at that quality, then upscaled with a separate model while visitors
moved from the tablet to the display. The full interaction was budgeted at ten seconds.
Constraint. Built in about ten days ahead of a fixed public launch date.
Live support. Supported the installation across its ten-week public run, including
on-site visits to diagnose and fix faults while the exhibition stayed open.
03
Routing waste collection across two countries
Client delivery · Operations Research · 2025
Delivered a waste-collection planning platform in about six weeks for operations across two countries. I
turned inconsistent client workbooks into validated scenarios and delivered a
data-quality assessment that changed the client’s benchmarking plan, identifying the gaps they needed to
close before any comparison with their manual baseline was meaningful. The solver modelled capacity,
service time, shifts, multi-depot pickups and unloads, and returned unserved stops when a scenario was
infeasible. Scenarios were pilot-scale (~40 stops per truck); the solver and data layer were built for
multi-depot fleets and repeat trips.
Delivery
~6 weeks · sole engineer
Model
Multi-depot, shift- and capacity-constrained · two countries
Outcome
Data-quality assessment that changed the client’s benchmarking plan
Built with. Python, FastAPI, Google OR-Tools, React, pandas, OSRM,
Google Routes, Docker and Azure Container Apps.
How routing constraints worked
Solver. Modelled capacity, service time, shifts, depots, unloads and objectives
including time, distance, cost, coverage and profit.
Repeat trips. Represented repeat trips with shift-aware virtual vehicles.
Distance matrices. Supported Haversine, cached OSRM and Google route matrices to
balance road realism, cost, rate limits and offline operation.
Operational workflows. Owned the FastAPI backend and React interface, including
tolerant XLSX/CSV parsing and PDF/XLSX reports.
Forecasting extension. Shipped a moving-average baseline behind a swappable
forecasting interface, so Prophet or XGBoost models can drop in without touching the API.
04
A governed workforce-and-finance data platform replacing monthly reconciliation
Internal production platform · PALO IT · 2026
Built and deployed a governed Azure data platform that synchronises workforce and finance data into
PostgreSQL. It replaced a recurring monthly reconciliation that consumed roughly a person-day across two
teams, ending manual timesheet follow-up and spreadsheet-based billing-exception overrides. Checkpoints,
completeness gates and least-privilege access protect data integrity.
Stage
Internal production
Outcome
~1 person-day of monthly reconciliation removed
Ownership
Sole engineer · ~3 months
Built with. TypeScript, Azure Functions, Durable Functions,
PostgreSQL, Drizzle, Entra ID, Bicep, Power Automate, GitHub Actions OIDC and Azure Monitor.
What production required
Azure ownership. Owned the platform from infrastructure design through production
deployment, provisioning dev and production resource groups, Functions, PostgreSQL, Key Vault and
monitoring with Bicep.
Access control. Entra ID with managed identities and least-privilege role scoping
across runtime and deployment, with access separated by function.
Data reliability. Used Durable Functions to coordinate ten sync domains;
checkpoints and completeness gates allowed interrupted imports to resume safely without treating
partial source data as deletions.
Finance access. Built finance-facing views and role-scoped read APIs that replaced
manual exception calculations, plus an MCP (Model Context Protocol) interface for workforce
queries.
Process improvement. Used the governed data to specify an automated reminder flow
that closed the timesheet gaps driving the monthly rework, implemented in Power Automate by a
colleague.
Development and access. Built a mock API server for the development environment and
kept it in sync with production schemas, with a request-and-approval workflow for access.
Built and now operate a live public platform holding 400+ recipes digitised from scanned documents and
phone photographs. The French-first platform adds English translation, search, a recipe-aware assistant,
nutrition estimates and protected review workflows while keeping most infrastructure within Cloudflare’s
free tiers.
Stage
Live · 400+ published recipes
Operations
Scheduled Dropbox ingestion
Ownership
Sole builder and maintainer
Built with. React, TypeScript, Cloudflare Pages and Functions, D1,
Vectorize, R2, Queues, Gemini, gpt-image-2 and GitHub Actions.
Live French-first recipe gallery and recipe-aware assistantHow the publishing pipeline works
Ingestion. Extracts text or image content and requests structured model output.
Quality controls. Validates provenance and tags, then removes mirrored and
fingerprint
duplicates. Extraction is spot-checked against the scanned originals, and failures are routed to
review rather than published.
Publishing. Rebuilds a deterministic catalogue and records skip reasons and
validation
failures instead of silently publishing.
Asynchronous operations. Uses queued image generation and protected admin routes to
separate long-running and review-sensitive work from the public request path.
Experience
Delivering applied AI and cloud systems since 2023, preceded by analytics internships at Papernest and
Nestlé. Titled Data Scientist; in practice the scope has been end-to-end engineering: pipelines, APIs,
infrastructure and deployment. Much of it sits in document-heavy, finance-adjacent workflows: loan review,
cash-flow forecasting, billing and workforce data.
PALO IT
Singapore
Data Scientist, Innovation Lab
Feb 2025–present (promoted from Junior Data Scientist)
Junior Data Scientist
Mar 2023–Jan 2025
Delivered applied AI systems across document intelligence, optimisation, forecasting and cloud data
platforms, from technical discovery through deployment and handover, primarily on Azure.
Built a self-service Azure Dev Center catalogue for Container Apps, PostgreSQL, Static Web Apps and
AI/RAG services, using Bicep, managed identities, scoped RBAC and GitHub OIDC, so developers and a
designer shipping AI-assisted mockups could provision guarded environments without subscription-level
access.
Delivered on AWS, including Singapore’s Government Commercial Cloud (GCC), under its compliance and
network constraints.
Built and evaluated cash-flow forecasting models in PyTorch, using MLflow for experiment tracking and
model comparison.
Shipped solo and in delivery teams: handed a selected prototype to the team that productised it, and
mentored Innovation Lab engineers.
Translated client needs into technical options and proposals, sizing delivery teams and infrastructure
to the cheapest service that met each engagement’s latency and governance needs: Container Apps rather
than AKS on small projects, pgvector rather than managed search where retrieval latency was not
critical.
Analytics Engineer Intern
Papernest · Barcelona · Feb–Aug 2022
Recovered Google Ads conversion records being silently dropped across BigQuery-based SQL and ETL
pipelines, increasing successful imports by 6%.
Automated campaign alerts and maintained reporting used for weekly spend decisions.
Master Data Analyst Intern
Nestlé Europe · Paris · Jun–Dec 2021
Built an Excel/VBA pricing simulator on SAP and SQL data so commercial teams could test scenarios
independently; also automated recurring data-management work.
Skills
LLM and retrieval
Retrieval evaluation, Azure OpenAI, Azure AI Foundry, Azure AI Search, Document Intelligence and Vision
OCR, hybrid BM25 and vector retrieval, pgvector, semantic reranking, schema-constrained extraction
Optimisation and forecasting
Google OR-Tools vehicle routing, capacity, shift and multi-depot constraints, PyTorch, MLflow, pandas
Cloud and platform
Azure Functions and Durable Functions, Container Apps, API Management, Static Web Apps, Key Vault, Azure
Monitor, Entra ID, Bicep, Docker, GitHub Actions and OIDC, PostgreSQL, Cloudflare Pages and Functions
(Workers), D1, R2, Vectorize, Queues, AWS including GCC
Programming
Python, TypeScript, SQL
Ways of working
Technical discovery, proposal and estimation, cost- and latency-aware service selection, responsible-AI
practices in review workflows, ownership through to production, handover to delivery teams, mentoring
Education and credentials
Diplôme d’ingénieur (Master of Science in Engineering equivalent), Data Science and Optimisation
IMT Atlantique · France · 2019–2023
Combines advanced mathematics with applied machine learning and operations research.
Classes préparatoires aux grandes écoles
Lycée Montaigne · Bordeaux · 2016–2019
Intensive mathematics and physics programme for France’s competitive engineering-school entrance
examinations.
Credential. Microsoft Certified: Azure AI Engineer Associate, 2024
Languages. Client-facing in French (native) and English (professional) · Spanish
(conversational) · Russian (intermediate)
About
Rugby. Played on two Singapore Development League championship teams with XV Gaulois.
Running and strength. Long-distance running and strength training.
Cooking and diving. Digitising my family’s recipes and scuba diving as a PADI Advanced Open
Water Diver.