DEV Community

gbetibienvenu
gbetibienvenu

Posted on

I built a private AI job-intake assistant for a friend's electrical business

*This is a submission for the [Hacktoberfest Weekend Challenge:

What I Built

I built this for [FRIEND'S NAME], who runs JosphTech, a small electrical services company. Customers message him all day with requests like rewiring damaged buildings, rewinding pump coils, faulty switches, flat wiring, solar and CCTV, burnt wires, urgent equipment repairs, and ATS and contactor prices. The messages are messy and he answers each by hand.

I built a showcase site where a form sends each request to his WhatsApp, plus a private AI intake assistant on his laptop. He pastes a customer message into it and gets the service, urgency, a summary, follow-up questions and a draft reply. Customers don't talk to the AI. It's his back-office tool.

Demo

Live site: https://bientechsavvy.github.io/electric-showcase/

Code

Electric Showcase + Local AI Intake Assistant

Built for a friend who runs a small electrical services business.

  • index.html: public showcase page. Customers send a request straight to WhatsApp.
  • intake.py: owner-only assistant. Runs an open-weight model locally with Ollama and turns messy customer messages into a clean job summary, urgency level, follow-up questions and a draft reply.

Run it

  1. Install Ollama from ollama.com, then: ollama pull llama3.2:3b
  2. python intake.py and paste a customer message.
  3. Try another model: MODEL=qwen2.5:3b python intake.py
  4. Open index.html in a browser. Put job photos in a jobs/ folder named job1.jpg to job6.jpg.
  5. Edit YOUR BUSINESS NAME, YOUR PHONE NUMBER and PHONE_NUMBER_WITH_COUNTRY_CODE (digits only).

Why open source

  • Runs on a laptop, works offline.
  • Customer names, addresses and phone numbers stay on the owner's computer.
  • Free to run, no per-message API cost.
  • Prompt and model can be changed to fit the business.

Safety

The…

How I Built It

It runs qwen2.5:1.5b, an open-weight model, locally with Ollama, using only Python's standard library. The small model reads the messy message and writes a one-line summary. Plain code handles the rules: danger words like burnt, smoke, sparks and shock always trigger an emergency flag, follow-up questions come from his real customer requests, and prices are never invented.

I tested 8 real customer messages four times and kept every run:

v1 missed a fire risk: "the wire in my room has burnt" was marked NORMAL.
v2 invented a street address and mislabeled a pressing iron.
v3 made up prices ("ATS is $1000") in a summary.
v4 rejects any summary with money or numbers the customer never wrote.

Why Does Open Innovation Matter?

Customer names, addresses and phone numbers stay on his laptop, so no third-party server sees them. It works offline and costs nothing per message. Because the model is open, I could inspect, test and fix every failure myself and swap models without changing my code, which a closed API wouldn't allow. Honest limits: the AI runs on his laptop while GitHub Pages hosts only the public site, and a 1.5B model can't be trusted to make decisions, so code makes the safety and pricing calls.

What [Josphtech] said: "[I love this web app you built I will give a trial to see how the customer are going to interact with it ]"

]

(https://dev.to/challenges/hacktoberfest-weekend-2026-10-01)*

What I Built

Demo

Code

How I Built It

Why Does Open Innovation Matter?

My Agent Session

Prize Categories

Top comments (0)