Work
Case studies in architecture, technical leadership and product.
-
Talonaria: a multi-tenant ERP for Colombian small businesses
In many Colombian small businesses, the books don't match the business. Talonaria is a multi-tenant ERP where every money operation creates its journal entry in the same transaction.
- Next.js
- TypeScript
- PostgreSQL
- Prisma
- Jotai
91data models~300HTTP endpoints1,138test cases -
An app for practicing English every day
A personal app for practicing the Present Simple with real exercises, sentence-by-sentence AI feedback and an engine that picks what to practice based on mistakes.
- React
- Vite
- Tailwind
- Node.js
- tRPC
131automated tests29tRPC procedures19data models -
Two AIs talking to each other
Two language models left to talk on their own get stuck offering each other help. eco-loop is a lab for measuring when that happens and what breaks it: 195 replicated trials for $1.02.
- Python
- JavaScript
- Ollama
- OpenRouter
195trials in Lab 0254 → 68 %originality when given a human role0 of 63trials with “how can I help you?” when the seed is a dream -
Simplifying an architecture that grew by accumulation
A system that had grown piece by piece over the years. I built an inventory and prepared costed options so that simplifying it became a decision that could be evaluated.
- TypeScript
- Next.js
- Python
—Technical Lead → Technical Product Owner · inventory and architecture proposal -
A static site generator of my own
Understanding how a static site generator works inside by building one: a single dependency, used only by the dev server, and no client-side runtime. It doesn't compete with Astro; this portfolio runs on it.
- Node.js
- JavaScript
1dependency (for `dev` only)0client-side runtime55tests with `node --test` -
An AI coding assistant adapted to the team's way of working
A coding assistant that starts from the team's context, with specialized roles, written conventions and human verification before changes land.
- TypeScript
- Node.js
- React
- LLM APIs
—Technical Lead · design and implementation -
A configurable flow engine for data integrations
Every data integration was solved with custom code. I designed a configurable flow engine so the people who know the data can build flows without going through engineering.
- Python
- FastAPI
- React
- PostgreSQL
—Technical Lead · engine and preview design -
A local pipeline for talking avatars
Testing whether short videos of fictional AI characters speaking Spanish can be produced mostly with open models on a Mac, renting a GPU or an API only for the video.
- Python
- uv
- Chatterbox
- Whisper
- mflux
4fictional characters defined40scripts written1.2 minto generate a 30 s clip through the API -
Document management with permissions and traceability
I worked on the document manager of a clinical trial platform, where every file has to be clear about who can see it and every action is recorded.
- TypeScript
- Node.js
- React
- PostgreSQL
—Technical Lead · permission model and file uploads -
Per-project configurable dashboards
Dashboards were hand-coded one by one. We replaced them with an engine where a dashboard is configuration and the data is resolved on the server.
- TypeScript
- React
- Node.js
- PostgreSQL
—Technical Lead · solution design, data flow and engine foundation -
A terminal agent on local models
An agent that runs in my terminal on a local Ollama model. I first wrote it in Python; the next day I turned it into a thin layer over a fork of pi, an MIT project by earendil-works.
- Python
- TypeScript
- Node.js
- Ollama
- OpenRouter
1,395lines of Python in the first version14tools in the Python version11cases in the tool-use evaluation -
A proposal for adding AI to a platform in a regulated environment
The platform had no AI features and handles sensitive data. I wrote a proposal to integrate AI with privacy as the starting point and validated it with a prototype.
- TypeScript
- Node.js
- React
- LLM APIs
—Technical Lead / Technical Product Owner · integration proposal and prototype -
Electronic signatures with verifiable evidence
I worked on the signature workflows of the document manager, which end in a document with evidence of who signed and a way to verify it later.
- TypeScript
- Node.js
- React
- PostgreSQL
—Technical Lead · workflow orchestration, evidence generation and document signing -
The version history I rebuilt three times
Publishing on a static blog meant commit, push and build. The fix was a self-built CMS; its hard part, the version history, took three attempts.
- Astro
- TypeScript
- PostgreSQL
- Cloudflare R2
- Milkdown
3attempts before the diff worked0third-party analytics dependencies -
Forms defined by configuration
Every form was a hand-written screen. For the modules that change most between projects, the form became a schema the frontend renders and the backend validates.
- TypeScript
- React
- Node.js
- PostgreSQL
—Technical Lead · shared form builder, conditional logic and integrations -
Tracking screens from configuration
Every tracking screen was built by hand. I designed an approach where a generic grid and service serve these screens from configuration.
- TypeScript
- React
- Next.js
- PostgreSQL
—Technical Lead · design and implementation -
Real-time planning poker
A planning poker app for team estimation: rooms joined by code, votes hidden until the host reveals them, and rejoining after a dropped connection.
- NestJS
- Socket.IO
- SQLite
- React
- Zustand
7commits8client → server events~2.8klines of TypeScript -
A command-line tool for the local environment
Running the platform locally meant many manual steps. I built a command-line tool that clones, configures, diagnoses and starts the environment through a wizard.
- TypeScript
- Node.js
- Bash
—Technical Lead · tool design and implementation