Persona AI.
Personal AI. Runs on your hardware.
problem
Every popular assistant ships your prompts, voice recordings, and personal context to someone else's GPUs. For people who want an AI that knows them — calendars, notes, conversations — that's a non-starter.
approach
Built Persona AI as four repos that move together. A Python/FastAPI backend on Postgres + pgvector holds memory and powers RAG. A React web client and a Kotlin Android app talk to it over a private tunnel. Voice activation runs on-device — no audio leaves the user's machine. Marketing site on Cloudflare Pages keeps load-times sub-second worldwide.
outcome
Live on my own hardware, shipping weekly. Voice wake-word, chat, memory, and Android client all working. Architecture chosen so a non-technical user could one-day boot it on a $200 mini-PC.
stack rationale
- Self-hosted PostgresLong-term memory must outlive the model. Postgres handles JSON, vectors, and structured records in one place — no vendor lock-in.
- Kotlin (not Flutter / RN)Wake-word and audio streaming need native APIs and tight memory control. Kotlin makes both straightforward.
- Astro for marketingMostly static, zero hydration cost. Cloudflare Pages serves it from the edge. Tiny TTFB, low CO₂.
full stack
- Python
- PostgreSQL
- Docker
- React
- Kotlin
- Astro