Software project

Perfume app

Een full-stack applicatie voor het beheren van parfums, ingrediënten en allergenen. Gebouwd met focus op een helder datamodel en een bewerkflow die fouten voorkomt.

Type

Full-stack web app

Doel

Grip op ingrediënten en allergenen

Karakter

Complex domein, simpele bediening

Waarom dit project

Aanleiding

In parfum formulering werken ingrediënten, concentraties en allergenen direct op elkaar in. In spreadsheets raak je al snel het overzicht kwijt, en kleine wijzigingen kunnen onverwacht doorwerken in berekeningen.

Ik wilde een applicatie die die relaties expliciet maakt en die bewerkingen logisch en veilig houdt. Niet meer opties, maar minder ruis.

Functionaliteit

Wat de app doet

  • Beheren van ingrediënten met gekoppelde allergenen
  • Vastleggen en aanpassen van concentraties per formule
  • Overzicht van allergenen op formulaniveau
  • Begeleiden van bewerkingen
  • Wijzigingen pas opslaan bij expliciete bevestiging

Hoe ik het heb aangepakt

Ontwerpkeuzes

De uitdaging zat niet in de hoeveelheid schermen, maar in het modelleren van het domein en het voorkomen van verborgen neveneffecten.

Eén ingrediënt kan meerdere allergenen bevatten, en die tellen cumulatief op in een formule. Daarom moest de applicatie voorspelbaar blijven als je iets wijzigt.

De bewerkflow is bewust: wijzigingen worden verzameld en pas opgeslagen als je dat expliciet bevestigt.

  • Relaties expliciet in het datamodel
  • Zo min mogelijk automatische magie
  • Wijzigingen pas opslaan aan het einde van een bewerksessie
  • Foutpreventie door regels en duidelijke feedback

Relevantie

Wat dit project laat zien

Dit project laat zien hoe ik een complex domein terugbreng tot een set simpele, begrijpelijke handelingen. Niet door het probleem weg te abstraheren, maar door het expliciet te maken.

Het is een werkend voorbeeld van mijn manier van bouwen: eerst structuur en regels, daarna pas schermen.

Sterke punten

  • Complexe relaties vertalen naar een helder model
  • Bewerkflow die verrassingen voorkomt
  • Consistente regels en duidelijke feedback
  • Pragmatische full-stack aanpak