Friday
A self-hosted personal AI assistant with a chat web app, voice control, and a native desktop app — all running on your own machine for free.
Overview
Friday is my personal AI assistant — like a mix of ChatGPT and JARVIS. It has a chat web app, a Python voice assistant that listens and controls your PC, and an Electron desktop app that wraps it all into a native Windows app. The whole thing runs on your own machine using free local AI models through Ollama, or a free Groq API key. No subscriptions, no monthly bills.
What I Did
I built everything myself — the Next.js chat UI where you can switch between AI models and save chat history, a Python voice assistant that understands English and Hindi commands and controls apps on your PC, and an Electron wrapper that turns the web app into a real desktop .exe. The whole stack runs with one Docker Compose command.
Tech Stack
Technical Decisions
I used Next.js so the frontend and backend live in one place. PostgreSQL with Drizzle ORM for type-safe, fast database queries. Vercel AI SDK to support multiple AI providers without rewriting anything. Python for voice because it has the best mic and text-to-speech libraries on Windows. Ollama so everything works offline for free. Electron to ship the web app as a desktop app without rebuilding it. Redis for caching so the app stays fast.
Architecture
What I Learned
This is the biggest project I've built. I learned how to connect a lot of different pieces — a web app, a Python voice process, a database, caching, and a desktop shell — and make them work together. I got much better at Next.js streaming, database design, running Python threads for voice without blocking the UI, and packaging a web app as a native desktop app with Electron.