← Terug naar het werk
WEBPLATFORM & PRODUCTONTWIKKELING

Zimplix.

Bewerkbare websites met de snelheid van een statische site.

CONTEXTOprichter & Developer
TECHNOLOGIE & FOCUSFastAPI · Flutter · YugabyteDB / PostgreSQL · Docker · JSON
Zimplix-mock-up met dashboard op laptop en telefoon
Zimplix · dashboardconcept op laptop en mobiel
CONTEXT

Het vraagstuk.

Bij Zimplix begon ik vanuit een technische vraag: waarom zou een website die grotendeels uit vaste content bestaat bij ieder bezoek opnieuw afhankelijk moeten zijn van een backend en database? Ik wilde onderzoeken of dat anders kon. Mijn idee was om content wel eenvoudig bewerkbaar te maken via een soort mini-CMS, maar de uiteindelijke website volledig statisch te houden. Een beheerder zou bijvoorbeeld een tekst of blogpost kunnen aanpassen, waarna Zimplix de website opnieuw opbouwt en publiceert. De bezoeker krijgt daardoor alleen de gegenereerde HTML, CSS en JavaScript te zien. Tijdens het laden hoeft er geen extra content uit een backend te worden opgehaald. Dat zorgt niet alleen voor snelheid, maar verkleint ook het aanvalsoppervlak van de publieke website: er is tijdens normaal gebruik geen databaseverbinding of applicatiebackend die rechtstreeks door bezoekers benaderd hoeft te worden. Het doel was daarmee om de gebruiksvriendelijkheid van een CMS te combineren met de snelheid, eenvoud en veiligheid van een statische website.

AANPAK

Van vraag naar software.

Mijn idee was daarom om de voordelen van beide werelden te combineren. Content wordt aangepast via een eenvoudige contentmanager, maar bezoekers gebruiken geen dynamische backend. Zodra bijvoorbeeld een tekst of blogpost wordt aangepast, bouwt een compiler de website opnieuw op tot statische HTML, CSS en JavaScript. De nieuwe versie kan daarna direct worden gepubliceerd.

Mijn rol

Ik heb het concept vanuit deze architectuur bedacht en vervolgens uitgewerkt.

Waar het project om draait

  • Content aanpassen zonder direct in de broncode te werken
  • Statische pagina's genereren na iedere wijziging
  • Geen database-requests tijdens normaal websitebezoek
  • Content opslaan in gestructureerde modellen
  • Geautomatiseerd build- en publicatieproces
TECHNIEK

De onderdelen verbinden.

Tijdens het beheren van een website wordt de content centraal opgeslagen. Bij een wijziging zet de compiler deze content samen met de templates om naar een nieuwe statische versie van de website. Daardoor hoeft een bezoeker tijdens het laden van een pagina geen aanvullende content uit een API of database op te halen.

  1. Zimplix Content Manager
  2. FastAPI Backend
  3. Content Database
  4. JSON Content Model
  5. Static Website Compiler
  6. Gegenereerde Website
De belangrijkste onderdelen, schematisch weergegeven.

Technische aandachtspunten

Een belangrijk vraagstuk tijdens het ontwerpen was SEO. Als pagina's vanuit een beheersysteem worden opgebouwd, moeten onder andere URL's, metadata, headings, interne links en indexeerbare content correct in de gegenereerde HTML terechtkomen. Hierdoor ging het project niet alleen over snelheid, maar ook over hoe de compiler technisch goede en zoekmachinevriendelijke pagina's kon genereren.

FOCUS

Wat ik heb geleerd.

Zimplix heeft me vooral geleerd om verder te kijken dan alleen het bouwen van functionaliteit. Ik moest nadenken over architectuur, performance, caching, SEO, contentmodellen en wat er precies gebeurt tussen het moment waarop iemand content aanpast en de uiteindelijke website online staat.

VOLGEND PROJECTWealth Hub
EEN GOED GESPREK BEGINT HIER

Een idee, een kans
of een lastig probleem?

Ik maak graag kennis. Over software, een samenwerking of de volgende stap.

Stuur me een bericht