Regulatory CDM & lineage platform Flagship
Central-bank reporting, source to submitted form
Goal
Prove that every field of every regulatory form can be traced back to a source column through an approved, auditable chain — and keep that guarantee automated as the model grows.
Approach
- Canonical data model over the full regulatory form set, with transformation rules carrying explicit atomic steps and ready-to-review SQL prototypes.
- Acceptance built as gates rather than opinion: terminal reachability, business-approval coverage, ambiguity resolution, plus nine extended semantic checks (temporal consistency, aggregation grain, cross-form reconciliation, silent-override and default-inflation detection).
- Physical layer with 100% comment coverage, distribution documented per table, and an idempotent installer that renders any script into a repeatable form and proves it by two live runs plus catalog diff.
- Append-only audit trail with hash-chained records, so evidence cannot be quietly rewritten.
Value
A reporting model that can answer an auditor's question mechanically — which rule produced this figure, from which source, approved by whom — instead of by manual archaeology.
191
regulatory forms covered
1,098
transformation rules
13,388
field bindings, all approved
1,918
tables / 44,474 columns commented
PostgreSQL 16GreenplumPythonAirflowNeo4j / OpenLineage exports
Marketplace seller copilot
Diagnostics and actions for e-commerce listings
Goal
Give a marketplace seller a diagnosis of their listing plus concrete actions, rather than generic AI copywriting.
Approach
- Mobile-first PWA over a provider-agnostic LLM backend; prompt, response validator, API specification and evals changed as one unit — a drift between them is treated as a defect.
- Evaluation contour beyond assertions: fixtures for stable inputs, deterministic baselines and inputs that must be rejected, plus content-quality guards for language, placeholder text and category coherence.
- Operator surface with budget hard-stops before provider calls, logging sanitation and rollout readiness that only trusts a full verification run.
Value
LLM output became reviewable engineering: regressions are locked by tests, and release readiness is a measured state rather than a feeling.
29
defect-locking regression smokes
Node.jsPWAAnthropic APIOllamaJSON contracts
Vertical video generator for real estate
Photos and facts to a finished reel
Goal
Turn a handful of property photos and facts into a publishable vertical video with script and subtitles, with no paid API in the MVP path.
Approach
- Contracts-first delivery: every interface versioned as schema plus golden fixture plus a fixture that must fail, with a dependency-free validator reused by the layer above it.
- Event-stream contract fixed by sequence fixtures, including terminal replay on reconnect and an out-of-order event that must be rejected.
- Promotion fence for canonical documents: source path, decision id and content hash in the header, edits only through a new version.
Value
A media pipeline where the boundary between components is enforced by tests, so a backend change cannot silently break the renderer.
0
paid APIs in the MVP path
Next.jsTypeScriptffmpeglocal TTSOllama / Qwen
Operations assistant for regulated SMB
Documents, requests and contracts with a human gate
Goal
Put retrieval-augmented answering into back-office operations where a wrong answer has legal cost, so the assistant must be provably grounded.
Approach
- Retrieval evaluated by a deterministic offline gate on an isolated corpus: source hit rate, citation precision, groundedness and a fail-closed answer when the corpus does not contain the fact.
- Every external connector ships as adapter plus mock, with live mode behind explicit flags and read access separated from write access.
- Each mutating endpoint has a read-only pre-flight twin that reveals blockers before side effects; dual approval and requester-approver separation for high-risk actions.
Value
An assistant that says "not found" instead of inventing, and a rollout path where enabling real integrations is a deliberate, reversible switch.
fail-closed
unknown-answer policy
read ≠ write
adapter permission model
PythonFastAPIpgvectorRAG evalsPrometheus
Integration hub: identity, payments, LLM channel
One contract, providers behind adapters
Goal
Stop rewriting integrations per project: expose one stable interface per domain and hide the provider and the jurisdiction behind it.
Approach
- Identity as a single provider interface normalizing six live providers, with the protocol quirks of each documented rather than discovered twice.
- Unified LLM channel with free and paid tiers, model-array fallback handled by the gateway, zero-retention flags and a demo mode that works with no key at all.
- Payment and billing domains split by jurisdiction behind the same contract, so a project chooses a zone instead of a vendor.
Value
Adding a provider or a country stopped touching product code, and every consumer degrades gracefully instead of failing when a key is absent.
6
identity providers verified live
2
jurisdiction zones behind one contract
PythonFastAPIOAuth2 / PKCEOpenRouterKeycloak
OCR / vision scoring service
Screenshots to a priced valuation
Goal
Read structured facts off user screenshots and turn them into a defensible price, with no hand-waved coefficients.
Approach
- Three recognition engines behind one record contract with automatic fallback, so the engine can change without touching the frontend.
- Cost control and reproducibility: expensive vision calls cached by image hash, low-confidence values routed to review instead of being written.
- Pricing calibrated by non-negative least squares against actual sales rather than intuition, with a golden set guarding every runtime change.
Value
Recognition accuracy and price quality became measurable, and the strict mode means the service never silently invents a value it could not read.
R² 0.42 → 0.82
price model after calibration
100%
golden-set classification
FastAPIEasyOCRCLIPVision LLMSciPySQLite
Legaltech mobile app
Citizen document workflows
Goal
Walk a non-lawyer from a life situation to a correctly filled document package they can actually submit.
Approach
- Situation catalogue with questionnaire-driven document generation, evidence hub and case tracking, content shipped as versioned data bundles rather than hard-coded screens.
- Personal-data compliance built in: consent flow, local PIN lock, revoke-and-delete path.
- Payment channel abstracted behind one purchase interface, with an unavailable-channel fallback so an unsupported store degrades instead of crashing.
Value
Content and monetization can change per market without touching the UI layer, and the build stays green when a payment provider is unavailable.
Flutter / DartJSON content bundlesPDF / DOCX generation
Engineering knowledge system for AI agents
Distilled standards that agents actually follow
Goal
Stop re-explaining project standards to AI assistants: encode each domain's conventions, traps and acceptance checklists once, in a form an agent loads automatically.
Approach
- Twenty-nine skills distilled from real repositories and incident registers, grouped by prefix — warehouse, per-client standards, product domains, cross-cutting discipline.
- Single-source discipline: canonical copies, generated HTML catalogue, mirror synchronization and a re-tiling tool so a shared block cannot drift between copies.
- Every skill carries the reason it exists and the acceptance checklist, so its guidance is auditable rather than folklore.
Value
Onboarding a new engagement or agent takes minutes: the standard, the known traps and the definition of done arrive together.
1
source of truth per rule
MarkdownPythonClaude CodeGit
Media claim-analytics & accountability pipeline
A video channel's transcripts into a fact-checked, calibrated map of its claims
Goal
Convert thousands of hours of a media channel's video output into a structured, falsifiable record of what it asserted and whether the assertions held up.
Approach
- Built an end-to-end ingest pipeline (yt-dlp with a Whisper fallback) that harvested and cleaned 927 transcripts and auto-tagged them across 42 concept topics in 13 categories.
- Engineered a hybrid regex-plus-LLM extraction layer that mined 1,054 falsifiable claims and 101 self-reversals, then adjudicated a dated sample into evidence-sourced TRUE / PARTIAL / FALSE verdicts.
- Added an ML calibration and trend layer (embeddings + scikit-learn) that tuned the ranking model to Spearman rho 0.70 and shipped a standalone zero-backend HTML dashboard.
Value
Compresses an unstructured firehose of video content into an auditable, evidence-linked accountability record a non-technical reader can explore offline.
927
transcripts ingested & tagged
1,054
claims auto-extracted (regex + LLM)
101
predictions adjudicated to verdicts
0.70
Spearman ρ, calibrated model
Pythonyt-dlpsentence-transformersscikit-learnLLM extractionstandalone HTML/JS
FX market-data analytics & correlation engine
Cross-market correlation and insight engine over 26 years of FX, macro and geopolitical data
Goal
Turn 26 years of raw FX, macro and geopolitical data into an explainable, statistically honest view of what actually moves each currency pair.
Approach
- Built a multi-source ingestion pipeline: 26 years of M1 price history for 66 FX and index/commodity instruments (resampled M1 → MN) plus macro series from FRED, ECB, US Treasury and Google Trends.
- Engineered a cross-market correlation engine (14×14 pair matrix and a 78-instrument daily matrix with PCA/factor decomposition, event-study and Granger tests) to rank the real drivers of each pair across 567 geopolitical and ~89K macro-calendar events.
- Wrote a narrative/insight engine that auto-generates plain-language explanations per pair (regime, sentiment, technicals, macro) and served charts, analytics and insights through Flask dashboards.
Value
A reproducible analytics platform that isolates genuine cross-market drivers from noise via factor control, multiple-comparison correction and selection-bias checks.
26 yrs
FX + macro history (2000–2026)
66
instruments (52 FX + 14 index/cmdty)
89K
macro + 567 geopolitical events
14×14
cross-pair correlation matrix
Pythonpandas / NumPyFlaskyfinanceFRED / ECB / Treasury APIs
Project knowledge base with deterministic RAG
Ask the project's own prose, get a file-and-line address instead of a hallucination
Goal
Make search over a project's accumulated prose — Markdown analyses, SQL, journals, code — deterministic and citable rather than a hallucinated paraphrase.
Approach
- Layered retrieval as a ladder — relational metadata for structural questions, then chunk-plus-LIKE search over an addressable chunk store (file / section / line), and a vector layer added only on top when a real chatbot needs it.
- Chunked by semantic boundaries (Markdown by heading, SQL by object, journals per record, code by function); every chunk is self-contained and the reload is idempotent, with per-table assert counts against the sources.
- Hardened the load path against real traps: a control-byte / NUL sanitizer before escaping, client-side case-folding for Cyrillic search, and a "known-garbage returns zero rows" acceptance smoke.
Value
Answers cite file, section and line instead of being recalled; the vector layer stays a recall stage over a deterministic ground truth, never a replacement for it.
1,504
chunks in the production store
4
retrieval layers, escalated on demand
file+line
address on every chunk
PostgreSQL 16Pythonpsycopg2SQL LIKE / FTSembeddings (pgvector)