01 / built work

Built artifacts

Things I built, tested, and kept inspectable — including the evidence and the parts that are still unfinished.

Published
7
Reading path
question → evidence

02 / lead evidence

Start with the strongest evidence

7 published projects in the workspace.

Support triage result with retrieved cases and a recommended human action
Evidence sheetThe result view keeps the draft, retrieved cases, and next action together.
AI workflow / supportFeatured project

Customer Support RAG Triage Agent

Question

Getting an AI to answer is easy. Knowing what it based the answer on is the interesting part.

I built a support-triage workflow that keeps the retrieved cases, drafted answer, grounding check, and human next step visible.

  • LangGraph
  • Qdrant
  • FastAPI
  • React
Open project
Procurement search page for the official bounded snapshot
Evidence sheetThe search page makes the dataset identity and snapshot boundary visible before a record is opened.
Data / Thai procurementFeatured project

Thai Procurement Intelligence

Question

There is plenty of public data. How do we know where the number on screen came from?

A search and analytics project for Thai procurement data that keeps synthetic demos separate from a bounded, traceable snapshot.

  • FastAPI
  • Next.js
  • Thai NLP
  • PostgreSQL
Open project
RetailGuard Data Platform project visual
Evidence sheet
Data pipeline / qualityFeatured project

RetailGuard Data Platform

Question

Data can look clean at the start. Is it still the same data after it crosses five layers?

A local-first retail pipeline that moves synthetic data through Bronze, Silver, a blocking quality gate, and a warehouse before reporting.

  • PySpark
  • DuckDB
  • Airflow
  • FastAPI
Open project
Thai sentiment prediction dashboard with class probabilities
Evidence sheetThe prediction view keeps the label and uncertainty visible together.
Thai NLP / review routingFeatured project

Thai Review Sentiment Intelligence

Question

If the model can give a label but is unsure, which reviews should go to a person?

A Thai review classifier that treats the label as a starting point and exposes cases that may need human follow-up.

  • Thai NLP
  • scikit-learn
  • FastAPI
  • React
Open project

03 / more artifacts

Other experiments

Not every useful project needs to become a product.

Explainable Cancer Diagnosis project visual
Evidence sheet
Machine learning / explainability

Explainable Cancer Diagnosis

Question

A model can be right. How much can we honestly explain about why?

An educational study of model behavior on the Breast Cancer Wisconsin dataset, with bounded explanations and explicit limits.

  • Python
  • scikit-learn
  • SHAP
  • FastAPI
Open project
Editable receipt extraction review before saving
Evidence sheetThe parsed result stays editable and is not saved until it is confirmed.
Multimodal AI / local app

Receipt AI Expense Tracker

Question

If AI reads a receipt incorrectly, where should a person get the final say?

A local-first expense tracker that lets AI parse a receipt, but waits for a person to review and confirm before saving it.

  • Next.js
  • TypeScript
  • Zod
  • IndexedDB
Open project
Urban mobility data platform overview dashboard
Evidence sheetAn overview reading DuckDB marts through a read-only API.
Data engineering / mobility

Urban Mobility Data Platform

Question

How does one taxi file become a dashboard without letting bad rows quietly through?

A local-first trip-data platform that profiles, validates, models, and serves a small fixture while keeping rejected rows visible.

  • DuckDB
  • dbt
  • FastAPI
  • Dagster
Open project