Personal voice assistant
MUNINN
- Status
- Prototype
- Type
- Personal project
Real MUNINN HUD in the project's own demo mode, with fake data. The interface is in Portuguese.
Problem
Calendar, commands and lookups are scattered across several apps.
Solution
- Answers when called by name and replies by voice
- Checks, creates and changes calendar events
- Reports weather, news and school grades
- Shows the answers on an animated panel on screen
- Hands big requests to the Legion agents
- Starts on its own in the morning and has a monthly spending cap
How it works
- 1
Voice
The microphone is always open. On hearing "Muninn", the panel opens and the request is transcribed.
- 2
Command
The brain understands the request and decides: answer directly, use a tool or call Legion.
- 3
Action
Checks the calendar, the weather or Boletim. Long requests go to a Legion specialist.
- 4
Answer
Speaks the answer with a natural voice and builds a card with the information on screen.
Connections
- LegionBig requests (research, study, deadlines, training) go to Legion; MUNINN speaks the result when it is ready and announces the e-mails sent.
- BoletimReads the grades from Boletim to answer by voice, with a card on screen.
- Habits TrackerSees the app's routine when checking whether a time slot is free.
How it was built
Nothing existed before: I developed MUNINN from scratch. Before any code, I defined how it would be split: a brain that receives requests and decides what to do, the voice that listens and speaks, the screen with the panel, and the wake-up, which starts everything in the morning.
I developed each part separately, with one rule: each part only touches its own folder. The parts talk to each other through messages in a format I defined and wrote down in a document, and each one records its own state for the others to read. An integration step made the four run together for the first time.
Many decisions were mine along the way: swapping fixed commands for an AI that understands what I say, choosing and changing voices until it sounded natural, creating a conversation mode that does not require repeating the name, and setting a spending cap of a few dollars a month. Before showing the code to other people, it went through a security review.
Problems were fixed at the cause, not by guessing: when it opened on its own without being called, I logged every trigger before changing any setting. I also measured the time of each answer and changed the path of simple actions, which became about 2.5 seconds faster.
With the first version done, the second began, with the name MUNINN and the connection to Legion.
Where it stands today
Already works
- Voice conversation in Portuguese, without repeating the name every sentence
- Checks, creates and changes calendar events and warns about clashes
- Weather, news, music and school grades, with a card on screen
- Hands big requests to Legion and speaks the result when ready
- Starts on its own in the morning and respects a monthly spending cap
Still missing or limited
- Listening still fails with the TV on or quiet speech
- Home light control is ready but simulated: the devices are missing
- As a prototype, it runs only on my computer
My part
I had the idea, designed the four-part structure and wrote the script for each part. I tested it with my own voice every day, decided what stayed and what went, and adjusted it until it worked in my routine. I developed the code with AI assistance.

