Inspiration

To-do apps make you do the organizing: pick a date, pick a priority, fill in a form. Nobody thinks like that. You think "call mom, the report is due Friday, oh and the dentist on Monday, no wait, cancel that."

Most voice assistants want a clean command. We decided the hard problem isn't hearing speech, it's understanding messy speech. So we built an assistant you can talk to the way you'd talk to a friend.

What it does

Vox turns rambling speech into organized action. No forms, no date pickers, no dropdowns.

  • Brain-dump: say four things, cancel one halfway through, and get three clean tasks with real dates.
  • Fuzzy voice edits: "move the video to Thursday and make it urgent" or "delete the dentist thing." Follow-ups like "actually, make it Friday" know what "it" means.
  • Memory: "remember my mom is called Fatima." Later, "I called Fatima" checks off Call mom. You can forget any fact with one click.
  • Meeting notes: records a meeting, then gives the gist, decisions and action items with who owns what. One tap turns yours into tasks.
  • Maps and navigation: "take me to Rabat Ville" gives you a route and in-app navigation with a spoken direction at every turn.
  • Co-pilot and music: while you drive, Vox goes hands-free and chats with you. "Play some music" starts a road mix that quietens whenever Vox speaks.
  • Follow-ups: reminders before and at the time, then "did you do it?" You can answer "I did half, move the rest to tomorrow."
  • Focus and planning: "what should I do now?" picks one task and starts a 25-minute ring. "Plan my exam revision" builds a dated study plan.

It also gives a morning briefing, speaks its replies, and takes speech input in English, French and Arabic.

How we built it

Vox runs on NVIDIA Nemotron 3 through Nebius Token Factory, and each request goes to the right-sized model:

Model Used for Speed
Nemotron 3 Nano everyday commands, questions, briefing, co-pilot chat ~0.5 s
Nemotron 3 Super long brain-dumps, multi-step edits, meeting summaries ~2 s
Nemotron 3 Ultra planning and breaking down big goals ~3.5 s

The model receives your words, your tasks, your memory and a two-week calendar, and answers with a JSON plan of actions. Nothing touches the database until the backend has checked every action.

The backend is FastAPI with SQLite. The frontend is React with Vite, Tailwind and Framer Motion. Speech recognition runs in the browser, so only the recognized text is sent to the backend and the model. Maps use Leaflet and free OpenStreetMap services: Photon for search, OSRM for routes.

Challenges we ran into

  • Small models are fast but bad at calendars. So the model says "friday" and Python works out the date. Briefing facts are computed in code too, and Nano only phrases them.
  • Models sometimes return nothing usable. If Nano fails on a request that should change something, the same request is retried on Super.
  • A voice assistant can destroy your data by mishearing you. Every action is validated, bulk deletes wait for a spoken or clicked yes, and every change takes an undo snapshot first.
  • Speech-to-text mangles Moroccan names. "Rabat Ville" came out as "rabbit ville." We repair names before the model sees them, and built in 45+ Moroccan cities, stations, airports and landmarks.
  • Phones behave differently. Mobile recognition stops at the first pause, and opening the mic for the orb animation left recognition hearing nothing. We had to rework how listening works on phones.

Accomplishments that we're proud of

  • Co-pilot replies arrive in about half a second, fast enough to feel like a conversation.
  • 36 automated tests, plus 10 real-world scenarios run against the live Nemotron models, all passing.
  • It knows Morocco, which general assistants often get wrong.
  • A working live demo you can install on your phone.

What we learned

  • Let code do the math and let the model do the language. That one rule fixed most of our reliability problems.
  • Routing to the smallest model that can do the job matters more for voice than raw model power, because latency decides whether it feels alive.
  • Evals against live models catch problems that unit tests can't.
  • Some of us learned React by building this interface.

What's next for Vox AI

  • Move storage to Postgres. Data on the live demo is temporary for now.
  • Bring the place knowledge and name repair we built for Morocco to more countries.

Built With

Share this project:

Updates

Submission history