How I Built My First
Production App
Via WhatsApp

What started as 635kg is now 941.5kg of managed inventory. This is how ML Coating went from WhatsApp messages to business-critical software.

April 2025
Warehouse Visit
April 17
First Prototype
April 25
UI Evolution
May 6
Production Ready
July 2025
941.5kg Managed
01

It Started With a Visit

Nicolas runt een groeiend bedrijf, maar zijn voorraad zat alleen in zijn hoofd. Geen overzicht, geen zekerheid, geen grip.

In April 2025, I visited my best friend Nicolas at his new powder coating business, ML Coating. Walking through his warehouse, I saw boxes everywhere – different colors, different brands, different finishes.

"How do you track all this?" I asked.

Nicolas shrugged. "I just... remember."

Hey, bestaat er geen software om heel dit te gaan beheren?
April 2025

I spent hours researching existing solutions. Every single one was either complex or overkill for a one-man operation. Enterprise features, approval workflows, multi-warehouse support – Nicolas just needed to know what he had in stock.

That's when I thought: "I've been exploring AI coding tools... why not try building something myself?"

02

WhatsApp als Feedbacklijn

Geen lange meetings, geen dikke specificaties.
Elke feature, bugfix en verbetering verliep via WhatsApp.

Kan niet zien hoeveel kg in totaal heb.
22:04
[Screenshot showing: Totaal Voorraad 33, Totaal Gewicht 635.0 kg]
22:10
Nu wel 😊
22:10
De beste specificatie is directe feedback via WhatsApp.
Zo bouw je software die Γ©cht werkt voor de gebruiker.
03

The Nicolas Test

Here's what I learned quickly: Nicolas is not computer-minded. He can send emails, sure, but complex software? Forget it. This constraint became my north star.

Bij het openen van nieuwe doos, zijn veel te veel velden.
Hadden dit toch besproken dat die allemaal weg mochten ... πŸ™„
20:56
🎀 Voice message - 0:22
20:58
dit mag weg?
20:58
Dat al zeker ja
20:59

Every feature request came with the same filter: "Niet te veel en te moeilijk maken" (Not too much and too difficult). This wasn't about showing off technical skills. It was about solving a real problem for a real person.

Juist door te bouwen voor een niet-techneut, werd het product Γ©cht simpel en bruikbaar.
❌
No Barcode Scanning
"zelfs niet nodig"
❌
No Location Fields
"alles is 'stock'"
❌
No Photos
"niet nodig"
04

The Tool Shuffle

I didn't nail it on the first try. Or the second. The journey went like this:

  • powder-pal-inventory-control (Lovable) – rapid prototyping
  • mlcoating.netlify.app – testing deployment
  • nicolas-ml-coating.****.app – production environment

Iterative Process

Every step brought us closer to the real solution:
Prototype fast β†’ Test live β†’ Ship to production.
No endless specs, just building, testing, and improvingβ€”together.

"een werkende web app >> testen zou ik zeggen vriend" ✨

First Lovable, then Netlify, finally Replit. Each iteration got us closer. Each deployment taught me something new. And Nicolas? He kept testing from his phone in bed at 22:32.

"Heb wat liggen doen op gsm want lig al in bed, maar ziet er goed uit πŸ§‘β€πŸ³πŸ§‘β€πŸ³"
β€” Nicolas, testing at night
05

The Numbers Don't Lie

By May 14th, ML Coating was running in production. Real inventory. Real business. Real results.

Then (May 2025)

First production version

33 Different Powders
635kg Total Weight
€0 Monthly Cost
Business Value:
€5.600 voorraad, nul fouten, nul downtime. Dagelijks gebruikt, geen demo.
Ik kan niet zien hoeveel kg in totaal heb.
22:04
[Screenshot showing: Totaal Voorraad 33, Totaal Gewicht 635.0 kg]
22:10
Nu wel 😊
22:10

That "Nu wel 😊" – that's when I knew we'd built something real. Not a demo. Not a prototype. A tool that Nicolas uses every single day.

06

The Evolution Continues

The best part? We're not done. Nicolas keeps having ideas, and I keep building them. Every feature request becomes reality within days.

Was eventueel misschien aan het denken om bij iedere poeder de aankoop prijs te zetten zodat we ineens weten hoeveel het kost
22:13
Lijkt me een goed idee ja πŸ‘βš‘
22:14
En hoe zet ik dit vast op hoofd pagina.. of hoe noemt dat πŸ™„πŸ˜‚πŸ˜‚
22:35

He wants it as his iPad homepage. He's thinking about cost tracking. He's invested in making it better because it's his tool, built for his business.

07

What I Really Built

Looking back, I didn't just build an inventory system. I discovered that:

  • πŸ“± De beste specificatie is een WhatsApp-gesprek. Geen lange documenten, maar realtime feedback, screenshots en voice messages.
  • πŸ§‘β€πŸ’Ό Beperkingen zorgen voor duidelijkheid. Bouwen voor een niet-techneut dwingt tot echte eenvoud.
  • πŸ› οΈ Tools zijn ondergeschikt aan het probleem. Lovable, Netlify, Replit – alles om tot een oplossing te komen.
  • 🀝 Echte gebruikers maken het verschil. Ze zeggen eerlijk wat werkt (en wat niet) – met emoji.

Dit is geen portfolio-project, maar software die een bedrijf laat groeien.

"dit is de bedoeling om het definitief nu te gaan gebruiken als het voor u allemaal naar wens is"
β€” Nicolas, ready to go live
08

Today: July 2025

Two months later, ML Coating isn't just surviving – it's thriving. The numbers tell the story better than I ever could:

Now (July 2025)

Live screenshot taken today

58 Different Powders
941.5kg Total Weight
€/kg Price Tracking Active
May 2025
635kg
β†’
July 2025
941.5kg
LIVE PRODUCTION
Screenshot: July 2, 2025
ML Coating Poedervoorraad - Nicolas logged in
58
verschillende poedersoorten
941.5 kg
totaal beschikbare poeder
Sample inventory items showing: RAL codes, brands (Sherwin-Williams, Tiger), finish types (Structuur, Mat, Metallic), weights, prices per kg (€5.80 - €6.20), and status indicators (Voldoende/Gemiddeld)

The growth is real: From 33 to 58 powder types. From 635kg to 941.5kg. And remember that feature request about pricing? Every single item now has its purchase price tracked – €5.80/kg for RAL 9005, €6.20/kg for RAL 8019.

The UI evolved from basic tables to a professional interface with:

πŸ”
Smart Search
Find by RAL, brand, or type
πŸ“Š
Status Tracking
Voldoende / Gemiddeld alerts
πŸ’°
Cost Analysis
Price per kg for every item

But here's what the screenshot doesn't show: Nicolas logs in every day. He updates quantities after each job. He checks what needs reordering. He knows exactly what his inventory is worth.

This isn't a portfolio project gathering dust. This is business-critical software managing real inventory worth thousands of euros. The 941.5kg at an average of €6/kg? That's over €5,600 of inventory being tracked, every single day.

And it all started with a WhatsApp message: "bestaat er geen software om heel dit te gaan beheren?"