Inspiration
The world generated about 62 million tonnes of e-waste in 2022 (UN Global E-waste Monitor 2024), and a lot of it isn't beyond repair. Most people don't fix a broken phone, laptop or e-bike for three reasons: they don't know what's actually wrong, they fear a surprise quote, and they can't tell which repairer to trust. So a €699 phone gets replaced over a €49 battery.
I once threw away headphones that a €12 pair of ear pads would have saved. I only found out months later. Repairio exists so nobody has to find out too late.
Great repair businesses exist in every neighbourhood, but there is no simple front door that takes you from "something is wrong with my device" to "it's booked, at a firm price". That is the gap Repairio fills, and it fits the hackathon brief: a first version of a company we could actually launch.
What it does
Repairio turns a broken device into a saved device in four steps:
- Diagnose – pick a device (smartphone, laptop, tablet, console, headphones, e-bike) and tick your symptoms. The engine ranks the most likely failures, shows a confidence score, typical cost and duration, and flags real emergencies such as water damage.
- Compare at firm prices – verified local repairers are ranked by a transparent score and each card shows the exact price for your repair, the warranty and the next free slot. Users can filter to verified shops and sort by price, distance or rating.
- Book a real slot – availability is calculated and persisted, so a booked slot disappears. The user gets a booking code and a real
.icscalendar file. - Repair or DIY, then see the impact – step-by-step DIY guides with progress tracking, and a personal dashboard with CO₂ and money saved versus buying new.
Repairers get a lightweight Pro area: incoming requests, one-click status changes (confirm → in progress → done) and revenue stats.
How we built it
Repairio is a static web app in vanilla HTML, CSS and JavaScript, with no framework and no build step, and it is organised in four layers:
- Views (
app.js) – hash router and accessible UI. - Services (
diagnosis.js) – the diagnosis engine, repairer scoring and CO₂ calculator. - Repositories (
store.js) – bookings, slots, statuses and stats, with the business rules. - Persistence adapter –
localStoragetoday.
The views never touch localStorage directly, so scaling means swapping the adapter for a REST API on PostgreSQL without changing views or services.
Diagnosis engine. Each symptom adds weight to candidate diagnoses. The confidence of a diagnosis is its share of the total evidence:
$$\text{confidence}_i = \frac{s_i}{\sum_j s_j}$$
So three symptoms pointing to three different causes give about 33% each, and a single symptom is capped at 70%. It is a transparent rule-based engine, not machine learning.
Repairer ranking.
$$\text{score} = 0.4\cdot\text{price} + 0.3\cdot\text{rating} + 0.2\cdot\text{distance} + 0.1\cdot\text{warranty}$$
with each term normalised between 0 and 1.
Challenges we ran into
- Making confidence honest. Our first version always showed 93% for the top diagnosis, whatever the symptoms. We caught this while testing and rewrote it as a share of total evidence, so uncertainty now shows up in the number.
- Availability that behaves like the real world. Slots are generated from the calendar (closed on Sundays) and persisted, so a booked slot actually disappears and the pro area stays consistent with what customers booked.
- A demo that is honest. All repairers, prices, reviews and platform counters are fictional, and we label them as such in the app and the docs. CO₂ savings are estimates (about 85% of a new device's footprint avoided).
- Testing the whole journey. We ran the full flow, including validation, booking, slot removal,
.icsexport and pro status changes, in an automated test and fixed the bugs it found: seeded demo requests missing from the pro area, and dead pages on direct links.
What we learned
- A good first version of a startup is a complete user journey, not a long feature list.
- Layering the code early made the scalability story real instead of a slide.
- Being transparent about estimates and fictional data builds more trust than impressive numbers.
Business model
- 10% commission on bookings.
- Repairio Pro, €29 per month per workshop: lead management, analytics and a "verified" badge.
- Later: a spare-parts marketplace, then B2B with insurers and manufacturers.
Illustration, with assumptions and not real data: with an average ticket of about €70 (≈ €7 commission per booking), 100 workshops on Pro plus 1,000 bookings per month is roughly €10,000 of monthly revenue.
What's next
- Real backend (PostgreSQL + REST API) and verified-email authentication for repairers.
- Onboard the first 100 users through campuses and repair cafés.
- Stripe Connect for automatic commission, plus email/SMS notifications.
- Train a model on repairer feedback to improve diagnosis accuracy.
AI tools were used to help write and test parts of this project. All businesses, prices and reviews in the demo are fictional.
Log in or sign up for Devpost to join the conversation.