
Isa tekent portretten van huisdieren in de stijl van klassieke Disney-animatie. Ze werkt alleen, en de site is haar aanmeldpunt: elke maand een loting waarbij ze uit de inzendingen winnaars trekt, en daarnaast een schakelaar voor open inschrijving wanneer ze meer werk aankan zonder op de volgende ronde te wachten. Haar werk staat op @pet_disneyfication.
Ik ken Isa via een schoolvriend en heb dit voor haar gebouwd om haar online een fatsoenlijke plek te geven.
De site die er stond had ik zelf ook gemaakt, jaren eerder. Elementor op Jupiter X met JetEngine eronder voor de formulieren en de lotingslogica. Voor dat moment was het een prima oplossing en het zag er netjes uit.
Wat er daarna gebeurde is wat er altijd gebeurt met zo’n stapel: hij werd niet meer bijgewerkt. Tientallen plugins liepen achter, de onderdelen begonnen langs elkaar heen te werken, en Isa kon haar eigen inschrijvingen niet meer draaien zonder hulp. Winnaars kiezen, een ronde sluiten, even open inschrijving aanzetten — dat werkte allemaal net niet zoals ze het nodig had. Op de homepage stond maandenlang een kapotte widget zichtbaar in beeld.
En er zat iets scheefs in dat me het meest is bijgebleven. De site beloofde dat winnaars willekeurig getrokken werden. Dat gebeurde niet. De tekst klopte niet met wat het systeem deed.
Bedrock met een Sage-thema, en verder zo min mogelijk. Ik ben begonnen met een inventaris van de oude installatie op basis van een backup, inclusief de databasedump, om precies te weten welke content types en velden er echt in gebruik waren. Op basis daarvan een pluginlijst die tot drie is teruggebracht: ACF Pro, iets voor SMTP en iets voor logging. Alle rest — de content types, de velden, de formulieren, de overzichten, het winnaars-kiezen — is gewoon eigen code geworden.
De domeinlogica zit in een eigen plugin, de presentatie in het thema. Dat scheelt straks gedoe als het thema ooit vervangen wordt.
Er staan nog wat dingen op de planning, waaronder inloggen via een e-maillink in plaats van een wachtwoord. Niets wat in de weg zit.
Ervaring en naamsbekendheid.
Bel of app me, dan bespreken we vrijblijvend jouw situatie.