Honeydew Blog
Building a Multimodal AI Family Assistant: Voice, Text, and Photo Recognition Working Together
A founder's perspective on building a multimodal AI family assistant — why voice, text, and photo all converge on one execution pipeline, and the hard problems underneath.
Most "AI" consumer apps accept text input, call an LLM, and return text output. That's a chatbot. Building a multimodal assistant that handles voice, text, and photos — and routes all three through the same orchestration pipeline to produce real actions, not just responses — is a fundamentally different engineering challenge.
I'm Pete Ghiorse, and I've been building Honeydew, an AI family assistant that handles all three input modalities. This is a founder-level perspective on how we think about the system: the design principles, the hard problems, and what we've learned.
This post stays deliberately high level on architecture specifics. The interesting parts for readers are the problems and trade-offs, not the implementation details.
The Three Input Modalities
Honeydew accepts three types of input, and all three converge on the same execution pipeline. The user shouldn't have to think about which modality they're using. They just interact, and the system does the right thing.
Text: The Baseline
Text is the simplest modality, but "simple" doesn't mean trivial when your users are parents managing a household.
Example request: "Create a packing list for camping trip next weekend"
Even this one sentence has to become several things: a classified intent, extracted entities, a resolved date, and enough context about this family (do they camp? how old are the kids? do they already have a list?) for the output to feel personal rather than generic.
From that single sentence, the system produces a structured packing list, ensures the trip is on the calendar, and loops in the relevant family members. The key insight is that "create a packing list" is not a single operation. It's a multi-step workflow. Most apps treat this as a prompt-and-respond pattern. We treat it as a plan-and-execute pattern.
Voice: Where Families Actually Live
Text is the baseline, but voice is where families actually need AI assistance. Your hands are full of groceries. You're driving. A kid is asking you something. You're cooking dinner. The interface that works for these moments is voice, not a keyboard.
Example: Parent says "Add milk to the grocery list" while cooking.
A few principles shape the voice path:
-
Audio is processed as it arrives, not after the user stops talking. The experience of "I finished speaking and something already happened" is foundational.
-
Transcription feeds the same pipeline as text. Once speech becomes text, the downstream system doesn't know or care where it came from. This keeps improvements compounding across modalities instead of being stuck in one lane.
-
Responses stream back incrementally. The user gets an acknowledgement before the full backend work is finished.
Why ~2 seconds is the magic number: Research on voice interface design consistently shows that responses under two seconds feel "instant" to users, while responses over three feel "slow" and over five feel "broken." We budget aggressively to stay in the fast band for the common case. The specific time breakdown is an implementation detail that changes month to month as we optimize.
Photo: The Surprising Power Input
Photo input is the modality that surprises people. You can photograph a handwritten recipe, a school permission slip, a whiteboard with the week's schedule, or a product label, and the system extracts structured data from it.
Example: Parent photographs a handwritten recipe card from grandma.
The photo path does roughly what you'd expect — clean up the image, run it through vision-capable AI to extract text, then do the hard part: turn messy OCR output into structured data the rest of the system can use. "2 cups flour, 1 tsp baking pwd, 3 eggs (lg)" has to become normalized ingredient records, deduplicated against what's already on the grocery list, and organized in a way that's useful at the store.
Photo flows take longer than voice — users expect cameras to take a moment — and that latitude is important, because the structuring step is where the quality difference between "neat demo" and "useful product" actually lives.
The Orchestration Pipeline: Many Tools Working Together
All three modalities converge on the same orchestration layer, and this is where the real architectural complexity lives.
Why Tool Breadth Isn't Marketing Fluff
Our AI agent has a broad catalog of specialized tools spanning calendar operations, list management, family-context knowledge, notifications, cross-device sync, and proactive intelligence. The LLM acts as the planner: given a request and the current context, it decides which tools to invoke, in what order, with what parameters. This is the agentic pattern that distinguishes a real AI assistant from a chatbot.
We're deliberately not publishing the full tool list here. The point worth making is the architectural one: breadth of tools + a strong planner + persistent context is the shape of real agentic products. Sparse tool catalogs produce sparse experiences.
The Planning Phase
When a request arrives, the planner sees the user's input, the current family context, the available tools, and the relevant constraints (time, permissions, conflicts). It produces an execution plan that chains tools together to fulfill the request.
The alternative — hardcoded workflows — doesn't scale. With planner-driven execution, the system can handle requests we never explicitly programmed for.
Tool Execution: Where the Time Goes
Execution is the longest phase, and it's where the most engineering effort goes.
The naive approach is sequential execution. But many steps are independent and can run in parallel — generating a list doesn't have to wait on a calendar write, notifications can queue while task assignments are computed. We run operations through a dependency graph that identifies what can be parallelized and what must be ordered. That's a meaningful chunk of the "why it feels fast" story.
Error handling in the pipeline is where consumer AI products either feel magical or feel broken. Every tool call can fail. Each failure mode needs a graceful degradation path, not a generic error message.
If event creation fails, we still produce the list and tell the user "I created your packing list but couldn't add the calendar event — would you like me to try again?" That's fundamentally different from "Something went wrong."
The Knowledge Graph: Where Context Lives
The persistent context layer is, in my opinion, the most underrated component of any agentic consumer product. Everyone talks about LLMs. Few people talk about the memory that makes an LLM actually useful over time.
What It Stores
Structured relationships about a family: who's in it, what activities recur, what preferences matter (dietary, brand, scheduling), and which patterns repeat ("soccer practice always needs cleats, water bottle, and a snack").
Why Context Beats Generation
When a user says "pack for soccer practice," the ideal system doesn't generate a list from scratch. It remembers what this family packs for soccer practice and returns that. Context retrieval is faster, more accurate, and more personal than cold-start generation. The more the system already knows, the less the LLM has to invent, and inventing is where accuracy and latency both suffer.
This is the difference between an assistant that feels like it knows you and one that feels like it's figuring you out every time. Context persistence is harder to build than generation. It's also what earns retention.
How It Learns
The context layer updates on every interaction — items added, lists corrected, patterns reinforced or broken. This learning is explicit, not creepy: users can see what the system has learned, correct it, and delete it. Transparency about learned patterns is non-negotiable for a family product.
The Hard Problems
I want to spend time on the problems that keep me up at night, because these are the challenges that separate a demo from a product.
Ambiguity Resolution: "Add the Usual"
When a parent says "add the usual to the grocery list," what does "the usual" mean? This is trivially easy for a human family member to understand and genuinely hard for an AI system.
The approach is layered: check for known patterns, look at historical behavior, factor in temporal context (a Monday versus a holiday weekend), and apply a confidence threshold. Above the threshold, act. Below it, ask. The threshold itself is a UX lever — too low and you annoy users with confirmations, too high and you do the wrong thing confidently. Tuning it is ongoing work.
Multi-Family Contexts
Divorced parents with shared custody represent one of the hardest UX challenges in family technology. The same child has two homes, two sets of supplies, two calendars, two grocery lists, and two parents who may not communicate well.
Honeydew handles this through separate family contexts with optional sharing on specific items, custody-aware scheduling, awareness that duplicate items may live in different houses, and a conflict-resolution model that doesn't assume both parents want to coordinate on everything.
The "default parent" problem — where one parent carries the overwhelming majority of coordination burden — is amplified in co-parenting situations. An AI that can independently track context for both households genuinely reduces that burden.
Graceful Degradation
LLMs get things wrong. Any consumer product that pretends otherwise is lying.
Our principles:
- Never execute irreversible actions without confirmation. Deleting, messaging outside the family, making purchases — always approved explicitly.
- Confidence-calibrated behavior. High-confidence actions happen immediately; medium-confidence actions ship with inline undo; low-confidence actions prompt for clarification.
- Transparent reasoning. When the system makes an assumption, it says so.
- Fast recovery. Undo reverses the entire workflow, not just the last step.
Real-Time Sync
When one parent adds milk to the list, the other needs to see it on their phone at the store within seconds. The hard part isn't the sync transport — it's conflict resolution when two family members edit the same list simultaneously. We use a merge strategy that preserves both operations rather than dropping one, because concurrent edits are common in family use.
Offline-First Architecture
Families don't always have reliable internet. You're in a grocery-store basement. You're at a campsite. You're in an area with poor coverage. The app needs to work.
The offline story is: local-first data, offline-capable operations for the common actions, a sync queue for deferred changes, and the same merge approach that handles concurrent edits handling offline-to-online merges. Offline-first adds real architectural cost, but it's non-negotiable for a family product.
A Few Architecture Principles
Streaming matters for voice. Request-response is fine for text. Voice needs incremental feedback — acknowledge, preliminary response, follow-up — or silence makes the product feel broken.
Shared pipelines beat parallel pipelines. We deliberately chose one pipeline downstream of input rather than three. It trades aggressive per-modality optimization for consistency, test surface area, and feature parity. For our workload, that trade is the right one.
Designing for concurrent edits is architectural, not additive. Family lists are a small but real distributed systems problem, and the wrong merge strategy will lose user data quietly. Pick something that preserves intent under concurrency from day one.
Performance in Practice
Real performance is measured as "does the common case feel fast, and do the tail cases stay tolerable?" Across voice, text, and photo, we hit the interaction-design thresholds that keep families in flow — fast for the common command, snappy enough across devices for real-time coordination, and reliable enough offline that users don't lose trust in the app at the moment it matters most. We don't publish exact latency or accuracy numbers — the numbers change as we optimize, and they're not the interesting part of the story.
What's Next
Three areas of active development:
Proactive multimodal output. The system should choose the right output modality for the user's current context — voice when driving, push when at a desk, visual summary when reviewing the week.
Cross-modal context. Photograph a recipe Monday, say "make that for dinner Thursday," and the system should connect the two without friction.
Ambient awareness. Pulling into the grocery store should surface the list without being asked. This is where multimodal AI starts to feel genuinely proactive.
Frequently Asked Questions
How does Honeydew handle voice recognition for kids' names?
We supplement transcription with a per-family custom vocabulary. When you set up family members, their names become part of the transcription context, improving accuracy for statements like "Add Emma's recital to the calendar."
What happens when the AI generates a wrong packing list?
Users can edit any generated list, and those edits feed back into the family's context. If the system suggests something inappropriate and the user removes it, the system learns. Corrections improve generation for that specific family over time.
Does the voice feature work offline?
Voice transcription requires network connectivity. In practice, most voice interactions happen in connected environments (home, car with phone signal), so this is rarely an issue.
How do you handle privacy with photo processing?
Photos are processed for data extraction and then the image data is discarded. We store the extracted structured data, not the original photograph. Photos are never used for model training. Users can see exactly what was extracted and delete it at any time.
Pete Ghiorse is the founder of Honeydew, an AI family assistant, and a Senior PM for AI/ML at Capital One. He writes about applied AI, consumer product engineering, and the intersection of machine learning and family life.
Related Reading
Get Started with Honeydew
Honeydew AI Family Organizer turns voice messages, photos, and plain-English text into organized family plans. Free to start, $7.99/mo for Premium (or $79.99/year).
Download Honeydew on the App Store → | Get Honeydew on Google Play → | Try the web app
About Honeydew AI Family Organizer
Honeydew helps families turn voice notes, photos, school flyers, PDFs, emails, sports schedules, and plain-English requests into shared calendar plans, lists, reminders, and chores across iOS, Android, and web.