Bad Idea Insurance – Roast & Repair for Your Plans
Inspiration
We've all had that moment where a friend pitches an idea and you just know it's going to be a disaster – but you don't want to crush their dreams. We wanted to create a tool that could humorously highlight the risks in questionable plans while actually providing constructive, actionable advice.
The inspiration came from watching startup failures, bad exam strategies, and impulsive decisions that could've been avoided with a reality check. Why not let AI be the brutally honest friend who roasts your idea and helps you fix it?
What it does
Bad Idea Insurance takes any plan you throw at it – starting a business with broke friends, cramming for an exam, risky relationship moves – and gives you:
- A Hilarious Roast: A comedic disaster simulation showing how things could spectacularly fail
- A Fixed Version: A realistic, step-by-step safer plan
- Risk Analysis: Top 3 risks with concrete mitigation strategies
- Severity Rating: A 1-10 score measuring how cursed your idea is
- Meme-Worthy Tagline: A one-liner capturing the essence of your chaos
- Hall of Fame: Track your most cursed ideas over time
How we built it
We built this with:
- Backend: Express.js server with ES modules for clean, modern JavaScript
- AI Integration: Google's Gemini 2.5 Flash API for natural language processing and humor generation
- Frontend: Pure vanilla HTML/CSS/JS with intentionally chaotic Comic Sans styling, rainbow gradients, and animations
- Architecture: RESTful API design with a single
/api/analyze-planendpoint - Environment Management: dotenv for secure API key storage
Workflow:
- User submits plan
- Express server receives it
- Gemini AI processes with a carefully crafted prompt
- JSON response parsed and validated
- Frontend displays roast and fix in tabbed interface
Challenges we ran into
Gemini Model Compatibility Hell:
Initially triedgemini-2.0-flash→ quota limits
Thengemini-1.5-flash→ 404 errors for v1beta API
Evengemini-prowasn't supported
✅ Solution: Usegemini-2.5-flash(current stable model)JSON Response Consistency:
Gemini sometimes returned markdown code blocks or extra text instead of pure JSON
✅ Solutions:- Strip code fences with regex
- Make prompt extremely explicit about JSON-only output
- Add robust error logging
- Strip code fences with regex
State Management:
Keeping frontend history and Hall of Fame in sync without a database required careful client-side array manipulation and sorting logic
Accomplishments that we're proud of
- It actually works and it's hilarious: The AI genuinely roasts plans in entertaining ways while providing useful advice
- Clean architecture: Separation of concerns between server, AI logic, and frontend
- Resilient error handling: Gracefully handles API failures, quota limits, and malformed responses
- User experience: Funky design matches comedic tone perfectly – pulsing buttons, shake animations, and rainbow gradients
- Zero dependencies on frontend: Pure vanilla JS keeps it lightweight and fast
What we learned
- Prompt engineering is crucial: Small wording changes drastically affected JSON consistency
- API versioning matters: Model names and availability vary significantly across API versions
- Error messages are gold: Detailed logging saved hours of debugging
- Humor + utility = engagement: Users love tools that make them laugh while helping them
- Modern JavaScript is powerful: ES modules, async/await, and fetch make development smooth
What's next for "Bad Idea Insurance"
- Persistent Storage: Add PostgreSQL/MongoDB to save user history across sessions
- User Accounts: Authentication for personalized tracking and social sharing
- More Categories: Dating advice, fitness plans, pet care, DIY projects
- Severity-Based Animations: Increasingly chaotic UI effects for higher severity scores
- Export Features: Generate PDF reports or shareable images of roasts
- Community Voting: Let users vote on the most cursed ideas
- Mobile App: Native iOS/Android versions with push notifications for "Daily Bad Idea"
- API Rate Limiting: Implement proper throttling to manage Gemini API costs
- A/B Testing: Experiment with different roasting styles and tones
Built With
- css3
- express.js
- google-gemini-api
- html5
- javascript
- node.js
Log in or sign up for Devpost to join the conversation.