Mavicats · Eigen project
Mavicats: community, cameradatabase en een spel met één login
Een community-platform voor liefhebbers van retro digitale fotografie, met een feed, een marktplaats en een doorzoekbare database van 38 cameramodellen. De community is klein; de database wordt uit zichzelf gevonden en levert affiliate-klikken op.
- Soort project
- Eigen project
- Mijn rol
- Eigenaar, ontwikkeling en infrastructuur
- Status
- Website online
- Doorlooptijd
- Doorlopend sinds april 2026
- Teamgrootte
- 1
- De vraag
- Een community voor retrofotografie vraagt om een gedeelde plek voor foto’s, camera-informatie en handel.
- Het resultaat
- Een community met cameradatabase, marktplaats en gedeelde login voor het aparte spel.
De vraag
Dit begon als experiment: ik wilde de infrastructuurkant van dit werk onder de knie krijgen door iets te bouwen dat echt draait, gebruikers heeft en kan omvallen. Het werd een community voor liefhebbers van retro digitale fotografie, met een feed, een marktplaats en een doorzoekbare cameradatabase. Het leerdoel is gehaald. De community is klein, maar de database wordt uit zichzelf gevonden en het zoekverkeer loopt door naar affiliate-klikken.
Een algemene community bouwen is kansloos tegen bestaande platforms: daar valt niets te winnen wat Instagram of eBay niet al doet. Het inhoudelijke probleem was dus strategisch: waarom zou iemand hierheen komen in plaats van daarheen?
Daarnaast stond er een leerdoel: dit project moest me de kant van het vak leren die je in klantwerk niet vrijblijvend kunt oefenen. Uitrollen, monitoren, herstellen na een fout, kosten in de hand houden. Dat lukt alleen als het echt is.
Kernproblemen
- Een algemene community heeft geen bestaansrecht naast bestaande platforms
- Uitrollen, monitoren en herstellen leer je niet zonder een echt draaiend systeem
- Een marktplaats tussen leden onderling vraagt accounts, berichten en moderatie
- De game die eraan komt mag het platform niet in de weg zitten
Randvoorwaarden
- Eigen tijd en eigen kosten — geen budget om verkeerd te gokken op infrastructuur
- Het platform moet blijven draaien terwijl de game er los naast wordt gebouwd
Achtergrond van het project
Eigen werk, geen klantopdracht. Ik wilde de infrastructuurkant van dit vak echt leren — draaiend houden, uitrollen, meten, herstellen — en dat leer je niet van lezen. Daarvoor heb je iets nodig dat echt draait, echte gebruikers heeft en echt kan omvallen.
Het werd een community voor liefhebbers van retro digitale fotografie, gebouwd rond één camerafamilie. Leden delen werk in een feed, kunnen onderling vintage apparatuur verhandelen, en er is een doorzoekbare database van camera's en accessoires plus een kennisbank.
Mijn aanpak en keuzes
Beginnen bij het onderwerp. Een plek voor precies één camerafamilie, met een database die die camera's echt goed beschrijft, heeft wél bestaansrecht. En dat is ook precies waar het verkeer vandaan blijkt te komen.
De game apart houden. Bij dit platform hoort een spel dat als eigen toepassing op een eigen adres draait, met één gedeelde login. Zo kan het platform doorgroeien zonder dat de game meeverhuist, en andersom.
Prestaties sturen op meting. Het spel begon op een eigen 3D-engine in CSS. Na de eerste speeltest liep het op sommige plekken op 11 tot 21 beelden per seconde, na gerichte optimalisatie met per beslissing een genoteerd voor- en na-cijfer op 56 tot 59. Daarna lieten metingen zien dat 84% van de frametijd in de browser zelf zat; sinds augustus 2026 draait het spel op Three.js, waarbij 88% van de code ongewijzigd meeging.
Technische verdieping
Gebruikte technologie
- Next.js
- React
- TypeScript
- Python
- FastAPI
- Three.js
- Cloudflare Workers
- PostgreSQL
- Sentry
Wat het opleverde
Het leerdoel is gehaald. De infrastructuurkant, van draaiend houden en uitrollen tot meten en herstellen, is precies wat dit project heeft opgeleverd. Een voorbeeld: na een migratie ontbraken in productie vijf indexen, waardoor zoeken maandenlang traag was. Sindsdien krijgt elke pull request een eigen databasebranch met een driftcontrole. Die kennis zit nu in elk klantproject.
En het levert daadwerkelijk iets op: het zoekverkeer dat op de cameradatabase binnenkomt, loopt door naar affiliate-klikken bij twee grote handelsplatforms. Geen groot bedrag, maar het bewijst iets wat ik klanten ook vertel — een inhoudelijk sterke, goed opgezette database wordt uit zichzelf gevonden, zonder advertentiebudget.
- Beelden per seconde in het spel
- Per beslissing gemeten
- 11 tot 21 → 56 tot 59
- Verkeer naar de cameradatabase
- Loopt door naar affiliate-klikken
- Geen → Doorlopend uit zoekmachines
- Geautomatiseerde tests
- Spelregels worden nagerekend
- 0 → 373 op het platform, ruim 700 op het spel
Opgeleverd
- Zoekverkeer op de cameradatabase loopt door naar affiliate-klikken
- Spel van 11–21 naar 56–59 beelden per seconde
- 373 geautomatiseerde tests op het platform, ruim 700 op het spel
- Platform en spel los te ontwikkelen met één gedeelde login
Uitkomsten
- Het zoekverkeer komt binnen op de database en loopt door naar affiliate-klikken, zonder advertentiebudget
- Platform en spel kunnen los van elkaar doorgroeien, met één gedeelde login
- Het spel draait in de browser, zonder game-engine
- De opgedane kennis over uitrollen en monitoren gaat rechtstreeks naar klantwerk
Wat ik ervan meeneem
Lessen
- Richt je op één onderwerp en doe dat goed; daar komt het zoekverkeer vandaan
- Een inhoudelijk sterke database wordt gevonden zonder advertentiebudget
- Twee losse toepassingen met één login geeft meer bewegingsvrijheid dan alles in één systeem proppen
- Prestaties verbeter je door per beslissing te meten
Het platform wordt het fundament onder het spel dat eraan komt. En de kennis die dit project opleverde — uitrollen, monitoren, kosten in de hand houden, herstellen na een fout — zit inmiddels in elk klantproject.
