Eight speakers, five minutes per talk, and topics that covered all kinds of ground. These were the Four Digits Lightning Talks on September 11, 2026.
Geert-Jan and Teun the Painter
Teun Bongers paints, and Geert-Jan builds his website. Geert-Jan took us on a journey from traditional hand-coded HTML to fully optimized builds and automated deployments.
The result? A 100% Lighthouse score for Teun Bongers, the best painter in Nijmegen and the surrounding area. Now all that’s left is the backlinks: https://teundeschilder.nl/
Quint and his design system
Quint took the Norwegian Designsystemet
as his starting point and built his own library of 682 components on top of it. The application offers a preview, configurator, and version control.
Components can be downloaded individually or exported as a bundle to create a working demo website.
Mathijs: Add Your Service
Mathijs made a passionate case for service layers in Django projects. This keeps complex application logic out of views and models. The dependency flow: view → service → model provides a clear structure. Additionally, service layers are easier to test because you don’t need the full request/response.
Service layers are one honking great idea—let’s do more of those!
Four Digits CLI Now Includes a Warning
Coen has added a new option to the Four Digits CLI: `db_copy_warning`. This warning is displayed when copying databases between OTAP environments. The warning can be configured on a per-project basis.
The warnings make users aware of risks and offer alternatives. It’s not a definitive solution, but a small step toward developing without production data.
A payment system using Tikkie
Taha came up with his own internship project: he’s going to build a payment system for the Nawa Foundation. Visitors will add snacks to a digital shopping cart themselves and pay for them using Tikkie.
This way, visitors can enjoy snacks and the proceeds go to Nawa. Good luck, Taha!
Cache Components
Laurens walked us through Next.js Cache Components: `use cache`, `cacheLife`, cache tags, and on-demand invalidation.
A page can consist of a static shell with dynamic components. The cache for those components can expire or be invalidated separately. Fetch results can be linked to a document ID. When that document changes, the associated cache is invalidated, and dependent components can be automatically updated.
Cache Components resolve previous frustrations and are a great addition to the App Router.
Mike and RAG
What was that about RAG again? Mike gave a crash course. It starts with a problem: LLMs don’t have direct access to up-to-date or restricted information.
An LLM can only incorporate this information into a response if it’s included in the prompt. RAG makes this possible by searching a vector database. This involves an entire chain of processes: ingesting and extracting documents, chunking and embedding text, indexing, retrieving and re-ranking relevant information, and finally generating the response.
Mike demonstrated this live using a RAG system that had been fed with Four Digits’ internal knowledge base.