Data & Applied AI

Nguyên Bảo Lê

Seven years turning game-publishing data into decisions: cost per install cut by 80%, monthly revenue up 30%. Now I build the AI systems that do the same job — answers grounded in your own documents, software that does real work without going off-script, and a measured number behind every claim. Everything below is running, and you can click into it.

Ho Chi Minh City, Vietnam baoln1412@gmail.com LinkedIn Download CV (PDF)
Start here — under two minutes
My experience, presented by the companion agent from the AI Console — narrated, animated and rendered by the engine in section 03. Not a talking head, and not pretending to be one. Every figure in it is on the CV.
Available for contract work

Three things I get hired to do

Available now, full time. Remote from Ho Chi Minh City — a full working day with Asia and Australia, and the whole European morning. Scoped builds, fixed-price audits, ongoing by the month.

Turn your data into decisions

Seven years of it: pipelines over terabytes a day, dashboards people actually open, and churn / LTV / segmentation models pointed at a number someone is accountable for.

−80% average cost per install
+30% monthly game revenue

Stop the AI making things up

Answers grounded in your own documents, a gate that refuses any claim the source does not support, and a test harness that catches a bad prompt change before your customers do.

79% → 93% retrieval accuracy, measured
3,600 decisions in one evaluation

Automate the work without losing control

AI doing real tasks under rules you write: anything forbidden stops and asks a person, work happens on a copy, and nothing goes live until someone has read the change.

8 active projects governed
100+ test modules, TDD
7 years at VNG Corporation30+ game titles terabytes/daySEA market

Run cost is a design constraint, not an afterthought. Everything here runs on a subscription you already pay for or on models running locally — not a per-token bill that grows with your success. That is a measurement habit rather than a preference: benchmark the free option against the paid one and pick on the result. 8.8% word error rate, chosen voice. 79% → 93% retrieval accuracy, measured.

How it usually starts. A fixed-price week: I look at what you have, and you get a written finding at the end of it — what is worth building, what it would take, and what I would not build. That document is yours whether or not we go further.

Ask me about a project → Or read the work below first — it is the argument.
01 — Seven years, paid

Game publishing data, end to end

Data Analyst Specialist at VNG Corporation, publishing mobile games into South East Asia. A layered warehouse on AWS Athena behind 30+ live titles, fed from attribution and game servers and read by the dashboards, weekly briefings and executive reports the business ran on. Machine learning for churn, LTV and segmentation, pointed at spend decisions rather than at a slide.

Cost per install cut by four fifths, proven in a month

The situation. A game launch was acquiring players at about $5 per install. At that price the launch budget buys an audience too small to judge the title on, and every downstream number — retention, revenue per user, payback — is read off a cohort that is not worth reading.

What I did. Ran it as an experiment with a budget split rather than a campaign with an opinion. Two weeks on 20% of a $10,000 budget to test creative, channel and audience against cost per install; two weeks on the remaining 80% to confirm the winner held at volume rather than at sample size.

The result. Cost per install settled between $0.80 and $1.00 for the launch phase, roughly a fifth of where it started — the same money buying about five times the players, on a figure that had already survived a confirmation round.

−80% average cost per install · $5 → $0.80–1.00 per install at launch, before and after · one month

A market review that took months, answered in a fortnight

The situation. Evaluating a game for acquisition meant assembling competitor benchmarks by hand. The review cycle ran for months, which is longer than the window in which a title is available to bid on.

What I did. Built a watcher over the shared request file the product teams already used: it picks up each new request, pulls the benchmark set for that title from Sensor Tower, and writes a finished workbook back. Debounced against sync lag, locked to one machine, with per-row state so a failed row is retried and a done row is never rebuilt.

The result. The review cycle fell from months to one or two weeks, and the benchmark set stopped varying with whoever assembled it. Product teams requested reviews directly instead of queueing.

months → 1–2 weeks market review cycle
SQLAthenaAirflow SparkHadoopPostgreSQL TrinoPower BITableau LookerAppsFlyerSensor Tower
02 — Agent orchestration

AI Console “Desoul Console” on screen

A local control plane that runs one person's whole engineering loop. It is not a research tool with an agent bolted on: research is step one of five. The console crawls and reads, routes each finding to the project it belongs to, turns a goal into an approved plan, then hosts the coding agents itself — streaming their work, holding any call the project's written constitution forbids, and reviewing the diff before it merges. Eight active projects run under it — the two below among them.

STEP 1ReadCrawls sources nightly; an LLM reads each repo and returns a verdict, not a link.
STEP 2RouteEach finding matches a project by that project's own rules, and the rule stays visible.
STEP 3PlanA goal becomes an ordered task list with a role per task. One human approval, in writing.
STEP 4BuildAgents run in-process in a git worktree, under a constitution that can stop them mid-turn.
STEP 5PublishThe artefact leaves the machine — a report, a page, a merged commit.
About a minute, narrated by the console's own companion voice. Client names are pseudonymised at capture time.
1,000+repositories evaluated
140+sources applied to a project
79% → 93%retrieval accuracy, measured
100+test modules, TDD
30k+lines of Python
$0per-token API spend
PythonFastAPIClaude Agent SDK async streaminggit worktrees RAG / retrievalLLM-as-judgeevaluation
03 — Multimodal content

AI Content Generator

A seven-tier applied-AI curriculum authored once and rendered into narrated video, illustrated comics and speech, in English and Vietnamese. Nothing is filmed: HTML and SVG become video, so a re-render costs nothing and never falls behind the source.

About a minute. Every video on this page was produced by this engine.
8.8%word error rate, chosen voice
4speech engines benchmarked
2languages kept in step
$0marginal render cost
PythonFastAPIgenerative media TTSimage generationi18n
04 — Grounded generation

Facebook Content Generator

A scheduled pipeline that collects Vietnamese immigration news into a medallion warehouse, scores each item for relevance, and writes posts grounded in the retrieved article body rather than the headline.

About a minute. Bronze, silver and gold layers, running nightly and unattended.
3,600decisions in one evaluation
12relevance topics tracked
Nightlyunattended runs
PythonDuckDBmedallion groundingscheduled pipelines