thang.
Side Projects

Ideas shaped into
working systems.

These projects bring together production-oriented engineering and practical language-learning tools. They reflect how I approach real problems, document what I’m learning, and make work available for feedback. I’m always glad to hear from teams, collaborators, and people exploring similar challenges.

Technical

AI · Data · Engineering
6projects
v1.0

RAGOps

An evaluation and release-gate platform for production RAG and agent systems. Compare a candidate against an accepted baseline, detect quality and safety regressions, and produce auditable reports.

AI evaluationRed teamFastAPICI/CD
Open RAGOps
v0.14.17

Proofline

Local-first engineering decision memory for recovering why systems were built a certain way. It preserves immutable source versions and keeps every grounded answer traceable to exact source lines.

Local-firstProvenance Exact citationsSQLite FTS5
Open Proofline
Internal

NamiQuant

A local swing-trading decision-support system for the US, Japanese, and Vietnamese markets. It turns market data into deterministic scores, risk gates, position sizing, portfolio allocation, and an offline dashboard without placing orders.

Quant scoringRisk gates BacktestingPython · React
Internal project · no public demo
Coming soon

KakeFlow

A local-first household finance workspace for macOS and Windows. It turns bank, card, wallet, receipt, spreadsheet, PDF, and securities data into a reconciled ledger and a separate investment portfolio.

Household financeLocal-first ReconciliationTauri · React
Preview KakeFlow
Live

Data Copilot

Ask a question in plain English — no API key — and the browser turns it into real SQL, runs it (DuckDB-WASM), and charts the result. Or drop in your own CSV. Live market data refreshed daily by a GitHub Actions pipeline.

NL→SQLDuckDB-WASM ParquetGitHub Actions
Open Data Copilot
Live

Pipeline Observability

The ELT job behind Data Copilot, instrumented — freshness, per-ticker coverage, and run history. A cron that commits its own telemetry, so you can watch it.

GitHub ActionsObservabilityData quality
Open Pipeline

Language

Japanese · JLPT N1
12apps
Live

Kanji & Collocations

Mixed drill across kanji readings, collocations, and set phrases — three question banks in one quiz flow.

漢字Collocations
Open Kanji + Collocations
Live

JLPT N1 Kanji Analysis

Per-character breakdowns of N1 kanji vocabulary — readings, meanings, and the logic behind each compound, word by word.

漢字Deep dive
Open Kanji Analysis
Live

JLPT N1 Vocabulary Tabs

A tabbed N1 vocabulary reference with verified answers — organized for fast lookup and review across topics.

語彙Reference
Open Vocab Tabs
Live

Vocabulary Exams 2010–2025

Every vocabulary question from the real N1 exams, 2010–2025 — 問題1 through 問題4, compiled into one drillable archive.

過去問2010–2025
Open Exam Vocab
Live

Context Vocabulary

Contextually-defined-word drills from tests 25–66 — all 504 questions of 問題2, with answers.

文脈規定504 questions
Open 問題2
Live

Paraphrase Vocabulary

Paraphrase / synonym drills (言い換え類義) from tests 67–81, plus review sets — pick the closest meaning.

言い換え類義語
Open 問題3
Live

Grammar Flashcards

Flip-card drills for JLPT N1 grammar — progress bar, right/wrong tracking, and a clean flow for fast repetition.

文法Flashcards
Open N1 Flashcards
Live

Grammar Exams 2010–2024

Every grammar question from the real exams, 2010–2024 — organized by year and pattern, with explanations.

過去問2010–2024
Open Grammar
Live

Sentence Ordering

Sentence-ordering drills for JLPT N1 (文の文法② · pick the piece for ★) — 420 questions merged from two sets, each with the correct order, grammar point, and a Vietnamese walkthrough.

文法420 questions
Open N1 文法②
Live

Sentence Ordering Drill

A second sentence-scramble bank for 問題6 — 140 questions with exam and grammar-pattern filters, and a different question pool from 文法②.

並べ替え140 questions
Open Mondai 6 Drill
Live

Reading — 75 Passages

The full 75-passage reading course built around the "anchor word" method — passage, questions, and guided walkthroughs.

読解75 passages
Open 読解 75 bài
Live

Reading Practice

Mid-length passage practice for 問題9 — reading drills with the B1→B4 method and reverse / anchor-word techniques.

読解問題9
Open 問題9