Monday, August 10, 2026

ReZon: A Context-Aware Personal AI Assistant Desktop Overlay by Ahmad Basyouni

 Ahmad Basyouni, Verrazzano Class of 2026, completed a major in Engineering Science

My capstone is called ReZon, a personal AI assistant that runs as a small see-through window on top of everything else on your screen. The idea is pretty simple. Instead of leaving your work, opening a chat tab, copy-pasting your code or your chart, and asking a question somewhere else, the assistant comes to you. You press one hotkey and it can see what's on your screen, figure out what app you're in, and either give you a quick answer or do something for you.

It has three modes. Trader Mode watches TradingView and warns me when I switch between stocks, reminding me of rules I set for myself, so I don't make impulsive trades. Coding Mode takes a screenshot of whatever code I'm looking at, reads it, and gives me a short summary, a possible bug, and a fix. Productivity Mode can create calendar events, send iMessages, raise GitHub issues, and make Notion tasks, but only after I click an Approve button. It never does anything on its own.

The whole thing runs on my laptop. The language model (Qwen 2.5 7B) is loaded locally through Ollama, so nothing I'm reading, writing, or trading ever leaves my computer. The system boots up with one command in about 11 seconds, and I check it before every demo with a script that runs 33 tests against all three modes.

My main conclusion was that the AI part was almost never what made things hard. Once the model was warmed up, it gave me good answers in under two seconds. What actually broke the system was the surrounding plumbing. A hardcoded calendar name that didn't exist on my Mac. A screenshot that accidentally captured the assistant's own UI. A retry loop that gave up too early after 61 tries. None of those bugs were about intelligence. They were about details. For an assistant that lives on your screen, the smart part is necessary, but the small interface decisions are what make it feel reliable.

I picked this research area because I was annoyed at myself. I'd be paper trading on TradingView and catch myself about to click Buy on something I already told myself I wouldn't trade, just because the button was sitting right there. And while coding I'd tab over to ChatGPT, paste a function, ask a question, then come back and lose my place. Both problems are the same problem. My apps don't know about my plan, so they let me forget about it. I wanted to build the thing I wished existed for me.

I expected the project to mostly be about AI. Picking the right model, prompting it cleverly. It really wasn't. The hard parts were tiny details. Getting an Electron window to actually float above Fullscreen Chrome on Mac took way more research than I expected. Making sure the screenshot didn't capture my own overlay took an entire afternoon of debugging. AppleScript for Calendar and iMessage was simple to write, but macOS permissions fight you the first few times you run it.

What was easier than I expected was the language model itself. Qwen 2.5 7B running locally was fast enough and accurate enough that I never felt limited by it. What surprised me most was how much one tiny fix mattered. I added a hardcoded fast path that fires a guaranteed sub-second toast on every ticker change, totally separate from the slower AI path. That one design choice is probably what kept my live demo from breaking on stage.

If I keep going on this, the next step is Windows support, because every friend I showed it to asked for it. After that I want to add long-term memory using a vector database, so the assistant remembers preferences across months instead of just sessions.

The biggest thing I'm taking away is that building something for yourself first is a really good way to stay motivated for a whole semester. I learned more from debugging this one project than I did in most of my classes.

No comments:

Post a Comment