Agatha.AI — Remix demo
A ChatGPT-inspired chat UI and supporting flows, implemented as a learning and portfolio piece. Responses are mock lorem ipsum (no live LLM), which keeps costs predictable and makes the focus product engineering—auth, routing, persistence shape, and tests.
- Demo: wencano.com/agatha.ai/
- Source: github.com/wencano/agatha.ai
Problem
Shipping a credible chat product skeleton requires more than a textarea: accounts, session handling, conversation layout, and quality gates (tests, CI) should be in place before swapping in a real model.
Solution
Full-stack Remix app with TypeScript, Tailwind for UI, Postgres for data, Docker for reproducible dev, Vitest for unit coverage, and Cypress for critical paths. Chat is structured so a future LLM adapter can replace the mock generator without rewriting the shell.
Impact
- Demonstrates end-to-end ownership: from schema and API boundaries to E2E flows.
- Mock responses make demos and screenshots stable for reviewers and recruiters.
Lessons learned
- Swap the model, not the UX: keep message rendering and streaming hooks abstract early.
- E2E + unit together catch regressions in both React trees and server loaders.
- Dockerized Postgres removes “works on my machine” for collaborators.
Tech stack
- Framework: Remix, React, TypeScript
- Styling: Tailwind CSS
- Database: PostgreSQL
- DevOps: Docker
- Testing: Vitest, Cypress
Screenshots
Login

Signup

Home

Chat detail
