Skip to contentSkip to main content

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.

Friday

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

Next.jsReact 19TypeScriptPythonElectronTailwind CSSPostgreSQLDrizzle ORMRedisOllamaGroq APIVercel AI SDKAuth.jsDockerPyQt5shadcn/ui

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

Friday 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.