DEV Community

Usman Abdullahi Olukayode
Usman Abdullahi Olukayode

Posted on Originally published at github.com

FixIt AI: An Open-Weight Technical Troubleshooting Friend Powered by Google Gemma

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🀝

"Don't just ask AI what's wrong. Let AI help you find out."

πŸ’‘ The Story: Who I Built This For

Living with solar power or off-grid electrical equipment is empoweringβ€”until something silently stops working.

I built FixIt AI for my close friend who relies on a small off-grid solar setup. Recently, their portable power station stopped charging from the solar panels in full daylight. They had no idea whether the problem was a dead solar cell, an incompatible MPPT controller, a loose cable, or something dangerous.

When they tried asking a generic closed AI chatbot, it dumped 18 bullet points of dense electrical advice all at once. My friend felt more overwhelmed and terrified of an electrical shock than before asking.

I realized what they actually needed was a patient technical troubleshooting friend who could:

  1. Assess safety first before touching anything.
  2. Form structured hypotheses without pretending to know everything.
  3. Walk them through one diagnostic test at a time.
  4. Separate safe DIY checks from hazardous work requiring a licensed technician.

That is why I created FixIt AI.


⚑ What FixIt AI Does

Instead of the standard Photo β†’ AI β†’ Generic Wall of Text pattern, FixIt AI acts as an interactive state machine:

Photo & Symptoms
      ↓
Safety Hazard Triage (Smoke / Thermal / Arcing)
      ↓
Form Ranked Hypotheses
      ↓
Run Single Diagnostic Check (Step 1)
      ↓
User Observes & Reports Result (or Multimeter Reading)
      ↓
Update Evidence & Narrow Down Possibilities
      ↓
Run Next Test (Step 2)
      ↓
Resolve (🟒 Solved | 🟑 Continue | πŸ”΄ Tech Required)
Enter fullscreen mode Exit fullscreen mode

Key Features:

  • Priority Safety Layer: Halts DIY tests immediately if arcing, smoke, or swollen lithium cells are present, producing a structured Technician Handover Brief.
  • Interactive Step-by-Step Mode: Delivers single, actionable checks (e.g., inspecting the inline DC breaker before taking anything apart).
  • Multimeter Support: Prompts for DC voltage and current readings when testing open panel terminals or socket pins.
  • Pure Flat Modern UI: High-contrast black and emerald mobile-first interface (320px–480px optimized) with zero underlines, pure white typography, and Lucide SVG iconography.
  • Evidence Audit Log: Generates an exportable/printable repair timeline for maintenance records or handoffs.

🧠 Why Open-Source AI Matters for This Project

The Hacktoberfest prompt asked: Why does open matter for what you built?

For FixIt AI, using an open-weight model (Google Gemma 2) is fundamental to why the app works in the real world:

1. Power Outages = Zero Internet Access

When a solar generator or home electrical system fails, the WiFi and home router often fail with it. Closed cloud APIs (OpenAI, Claude) are completely useless when there is no internet connection. Because Gemma-2 runs locally on consumer hardware (or an offline laptop via Ollama), my friend can diagnose power failures in a blackout with zero internet.

2. Privacy of Home Electrical Infrastructure

Troubleshooting requires photographing breaker distribution boxes, wiring runs, and serial tags. Homeowners should not have to upload intimate schematics of their home's physical layout to third-party cloud servers. Open-weight models ensure images stay strictly on the local machine.

3. Predictable JSON Schemas at Zero Token Cost

Interactive troubleshooting requires multiple round-trip checks (5 to 10 inference steps per session). Calling proprietary APIs for every small test is cost-prohibitive. Gemma's strong instruction-following allows strict JSON schema validation at $0.00 marginal cost.


πŸ› οΈ Tech Stack & Architecture

  • AI Model: Google Gemma 2 (gemma2-9b-it via Groq for high-speed cloud inference, with native Ollama support for 100% offline edge inference).
  • Frontend & App Framework: Next.js (App Router, Turbopack, React 19, TypeScript).
  • Design System: Flat Vanilla CSS with a black and emerald palette, crisp typography, and Lucide icons.
  • Deployment: Hosted on Render using a native render.yaml Blueprint.

πŸ”— Live Demo & Links


Submitted to the Hacktoberfest Weekend Challenge: Build for a Friend (#hf26challenge).

Top comments (0)