Direct naar de inhoud
willivaro.
Eigen product · Web & mobile · Fintech · AI

Een eigen budget-app, van idee tot de appstores

Een huishoudboekje dat elke dag laat zien wat je nog kunt besteden. Zelfstandig ontwikkeld als webapp en mobiele app, met potjes, bankimport zonder verplichte bankkoppeling, een AI-hulp en een abonnementssysteem voor web, iOS en Android.

Conceptcase: productnaam, beelden en links verschijnen zodra ze zijn gecontroleerd.

Conceptvisualisatie van een budget-app op een telefoon, geen echt screenshot
Conceptvisualisatie, geen echt screenshot

Het probleem

Eén getal voor vandaag.

Veel budgetapps kijken terug: waar is het geld gebleven? Deze app brengt de dagelijkse bestedingsruimte naar voren, zodat je bij je volgende aankoop weet wat je kunt uitgeven. Zonder verplichte bankkoppeling.

Eigen product, geen klantopdracht

Dit is een eigen product van de oprichter, geen opdracht voor een klant. De productbeslissingen en productregie lagen bij de maker; Claude Code werd ingezet als programmeerpartner.

Wat de app doet

Ontworpen rond één dagelijkse vraag.

Wat kan ik vandaag nog uitgeven? Alles in de app helpt dat antwoord kloppend en zichtbaar te maken.

  • DagbudgetScreenshot volgt na goedkeuring

    Dagbudget

    Elke dag één bedrag dat je kunt besteden. Wat je niet uitgeeft, schuift door naar morgen.

  • Potjes en spaardoelenScreenshot volgt na goedkeuring

    Potjes en spaardoelen

    Geld opzijzetten voor vaste lasten, wensen en doelen, los van het dagbudget.

  • Bankimport via bestandenScreenshot volgt na goedkeuring

    Bankimport via bestanden

    CSV, MT940 en CAMT.053 importeren, met herkenning en categorisatie van transacties.

  • Komt nogScreenshot volgt na goedkeuring

    Komt nog

    Geplande rekeningen die al meetellen voordat ze van je rekening gaan.

  • AI-assistent PepScreenshot volgt na goedkeuring

    AI-assistent Pep

    Vragen over je eigen cijfers, binnen toegestane categorieën, en hulp bij het verwerken van gezinsmail.

  • Widget en twee talenScreenshot volgt na goedkeuring

    Widget en twee talen

    Een iOS-widget voor het dagbudget op je beginscherm, en de hele app in twee talen.

Verder in de app

  • Vermogen, retouren en zakgeld bijhouden
  • Groepsuitgaven delen
  • Toeslagenindicatie (een indicatie, geen advies)
  • Begeleiding met toestemming, op basis van afgeleide signalen

Productverhaal

Van gezinsdashboard naar huishoudgeld.

De focus verschoof van een breed gezinsdashboard naar huishoudgeld: het onderdeel waar mensen elke dag iets aan hebben.

De onboarding is erop gericht dat de kernwaarde, het dagbudget, al in de eerste sessie zichtbaar wordt.

Techniek

  • Next.js 14, TypeScript en Tailwind
  • Prisma met Neon Postgres, gehost op Vercel
  • Capacitor voor iOS en Android
  • Eigen StoreKit-plugin in Swift
  • Google Play-aankopen server-side geverifieerd
  • Mollie voor betalingen op het web
  • Resend, APNs, FCM en webpush voor berichten
  • Getypeerde vertaalwoordenboeken, rate limiting en tweestapsverificatie

De uitdaging

Drie betaalkanalen, één waarheid.

Een abonnement kan via de website, de App Store of Google Play lopen. Die kanalen kunnen elkaar tegenspreken: een opzegging in de ene winkel, een verlenging in de andere. Eén centrale toegangslaag beslist uiteindelijk wie toegang heeft, op basis van server-side gevalideerde aankopen.

  • WebBetaling via Mollie
  • iOSStoreKit, eigen Swift-plugin
  • AndroidGoogle Play, server-side geverifieerd

Entitlement-laag

Eén plek die op basis van server-side gevalideerde aankopen beslist wie toegang heeft, ongeacht het kanaal.

Schematisch. Web en mobiele apps delen dezelfde API en database; de mobiele apps zijn Capacitor-schillen rond de webapp.

Engineering

Keuzes onder de motorkap.

  • Bankimport zonder koppeling

    Gebruikers importeren een bankbestand in plaats van een bank te koppelen. Een laag voor bankaggregators is voorbereid, maar staat niet aan.

  • Toegang server-side beslist

    Aankopen via web, Apple en Google komen samen in één toegangslaag (entitlements). De server valideert, niet de app.

  • Meertalig en getypeerd

    Vertalingen staan in getypeerde woordenboeken, zodat een ontbrekende tekst al bij het bouwen opvalt.

  • Verwijderen als workflow

    Gegevensverwijdering is ontworpen met expliciete verwijdering per gegevensmodel en het stopzetten van een lopende incasso.

Grenzen, eerlijk benoemd

  • Er is geen actieve bankkoppeling: import gaat via bestanden.
  • De toeslagenindicatie is een indicatie, geen belofte of professioneel advies.
  • Getoonde maatregelen zijn ontwerpkeuzes, geen garantie of certificering.

Lessen

Wat dit product ons leerde.

  1. 01

    Productfocus

    Minder functies, scherper verhaal. Het dagbudget werd de kern, de rest ondersteunt.

  2. 02

    Activatie op dag één

    Als de kernwaarde niet in de eerste sessie zichtbaar wordt, komt een gebruiker vaak niet terug.

  3. 03

    Prijzen centraal

    Prijzen en plannen op één plek, zodat web en appstores niet uit elkaar lopen.

  4. 04

    Betaalrechten in één laag

    Elke bron van aankopen mondt uit in dezelfde toegangslogica.

  5. 05

    Discipline bij uitrollen

    Web en apps hebben een ander releaseritme; dat vraagt om versiebeheer en terugvalopties.

Een eigen product in je hoofd?

Van idee en eerste versie tot web en appstores. We denken mee over wat je als eerste bouwt en wat kan wachten.

Plan een kennismaking

Andere projecten