This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built FriendOS, a little AI thinking partner that answers one question: "What should I do next?"
I built it for a friend who is always one deadline away from panic.
She isn't lazy, and she isn't unorganized in the way people usually mean it. Her problem is that everything arrives at once. An assignment is due today. A message needs a reply. Something needs buying. Her room needs cleaning. And all of it is in her head at the same time, loud and tangled.
When that happens, she freezes. Not because she doesn't know what the tasks are, but because she doesn't know which one to start, or where to start with it.
Then comes the second problem. To actually do anything, she bounces between five or six places at once: a search tab for one thing, her email for another, a shopping site, a notes app, an AI chat, a study page. Nothing is connected. Every task needs its own hunt for the right resource, and by the time she's found it, she's lost the thread and the panic is worse than before.
A normal to-do app didn't help her. It gave her more information when she needed less thinking. So I built something different.
FriendOS skips the forms. You brain-dump everything, by typing or by speaking:
"I need to submit my assignment today, finish two sections, clean my room this weekend, and buy a charger because mine is damaged."
FriendOS turns that into:
- 🔥 DO NOW
- 🌼 DO SOON
- 🌿 CAN WAIT
- ⏱️ NEXT 30 MINUTES: one to three small, realistic steps
Then it helps her actually start, so she doesn't have to go hunting. Each task comes with a first move: a shopping task opens a search, an email task builds a prompt and opens Gmail, a study or writing task generates a breakdown prompt and opens an AI assistant. Instead of juggling tabs, she gets one place that says do this, start here.
The most important rule is that FriendOS only works with what you actually tell it. My first version kept adding things like "research potential topics for future assignments" that nobody asked for. For someone who is already overwhelmed, a planner that invents more work is the last thing she needs. So FriendOS never invents tasks or deadlines.
It works in English, Hindi, Punjabi, and Hinglish, because my friend doesn't think in only one language.
Demo
🔗 Live app: https://friendos-rizl.onrender.com/
Try this brain dump:
I need to submit my assignment to my professor today. I still need to finish two sections. I also need to clean my room this weekend. I want to buy a new charger because mine is damaged.
Code
FriendOS 🌼
Your little thinking partner. It answers one question: "What should I do next?"
FriendOS turns a messy brain dump into a calm, realistic priority plan, then tells you exactly what small step to take in the next 30 minutes. It only works with what you actually tell it. It does not invent tasks or deadlines.
Demo: https://friendos-rizl.onrender.com/ Code: https://github.com/KomalDeep355/FriendOS
Why I built it
I built FriendOS for a friend who always has too many things to keep track of: assignments, errands, things to buy, things to clean. They didn't need another productivity dashboard. They already knew what was on their plate. The hard part was deciding which thing to do right now.
The problem isn't a lack of organization. It's decision overload.
Too many things in my head
↓
Brain dump instead of forms
↓
AI prioritization instead of manual sorting
↓
NEXT 30 MINUTES instead of…How I Built It
Text or microphone
↓
FastAPI → ElevenLabs Scribe v2 (voice only)
↓
FastAPI /api/organize
↓
Open-weight Llama
↓
Strict JSON → validation → plan
↓
DO NOW / DO SOON / CAN WAIT / NEXT 30 → contextual action
-
Frontend: plain HTML, CSS, and JavaScript, with a calm, cozy, Pinterest-style board look. Task completion is saved in
localStorage, so there's no database. - Backend: Python and FastAPI.
-
AI: an open-weight Llama model, called through an OpenAI-compatible chat endpoint. Locally I ran it with Ollama (
llama3.2:3b). For the public demo I point the same code at a hosted Llama endpoint, so anyone can try it without installing anything. Switching is two environment variables. -
Voice: the browser records audio with
MediaRecorder, FastAPI sends it to ElevenLabs Scribe v2, and the transcript goes straight into the planning pipeline. This is voice input only. FriendOS doesn't speak back. - Hosting: Render.
Making a small model behave. The system prompt tells the model never to invent tasks, deadlines, or events, never to duplicate tasks, not to force tasks into categories, and to keep NEXT 30 realistic. I don't trust the prompt alone, though. A normalization layer in the backend strips markdown fences, fills missing fields, removes empty and duplicate tasks, and drops any NEXT 30 item that points to a task that doesn't exist. That combination is what stopped the made-up tasks.
I deliberately left out auth, a database, React, RAG, and multi-agent setups. I wanted something small enough to actually finish and put in front of my friend.
Why Does Open Innovation Matter?
FriendOS is a very personal tool. People paste their half-formed worries and deadlines into it. An open-weight model made it possible to build around that.
- Control over the experience. Because I could shape the model's behavior through prompting and then validate its output, I could fix the exact problem my friend would have noticed: the planner inventing work.
- Privacy is a real option. With Ollama, the whole intelligence layer can run on your own machine, so your brain dump doesn't have to go to anyone's server. (The public demo uses a hosted Llama endpoint for convenience, and voice uses ElevenLabs, so I'm not claiming the live demo is fully local.)
- No lock-in, and cost stays low. Because the model sits behind a standard API shape, I could develop for free locally and then switch to a hosted open-weight endpoint for deployment without rewriting the app. A solo developer building for one friend shouldn't need a paid proprietary API to get started.
Prize Categories
Best Use of ElevenLabs. FriendOS takes voice input: you tap the mic and speak your brain dump, and ElevenLabs Scribe v2 transcribes it. The transcript goes straight into the Llama planning pipeline, so the plan appears without typing. This fits the category's "transcribe audio for a language model" use. FriendOS uses voice input only, not voice output.
Best Use of Render. The FastAPI backend and the frontend are deployed on Render, which serves the live demo.
Top comments (0)