Case · 2026 · Web App

BootBalans.
Penningmeester voor een bouwclub.

BootBalans is een interne web-app voor een buurtgroep gondelbouwers (~10 leden). Penningmeester beheert de pot, leden registreren bierstrepen en dienen uitgaven in vanaf hun telefoon — alles in één plek, gehost op Railway.

Rol Design + Build
Tijd ~ 6 weken
Status Live · privé
01 — Wat het doet

Eén tool voor de hele club.
Geen losse spreadsheets meer.

01

Bierstrepen vanaf de telefoon

Leden zetten met één tik een streepje. €1 per bier, geteld per seizoen, automatisch verrekend.

02

Uitgaven met Tikkie en bon

Aanvragen worden ingediend met bedrag, korte uitleg en optioneel een Tikkie-link en kassabon. Penningmeester keurt goed of af.

03

Seizoenen en afrekeningen

Eén saldo per lid per seizoen. Maandafsluiting genereert een snapshot per persoon — geen drift, geen handwerk.

04

Pincode-login

Geen wachtwoorden, geen e-mail. Telefoonnummer + 4-cijferige pincode, BCrypt-gehasht, rate-limited.

02 — Stack

Wat erachter draait.
Boring tech, goed gebruikt.

Een penningmeester-app hoeft niet hip te zijn — wel betrouwbaar. .NET 8 + Blazor Server geeft één codebase voor server-logica en UI, EF Core houdt de Postgres-state strak.

.NET 8Blazor ServerMudBlazorEF CorePostgreSQLBCryptPlaywrightxUnitDockerRailway
03 — Security baseline

Defaults die staan.
Geld + persoonsgegevens = scherp.

De app raakt bedragen en telefoonnummers, dus de standaard-wapenuitrusting moet er zijn vanaf dag één — niet pas na de eerste audit.

  • Antiforgery op login en op alle state-veranderingen
  • Rate-limit op login: 10 pogingen per 5 minuten per IP
  • Cookies HttpOnly + SameSite=Strict + Secure (prod)
  • Tikkie-URL's server-side gevalideerd op https-prefix
  • Bedragen begrensd op €0,01 – €10.000 per aanvraag
  • Pincode-hashes via BCrypt met work factor 12
  • Logout is POST-only met antiforgery-token
Volgende stap

Wil je iets vergelijkbaars?

Een interne tool, dashboard of community-app — stuur een mail of vul het formulier op de homepage. We reageren binnen 24 uur.