Inspiration
TalkBloom was inspired by a problem I kept noticing: people can be capable, smart, and prepared in one context, then completely freeze or sound awkward in another.
Someone might know their technical skills cold but struggle in a behavioral interview. Someone might know what they feel in a romantic situation but not know how to say it without sounding stiff, vague, or over-eager. The gap is not always intelligence or effort. Sometimes the gap is between what someone means and how they actually comes across.
I wanted to build a tool that helps users see that gap clearly. Not a generic rewrite app. Not a real-time meeting nudger. A structured communication report that helps people understand how they sound in a specific kind of moment.
That became TalkBloom: a scenario-aware communication coach for high-stakes conversations.
What it does
TalkBloom lets users choose a communication scenario, submit text or audio, and receive a structured report on how their response comes across.
The MVP focuses on two scenarios:
- Behavioral interviews
- Romantic conversations
Each scenario uses the same report surface, but a different scoring rubric underneath. That is the core idea of the project: the same person can need different kinds of feedback depending on the moment.
For example, behavioral interview feedback focuses on dimensions like:
- Clarity
- Confidence
- Structure
- Relevance
- Delivery
Romantic feedback focuses on dimensions like:
- Clarity
- Confidence
- Warmth
- Tone Fit
- Flow
After submission, TalkBloom generates:
- An overall score
- A concise summary
- Main dimension scores
- Subdimension breakdowns
- Strengths and weaknesses
- Highlighted excerpts
- Actionable tips
- Rewrite suggestions in three styles: more natural, more confident, and more concise
Audio input is transcription-first. The goal is to support spoken-response practice without trying to build a full speech analytics platform in the MVP.
How I built it
I built TalkBloom as a full-stack Next.js app using TypeScript, React 19, the Next.js App Router, and Tailwind CSS.
The app uses Next.js route handlers for server-side API logic. Those routes handle user submissions, validate inputs with Zod, and call the Google Gemini API for scenario-aware communication analysis and audio transcription.
The report system is built around structured response data, so the UI can render consistent sections for scores, dimensions, subdimensions, highlighted excerpts, and rewrites. I also used localStorage for lightweight report history so users can revisit prior reports without requiring accounts or database setup.
The visual direction was inspired by Big Five-style personality test reports: lots of white space, a quiet report-style layout, vivid colors mainly inside charts, and a diagnostic feel rather than a chatbot interface. I wanted TalkBloom to feel calm, direct, and useful, more like a thoughtful report than another AI chat window.
Challenges I faced
The biggest challenge was scope.
The original idea could have grown into a much larger product with many scenarios, full audio analytics, user accounts, comparison views, saved progress, and live coaching. That would have been too much for the hackathon. I had to cut the project down to the strongest version that could still prove the idea.
The final MVP keeps:
- Two scenarios
- Text input
- Audio transcription
- Scenario-aware scoring
- Report-style feedback
- Rewrite suggestions
And cuts:
- Auth
- User-defined scenarios
- Real-time coaching
- Multi-attempt comparison
- Full waveform-level audio analytics
- Extra scenarios
Another challenge was making the AI feedback feel specific instead of generic. I did not want the app to say vague things like “be more confident” or “improve your tone.” I had to define scenario-specific rubrics so the feedback had a real structure. Romantic confidence is not the same as interview confidence, so the app needed different subdimensions and different coaching language for each context.
A third challenge was the UI. I wanted the report to feel like a diagnostic tool, not a dashboard stuffed with cards. The design went through multiple passes to get closer to a cleaner Big Five-style report layout.
What I learned
This project taught me that planning is not just preparation. It changes the quality of what gets built.
The spec-driven process forced me to make hard decisions before writing too much code. I had to define what TalkBloom was, what it was not, what belonged in the MVP, and what needed to wait. That helped me avoid building a scattered AI wrapper.
I also learned that AI products need strong structure. The model is only one part of the product. The real value comes from the rubric, the user flow, the voice of the feedback, and how clearly the result is presented.
On the technical side, I learned that a single Next.js app with route handlers was enough for this MVP. I originally considered a separate backend, database, and heavier infrastructure, but for the hackathon, a simpler architecture made more sense and helped me ship faster.
What's next
Future versions of TalkBloom could include:
- More scenarios, such as family conflict, networking, presentations, and difficult workplace conversations
- User accounts and saved history across devices
- Progress tracking across multiple attempts
- More advanced audio metrics like filler word counts, speaking rate, and pause detection
- Side-by-side comparison between an original attempt and a revised attempt
- More personalized coaching based on repeated patterns in a user's responses
The long-term vision is for TalkBloom to help people understand how their communication changes across contexts, and to help them become more clear, confident, and self-aware in the moments that matter.
Built With
- docker
- google-gemini-api
- localstorage
- next.js-app-router
- react-19
- tailwind-css
- typescript
- vercel
- zod