12 posts
I Went from 64 to 100/100 on Smithery. Here's Every Fix.
A full walkthrough of every quality dimension that separates a working MCP server from a well-built one — tool descriptions, dot notation naming, annotations, caching, smithery.yaml, and the skill that automates all of it.
15 min
PDF Parsing for Complaint Forms — Docling vs PyMuPDF vs PaddleOCR
A head-to-head ablation of 7 open-source PDF parsers on customer complaint forms — scanned, handwritten, AcroForm, and degraded fax. How each parser internally detects words, where they break, and which to pick for production.
14 min
I Built an AI Wine Deal Finder — Here's What 50 Bottles Taught Me
How I built a wine price comparison tool for Singapore. Amex Platinum gives you S$200 back on wine, but are the base prices actually competitive? I answered that with Selenium scraping, bundle-aware comparisons, Brave-assisted Vivino resolution, and a guarded daily refresh pipeline.
8 min
Building Job Hunter SG - AI Resume Coaching for Singapore
How I built an AI-powered job aggregator and resume coaching platform for the Singapore job market. Nightly crawls from MyCareersFuture and Careers@Gov, a 7-stage resume tailoring pipeline, and 5 validation gates to prevent AI hallucination. Born from a real job search frustration and revived by a friend's conversation about resume building.
10 min
What Mood Is the Market In? An Interactive Guide to HMM Regime Detection
Markets have moods. A Hidden Markov Model reads the volatility regime (calm, normal, or stormy) so you can trade with the weather, not against it. Interactive walkthrough with live visualizations.
10 min
DPO Interactive Demo - Your Language Model is Secretly a Reward Model
Interactive walkthrough of Direct Preference Optimization - how to align LLMs with human preferences using just a classification loss. No reward model, no RL, no PPO. Play with the DPO loss calculator and watch training step by step.
12 min
What I Learned from a Live LLM Serving Gauntlet
19 engineers, 19 A100 GPUs, two hours of Locust fire. I tuned 40+ vLLM configs and scraped peer metrics. Then someone with a 30-line cache proxy beat all of us.
15 min
LLM Inference: The Theory You Need Before Deploying
Prefill vs decode. Why memory bandwidth matters more than FLOPS. VRAM budget math. Quantization methods (GPTQ, AWQ, FP8). Batching strategies. The theory behind every LLM serving decision.
15 min
Visualizing Weak-Driven Learning: An Interactive WMSS Demo
Interactive walkthrough of the WMSS paper — from SFT saturation to logit mixing and gradient amplification. Play with lambda sliders, watch training curves, and understand how weak agents make strong agents stronger.
10 min
How 468 Facial Landmarks Decide If You're Passport-Ready
MediaPipe face mesh, rembg segmentation, 25+ compliance checks, and country-specific rules for 6 countries. Here's how Photo ID Studio decides if your face is passport-worthy.
16 min
How I Built an AI-Powered Stock Market Dashboard
A deep dive into Trader Koo – from using a pre-trained YOLOv8 model to detect chart patterns, to solving the coordinate mapping problem, to running a five-layer detection ensemble every night.
12 min
I Tried to Predict Singapore's Rain and It Humbled Me
Building LionWeather: tropical weather data from 2016 to 2024, LightGBM rainfall forecasting, SHAP explainability, animated radar, and a whole lot of lessons about Singapore weather.
18 min