Uses
Waar deze site en het product op draaien, en hoe we bouwen. Transparant, want we vinden dat zelf ook leuk om te lezen bij anderen.
Deze marketing-website
- Astro 5
- Statische generatie, zero JS by default, islands waar nodig (ROI-calculator, command palette).
- Tailwind CSS 4
- Via de Vite-plugin; design-tokens als CSS-variabelen, geen tailwind.config.
- Vanilla JS voor interactiviteit
- Geen React op de site. De paar interactieve stukken zijn klein genoeg voor plain JS.
- Inter + JetBrains Mono
- Variable fonts via Fontsource, self-hosted.
- TransIP VPS (nginx)
- Statische hosting met security-headers, in Nederland (EER).
Het product (AIX Forge zelf)
- React 18 + Vite
- SPA-frontend; de planning-tab is het zwaartepunt.
- Node.js 18+ (ESM) + Express
- Backend-API; JWT-auth, RBAC-middleware.
- SQLite via better-sqlite3-multiple-ciphers (WAL)
- Met auto-migraties; de datastructuur is de bron van waarheid in db.js.
- helmet + express-rate-limit
- Plus eigen lagen: MFA, trusted devices, IP-allowlist, anomaly-detectie.
- ChaCha20-Poly1305 + AES-256-GCM
- Database in zijn geheel versleuteld met ChaCha20-Poly1305 (SQLite3 Multiple Ciphers); gevoelige velden daarbovenop per veld met AES-256-GCM en een datasleutel per klant (envelope-encryptie).
- TransIP VPS, Nederland
- Database en back-ups in Nederland; automatisch een AES-256-GCM-versleutelde back-up, minimaal eens per 24 uur, met een kopie op een tweede locatie in Nederland.
Hoe we bouwen
- Kleine, gerichte wijzigingen
- Eén ding tegelijk; bestaande bestanden bewerken boven nieuwe maken.
- Geen dependency zonder reden
- Elke nieuwe dependency moet zich verantwoorden: wat, waarom, welk alternatief.
- Build in public
- De changelog houdt bij wat er verandert: features, verbeteringen én security-updates.
Zie ook: security-overzicht · het team · changelog.