I built FRIDAY - Iron Man's AI - but fully offline in C++ from Navsari, Gujarat.
No Python. No internet needed for core features.
I was tired of Python assistants that lag and need internet for everything. So I built one that runs 100% on my laptop.
Tech Stack:
- C++17 - Pure, no external dependencies
- Win32 SAPI 5.4 for voice input/output
- Multithreading for non-blocking speech
- Win32 API for system controls
Features I shipped in v14.0:
- Battery percentage voice report - "Battery at 85 percent"
- Voice time / date / weather
- Opens YouTube / Google with voice - "Open YouTube"
- Wikipedia search + maths solver
- STARK-43 L1-L4 shutdown protocol
- Non-blocking voice - You can interrupt it while it speaks
The hardest part - Non-blocking voice:
SAPI blocks by default. I fixed it with threading and a speech queue.
cpp
// My non-blocking core
void speakAsync(const std::string& text) {
std::thread([text]() {
pVoice->Speak(text.c_str(), 0, NULL);
}).detach();
}
while (true) {
listen();
if (command) speakAsync(response);
}
Top comments (0)