DEV Community

Cover image for OVAM AI: A Voice Assistant for My Wife A Realtor
Akin Ajobo
Akin Ajobo

Posted on

OVAM AI: A Voice Assistant for My Wife A Realtor

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

What I Built
My wife runs a real-estate business, and one of the annoying parts of her workflow happens after she talks to a prospect.
She might finish a conversation knowing the person's name, phone number, preferred location, budget, property type, timeline, objections, and payment plans — but then she has to remember everything and manually turn that conversation into a CRM record.
So I built OVAM AI, a voice-first real-estate assistant for her.
Instead of filling out a form, she can simply tell it what happened:
“I just spoke to Sarah. She wants a residential plot around Akobo, Ibadan. Her budget is about 10 million naira and she wants to buy within two months. Her phone number is 08012345678.”

OVAM AI turns that into a structured lead.
She can then correct or add information naturally:
“Actually, her name is Kemi, not Sarah.”

or:
“She can pay 3 million down and the rest over 12 months.”

The assistant updates the existing lead instead of creating a mess of duplicate information.
It also doesn't save automatically.
Once it has enough information, it summarizes what it understood and asks for confirmation. “No” leaves the lead unsaved. “Yes, save it” creates the record.
The goal is simple:
Tell me what happened. I'll handle the CRM.

Demo
Live demo:
https://ovam-ai-fawn.vercel.app
Tap the microphone and talk to OVAM AI like you just finished speaking with a real-estate prospect.
You can also use the typed-note mode if you don't want to use your microphone.

Code
GitHub:
https://github.com/Mistakili/OVAM-ai
The repository contains the React frontend, API routes, Gemma integration, AssemblyAI voice integration, CRM tools, and setup instructions.

How I Built It
The core intelligence behind OVAM AI is Gemma.
I use Gemma to turn natural language into structured CRM information rather than forcing the realtor through a traditional form.
The application is built with:

  • Gemma for lead understanding and structured CRM reasoning
  • AssemblyAI Voice Agent API for real-time speech, transcription, turn detection, and voice responses
  • React + Vite for the frontend
  • Vercel serverless functions for the backend/API layer
  • Tool calling with update_lead and save_lead to modify the CRM state
  • Browser storage for the current lead records The important part is the interaction between the model and the application.

Gemma isn't just generating a conversational response. It can update structured lead state through tools. The system is designed to understand facts in whatever order the realtor provides them, preserve information that is still valid when something is corrected, avoid inventing missing information, and ask only for useful missing details.

Why Does Open Innovation Matter?
For this project, I didn't want the AI model to be a black box that my entire product depended on.
Gemma gives me an open-weight model that I can build around, experiment with, and potentially deploy differently as the product evolves.
That matters because OVAM AI is intended for a real business, not just a demo.
Today, I can use Gemma through an API. Tomorrow, I can experiment with different Gemma variants, deployment strategies, structured outputs, or private inference without having to redesign the entire product around a proprietary model.
More importantly, open innovation makes experimentation accessible.
I'm an independent developer building this for a small real-estate business. I don't have a giant infrastructure team or an enormous AI budget.
Being able to take an open-weight model and turn it into a useful product for someone close to me is exactly the kind of thing I think open innovation should enable.

Prize Categories
Best Use of Gemma
OVAM AI is built around Gemma as its lead-understanding layer.
The model takes messy, natural human conversation and turns it into structured CRM state that the application can act on through tools.
That is the core AI behavior of the product.

Why I Built This
I didn't build another CRM because the world needs another CRM.
I built this because my wife shouldn't have to finish a conversation with a potential buyer and immediately become a data-entry clerk.
She should be able to say:
“Here's what happened.”
And let the software take care of the rest.
Talk → Understand → Structure → Confirm → Save.
That's OVAM AI.

Top comments (0)