8
delivery phases
60+
engineering-journal entries
400+
backend tests
40+
API endpoints
5
research prototypes
Skills
Languages
TypeScriptPythonSQLCypher
Frontend
Next.jsReactTailwindTanStack QueryReact Flow
Backend
FastAPISQLAlchemyPydanticLangGraphDBOS
ML / AI
Model routingRAGNLI verificationGLiNERLoRA fine-tuningMLflow / DVC
Data
PostgresRedisMemgraphKùzuDBFAISS
Infra
DockerKustomize / HelmZarfGitHub ActionsOpenTelemetry
What this project taught me
- • Provider-agnosticism is an architecture decision, not a config flag — it has to be enforced (an import-linter contract) or it rots.
- • A verifier that can fail is worth more than a model that’s usually right. Faithfulness checking changed what the product could honestly claim.
- • Eval gates make “we chose not to ship this model” a CI-enforced invariant instead of a footnote.
- • Most “blocked” items weren’t — re-checking the actual environment beat assuming.