🎃 FixIt AI — How I Built a Full AI Repair Assistant in One Week Using Kiro
Source: Dev.to
👻 Inspiration — When a Simple Idea Meets Real Need
I didn’t build FixIt AI because it was “cool.” I built it because I needed it — and people around me needed it too.
Where I live, many device issues (slow laptop, flickering screen, draining battery) don’t actually require a technician. But the knowledge gap means people pay every time. As a 17‑year‑old developer passionate about solving real problems, I wanted to build a tool that:
- empowers users with instant diagnostics
- reduces unnecessary repair costs
- helps young people and students avoid “tech emergencies”
- uses AI to make hardware more accessible
Kiroween gave me the creative angle: a funny, spooky ghost assistant that “haunts away” your device problems. FixIt AI was born.
🛠️ What FixIt AI Does
FixIt AI analyzes symptoms like:
- “My laptop is overheating”
- “My phone won’t charge”
- “My microwave is sparking”
It then generates:
- structured diagnosis
- severity rating
- estimated cost
- whether a technician is needed
- beginner, intermediate, and advanced repair steps
- safety warnings
- device lifespan notes
- probability of success
- spooky flavor text
- a glowing ghost animation while processing
Tech stack
- Frontend: Netlify (HTML, CSS, JS)
- Backend: Node.js + Express on Render
- AI logic: Kiro‑assisted diagnosis engine
⚙️ How I Used Kiro to Build FixIt AI
🟣 1. Vibe Coding — My Main Workflow
I built FixIt AI conversationally, using Kiro like a pair‑programming teammate. Kiro helped me:
- rewrite complex frontend functions (e.g.,
showResult()) - design the multi‑tier repair instructions structure
- write spooky‑themed UI text and animation concepts
- debug deployment errors and Express routing issues
- build the diagnosis engine logic
- optimize JSON responses
- refine prompts for better reasoning
🟣 2. Spec‑Driven Development
Before coding the engine, I defined:
- required JSON structure
- expected fields (severity, probability, steps)
- multi‑layer outputs
- UI expectations
- error‑handling behavior
I handed this spec to Kiro, which generated consistent logic, speeding development and preventing contradictory outputs.
🟣 3. Steering
I used steering prompts such as:
- “Rewrite this completely to be more professional.”
- “Improve the output, make it spookier but still readable.”
- “Make this judge‑friendly.”
- “Simplify; now restructure it; now enhance it.”
Each round aligned Kiro more closely with my needs.
🟣 4. Rapid Prototyping & Debugging
Kiro helped me solve:
- CORS errors
- Render’s Node version failure
- Express incorrect dependency path
- Frontend/backend connection mismatch
- CSS animation placement issues
🟣 5. Creativity + User Experience
Kiro also shaped:
- the ghost loading animation
- the glowing UI
- the spooky diagnostic responses
- problem‑to‑solution storytelling
- architecture diagrams
- day‑by‑day plan
FixIt AI ended up looking more polished than anything I expected to finish within a hackathon.
🚀 What I Learned
- How to combine AI reasoning with traditional backend logic
- How to structure complex JSON outputs
- How to deploy full‑stack apps (Netlify + Render)
- How to design a delightful UX under time pressure
- How to work collaboratively with an AI assistant
- How powerful a spec‑driven approach can be
- How much Kiro accelerates development compared to coding alone
😅 Challenges I Faced
- Debugging Express on Render
- Designing a spooky theme that still feels usable
- Making outputs structured instead of random
- Rewriting results UI multiple times
- Time pressure — I had only one day to finish everything
Kiro helped me push through every block.
🎯 Final Thoughts
FixIt AI isn’t just a Halloween‑themed app. It solves a real problem — one that affects real people every day. Kiroween taught me that even with limited resources, a solo developer can build something useful, beautiful, and impactful when paired with the right AI tools.
This is just the beginning. I plan to expand FixIt AI into something even bigger — and bring affordable diagnostics to anyone with a device.
🔗 Try It
- Frontend:
- Backend:
- Code:

