Selected work · anonymised

Production systems, not prototypes.

We don't publish client names — every engagement runs under NDA. What we can publish: the shape of the problem, what we built, and the numbers it runs at today.

Market listening pipeline for a C2C marketplace

Consumer platform · 12+ data sources · running daily since 2025

A second-hand goods marketplace needed continuous visibility into competitor pricing, user sentiment on short-video platforms, and local regulation changes — previously assembled by hand from screenshots and spreadsheets.

We built a scheduled collector fleet (browser-based and API-based), a deduplication layer keyed on content fingerprints, a classification pipeline, and an internal dashboard with alerting. Duplicate ingestion — the classic failure mode of "pull everything" crawlers — is blocked at the schema level with unique keys and fingerprint checks.

60+sources in production rotation
1,400+records/day through one pipeline
97%+24h fetch success rate, self-healing
0manual reports per week (was ~10)
Stack: Python · Playwright/CDP for login-walled sources · MySQL · scheduled jobs with health monitors · React admin UI

Due-diligence scoring system for an investment firm

Private equity / franchise investment · decision-support tool

An investment team screening dozens of franchise brands per quarter was doing due diligence in spreadsheets: media sentiment, litigation records, store counts, trade-area data — every analyst collected their own version of the truth, and scores had no evidence trail.

We built a data platform that pulls news, short-video mentions, litigation feeds and store-location data into one model, then scores each brand on a rules-based rubric. The house rule we enforced: every score must show its evidence — chart, source list and data provenance for each dimension. Missing data is marked as such, never scored as "good".

6scored dimensions per target, all evidence-linked
~2 days → 10 minper brand first-pass screening
100%of scores traceable to source records
Stack: Python · FastAPI · MySQL · LLM-assisted sentiment classification with rule overrides · React + Ant Design

Enterprise data asset centre with AI Q&A

Technology services company · internal knowledge base

Years of documents — contracts, proposals, meeting notes, images of whiteboards — lived in shared drives nobody searched. The company wanted one place where data is ingested, classified, and askable in natural language.

We delivered an ingestion pipeline (PDF/Word/Excel parsing, image OCR, AI auto-classification into project domains), a structured entry store with tags and permissions, and a retrieval layer. Export operations are fully logged: who took what data out, when, and why.

100k+structured entries managed
~¥0.01per image OCR'd + classified
7document types parsed automatically
Stack: Python · Node · MySQL · Qwen-VL for OCR · embeddings + keyword hybrid retrieval · full audit log

AI visibility (GEO) monitoring across 4 engines

Own infrastructure · productised as the $1,200 GEO audit

Before selling GEO audits we built the instrument: a harness that fires buyer-intent questions at ChatGPT, Perplexity, Gemini and a China-market engine, records whether the brand appears, who owns the slot, and which domains get cited — then tracks movement weekly.

This is the same pipeline that runs the audit product. It answers the only question clients actually have: "why does the AI never mention us — and what changes that, in what order?"

4AI engines polled per question set
25buyer-intent questions per audit
90 daysof sequenced tracking after each audit
Stack: Python · engine APIs + rendering fallbacks · SQLite/MySQL · weekly diff reports

Recognise your problem in one of these?

Tell us what's broken. One paragraph is enough — we'll reply with a scope and a price.

References and deeper case detail available under NDA on request.