Voice-first execution partner and semantic memory hub for solo founders.
Hackathon Submission for HiDevs "Dawn of the Autonomous AI Builder"
Theme: "One Man, An Entire System" — A voice-first digital workspace converting spoken thoughts into structured decisions, tasks, and pattern insights.
- Frontend App (Vercel): https://founder-os-pi-lemon.vercel.app/
- Backend Service (Render): https://founderos-backend-uuuv.onrender.com/
FounderOS captures everything a founder says via voice (integrated with Omi), processes transcripts through specialized AI agents (Lyzr), stores them in a cloud semantic memory (Qdrant), and lets them query their execution history conversationally.
FounderOS features a dark-mode dashboard tailored for visual excellence and high performance, featuring:
- Voice Q&A: Web Speech API voice capture + text-based semantic retrieval.
- Activity Timeline: Filterable feed of Decisions, Tasks, and Ideas with direct status toggles.
- Pattern Insights: Staggered, synthesized breakdowns of recurring themes and work blockages.
- Privacy Controls: Complete control over your semantic database, including granular memory resetting.
┌──────────────┐ ┌───────────────────────────────────────────┐
│ Omi Device │──────▶│ FastAPI Backend │
│ (Voice In) │ POST │ │
│ /api/omi/ │ /api │ ┌─────────────────────────────────────┐ │
│ webhook │ /omi │ │ Lyzr Agent Pipeline (Parallel) │ │
└──────────────┘ /hook │ │ ┌────────────┐ ┌──────────────┐ │ │
│ │ │ Decision │ │ Task │ │ │
│ │ │ Extractor │ │ Extractor │ │ │
│ │ └─────┬──────┘ └──────┬───────┘ │ │
│ │ ┌─────┴──────┐ │ │ │
│ │ │ Idea │ │ │ │
│ │ │ Extractor │ │ │ │
│ │ └─────┬──────┘ │ │ │
│ └────────┼───────────────┼────────────┘ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────┐ │
│ │ Qdrant Vector Database │ │
│ │ decisions│tasks│ideas│patterns │ │
│ └─────────────────────────────────────┘ │
└───────────────────────────────────────────┘
▲
│ REST API (with CORS)
┌─────────────────┴──────────────────────┐
│ React Dashboard (Vite) │
│ Voice Q&A │ Timeline │ Patterns │ Privacy │
└────────────────────────────────────────┘
| Layer | Technology | Purpose |
|---|---|---|
| Voice Capture | Omi | Captures conversational audio & streams completion webhook |
| Agent Orchestration | Lyzr Core API | Orchestrates 4 parallel agents extracting insights from transcripts |
| Vector Memory | Qdrant Cloud | High-performance semantic vector search and metadata retrieval |
| Embeddings | OpenAI | Generates 1536-dimensional embeddings (text-embedding-3-small) |
| Backend API | FastAPI | REST API routing, webhook parsing, and CORS control |
| Frontend UI | React (v19) + Vite | SPA with responsive typography, dark theme, and SVG micro-interactions |
| Guardrails | Enkrypt AI | Inspects outputs for PII and alignment safety |
Create a .env file in the project root containing your secret keys. Both local runs and production web hosts rely on these values:
# ── LYZR AGENTS CONFIG ────────────────────────────────────────────────────────
LYZR_API_KEY=your_lyzr_api_key
# ── OPENAI CONFIG ─────────────────────────────────────────────────────────────
OPENAI_API_KEY=your_openai_api_key
# ── QDRANT VECTOR STORAGE CONFIG ──────────────────────────────────────────────
# Local development default: http://localhost:6333
# Production cloud cluster: https://<cluster-id>.<region>.aws.cloud.qdrant.io
QDRANT_URL=https://your-qdrant-cluster-url.aws.cloud.qdrant.io
QDRANT_API_KEY=your_qdrant_api_key
# ── ENKRYPT AI INTEGRATION (OPTIONAL) ─────────────────────────────────────────
ENKRYPT_API_KEY=your_enkrypt_api_key
# ── BACKEND SECURITY ──────────────────────────────────────────────────────────
# Comma-separated list of allowed CORS origins
CORS_ORIGINS=http://localhost:5173,https://founder-os-pi-lemon.vercel.appBuild and run all services (Qdrant, Backend, and Frontend) in background containers:
docker-compose up -d --build- Frontend:
http://localhost:5173 - Backend Docs:
http://localhost:8000/docs - Qdrant Dashboard:
http://localhost:6333/dashboard
If you wish to run the processes natively:
cd backend
python -m venv .venv
source .venv/bin/activate # Or `.venv\Scripts\activate` on Windows
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000Open a separate terminal window:
cd frontend
npm install
npm run devAccess the application at http://localhost:5173.
Follow these steps to deploy FounderOS to cloud environments.
Render is ideal for hosting the FastAPI backend web service.
- Create Web Service: Link your GitHub repository in Render and create a new Web Service.
- Configure Base Directory: Set the root directory of the build to
backend. - Build & Start Commands:
- Runtime:
Python - Build Command:
pip install -r requirements.txt - Start Command:
uvicorn app.main:app --host 0.0.0.0 --port $PORT(If deploying from the root workspace, configure the build command aspip install -r backend/requirements.txtand start command asuvicorn backend.app.main:app --host 0.0.0.0 --port $PORT)
- Runtime:
- Environment Variables: Add all environment variables listed in the configuration section (e.g.
LYZR_API_KEY,OPENAI_API_KEY,QDRANT_URL,QDRANT_API_KEY, andCORS_ORIGINS). Make sureCORS_ORIGINSincludes your production Vercel frontend URL. - Verify Endpoint: Check Render's health endpoint:
https://your-service.onrender.com/api/health.
Vercel is perfect for serving the Vite React frontend.
- Create Project: Import your GitHub repository in Vercel.
- Configure Folder: Set the Root Directory of the project to
frontend. - Build & Output settings: Vercel automatically detects the Vite template.
- Framework Preset:
Vite - Build Command:
npm run build - Output Directory:
dist
- Framework Preset:
- Environment Variables: Add the following variable to configure routing:
VITE_API_URL: Set to your production Render URL (e.g.,https://founderos-backend-uuuv.onrender.com).
- SPA Redirect Routing: Vercel utilizes the local vercel.json configuration inside the
frontendfolder to rewrite all client paths toindex.html, ensuring clean browser history navigation.
For real-time voice logging via the Omi audio device:
- Expose Localhost (Development): Expose your local backend using
ngrok:ngrok http 8000
- Register URL (Developer Portal): In the Omi developer dashboard, register your webhook endpoint:
- Webhook URL:
https://your-subdomain.ngrok-free.app/api/omi/webhook(or your production Render url:https://your-backend.onrender.com/api/omi/webhook) - Subscribe Events:
conversation.completed
- Webhook URL:
- Action Flow: When you speak and finish a conversation, Omi sends the audio transcript to the webhook. FounderOS extracts decisions/tasks/ideas in the background, updating your dashboard timeline automatically.
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/omi/webhook |
Receives Omi transcripts, runs parallel agents, and saves results to Qdrant |
| POST | /api/query |
Queries semantic memory with voice/text inputs |
| GET | /api/timeline |
Browses all Decisions, Tasks, Ideas, and Patterns with filters |
| POST | /api/digest |
Generates weekly pattern digest analysis of recent logs |
| GET | /api/collections |
Counts entries across all active Qdrant databases |
| PUT | /api/entries/{collection}/{id} |
Updates metadata of a specific entry (e.g. task done status) |
| DELETE | /api/entries/{collection}/{id} |
Deletes a specific entry from Qdrant memory |
| DELETE | /api/collections/{name} |
Clears all points in a collection (Resets database) |
| GET | /api/health |
Service health status check |
Developed for the HiDevs "Dawn of the Autonomous AI Builder" Hackathon. All rights reserved.