The Problem With Pitching in a Vacuum
Every founder has been there. You rehearse your pitch, it sounds brilliant in your head, you walk into the room and an investor dismantles it in 90 seconds flat.
Not because the idea is bad. Because you never had anyone argue back and fact check you logically, without petty emotions.
PitchFire is that brutal partner.
What It Does
PitchFire is a realtime AI pitch steelmanning agent. You speak your startup pitch and PitchFire challenges you.
The moment you make a weak claim, an unsupported assertion, or a logical gap, PitchFire fires back with a specific, sharp challenge, exactly the way a tough investor would. It drops your conviction score and forces you to defend your position.
When you make a strong claim where one that's specific, defensible, and data backed, PitchFire validates it and scores it up.
At the end of the session, PitchFire generates a battle hardened pitch deck containing only the claims you successfully defended. The weak ones don't make it in.
How It Works
Tap the orb to start speaking. PitchFire listens in real time using Voice Activity Detection.
Interrupt Mode - This is triggered when PitchFire detects inconsistencies and it also detects moments of silent uncertainties.
Full Pitch Mode - 3 seconds of silence before analysis. Speak your entire pitch uninterrupted, then receive a full breakdown of every claim at once.
Every challenge card in the Intel Feed is grouped by pitch segment, so you always know which part of your pitch each challenge belongs to. Each card gives you three options:
- READ - expand the full challenge and evidence
- ▶ LISTEN - hear the challenge spoken aloud via speech synthesis
- ↩ RESPOND - type a direct defense to that specific challenge, which goes back through Gemini for analysis, keeping the conversation anchored to that exact claim
A transcript toggle appears after each segment so you can review exactly what was captured from your voice.
How I Built It
- Gemini 2.5 Flash via the Google GenAI REST API handles all realtime claim analysis. Each pitch segment is transcribed, broken into individual claims, scored for strength, and challenged with specific counterevidence generated by Gemini.
- VAD audio pipeline - the browser captures raw PCM16 at 16kHz via
ScriptProcessorNode, computes RMS volume per buffer to detect voice activity, accumulates chunks during speech, converts to WAV format, and sends to Gemini's multimodal endpoint the moment silence is detected. - WebSocket architecture - a persistent connection between frontend and backend enables real-time card firing and bidirectional communication throughout the session.
- Segment grouping - each pitch segment and its resulting challenge cards are grouped together in the Intel Feed, keeping the conversation context intact across multiple pitch attempts.
- Node.js + Express backend on Railway, Next.js frontend on Railway.
- The conviction score, pitch radar, and battle hardened deck are all driven by Gemini's structured JSON analysis of each claim.
Challenges
Getting Gemini to return consistent structured JSON for every claim across different pitch styles, languages, and levels of coherence required careful prompt engineering. The claim parser needed to handle vague pitches gracefully without hallucinating challenges.
Raw PCM was silently rejected by Gemini's REST API. The fix was wrapping it in a proper WAV container (44-byte header) before base64 encoding a simple change that took hours to find.
What I Learned
The best pitches aren't the most polished ones. They're the ones where the founder has already survived every attack.
What's Next
- Investor persona modes: VC, angel, strategic
- Team practice mode: multiple founders, shared session
- Integration with actual pitch deck tools
Built With
- express.js
- google-gemini-2.5-flash
- google-genai-sdk
- javascript
- next.js
- node.js
- railway
- react
- web-audio-api
- websockets
Log in or sign up for Devpost to join the conversation.