Production · holzwegholzweg.com
- —Spec-to-production, managed solo at an agency
- —Dual-layer cache + dedupe for high traffic
- —Client's HubSpot CRM as the single source of truth
Event management for the Austrian Pharmacists' Association
Project pageLive, running their events. HubSpot holds the data; the app is everything around it — registration, on-site check-in in seconds, reminders, feedback, certificates.
What it replaced
Registrations by email, signups on paper, and no reliable count of who was actually in the room. Every contact already sat in their HubSpot — what was missing was the link between that record and the human walking through the door.
Core technologies
- Next.js 16 & React 19:Server actions for every data mutation, route groups for home / admin / feedback areas.
- HubSpot API:Single source of truth for contacts, events, registrations, and sending emails.
- Robust data handling:HubSpot likes to lazily update, which creates potential double-writes and duplicates. Don't rely on stale data.
- web-push & Service Worker:Installable PWA with native push notifications and an offline app shell.
Easy on server + user
- Deep caching:Tagged server cache + in-flight request dedupe, with client-side SWR doing optimistic mutations. Hard reload and pull-to-refresh bust the right cache tags.
- Straightforward PWA install:Consistent install quality, with individual instructions across iOS, Android and a variety of browsers.
There is no "works on my machine" when a client is running an event on it.
Next.js 16React 19TypeScriptHubSpot APIweb-pushService WorkerData Lifecycle
More work
RIS MCP ServerMCP server that opens Austrian federal law to LLMs.Industrial Printhead-Cleaning SoftwareControl software for an industrial printhead-cleaning rig.ClimateCanaryOffice air quality, from sensor firmware to the dashboard.What's possibleWhat comes out when an idea gets built all the way, with nothing in the way.
AI automation