This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine
What I Built
A spooky AI-powered idea pre-mortem tool. Submit an app or startup idea and let your locally running model challenge its assumptions and decide whether your idea survives!
How it works:
- Describe your idea in detail
- Gemma evaluates a structured framework of 6 viability dimensions through Ollama
- Receive structured output and a weighted score out of 100
- Your idea either receives the verdict SLAY or SPARE (0–59 → SLAY: rethink the idea, 60–100 → SPARE: worth validating)
- Receive feedback on your idea, suggestions for improvements and one practical experiment to carry your idea forward
- Revise your idea or submit another
Demo
Code
JulienAvezou
/
idea-guillotine
DEV Hacktoberfest Project
The Idea Guillotine
Kill bad ideas before they kill your time.
A theatrical, Halloween-inspired idea pre-mortem. Submit an app or startup idea, let a locally running Gemma model challenge its assumptions, and receive one of two verdicts: SLAY or SPARE. No accounts, database, analytics, payments, web search, or external AI APIs.
This tool is not predicting whether a business will succeed. It performs a structured AI-assisted pre-mortem to challenge assumptions before you invest significant time building. A SPARE means “continue validating,” not “this will work.”
Screenshots
The hearing · SLAY verdict · Mobile verdict · SPARE verdict
How it works
- Describe your idea and, optionally, its target audience.
- Gemma evaluates six viability dimensions through your local Ollama instance.
- Ollama's structured-output mode constrains the JSON. Zod validates the entire response. Invalid output receives one correction attempt; persistent failure produces an actionable error rather than a fabricated result.
- Pure application…
How I Built It
Stack:
- Next.js App Router, TypeScript, and React
- Tailwind CSS 4 plus custom cinematic CSS and an original SVG guillotine
- Ollama's native HTTP API and Gemma (default gemma3:4b)
- Zod 4 for request, model response, and result validation
Evaluation framework dimensions:
- Problem
- Audience
- Differentiation
- Distribution
- Monetization
- Feasibility
Architecture
Browser → POST /api/evaluate → local Next.js server
↓
Ollama /api/chat
↓
locally installed Gemma
↓
structured JSON → Zod validation
↓
weighted score → SLAY or SPARE
↓
verdict + analysis
A few intentional design choices:
- Separating AI reasoning from application logic since the model analyzes each dimension and returns structured data which is then validated into a final score
- Local inference can take a longer time than some hosted models, so I added an interface that progresses through different trial stages which makes the latency become part of the user experience
Why Does Open Innovation Matter?
If you are concerned of releasing sensitive product ideas and information to an external AI provider, then running a model locally is a great design choice.
Since there is no inference cost, there is no worry about executing a long list of bad app ideas to find the ideas worth keeping.
Once everything is installed, the core functionality can keep working offline so you can execute ideas whenever.
Gemma was used for this version, but since there is no model lock-in you could choose whichever open-weight model you want to work with.
The Spirit of It
Many of us are haunted by a growing list of app ideas.
I am releasing this project to help you fight your fears and put your ideas to the test.
For the ideas not worth keeping, put them out of their misery. For those worth keeping, it's time to double down on them and take action.
At the end of the day, what is scarier than a long list of ideas collecting dust?


Top comments (0)