Infrastructure
One server, everything on it
Every product, client site and demo on this site runs on one Hetzner machine that I set up and look after myself. The dots on this page are live: they come from my own status service.
Checking…
36
public hosts
19
static exports
8
Node apps on pm2
8
in Docker
How it's put together
nginx takes every request, handles HTTPS with a Let's Encrypt certificate per domain and hands it on. Whatever can be static is static; only what needs a server runs as a process.
Static exports
Next.js and Vite builds served straight from disk. No process to crash or patch.
Node on pm2
Only where a site needs a server: an API, a login or an admin area.
Docker
Isolated stacks: every NextUp tenant with its own Postgres, plus Agentic OS, Umami and the Vocafy app with MySQL.
Plus one WordPress theme on PHP-FPM.
Built to run it
The parts I wrote myself to keep all of this running.
Status service & Dash Server
A Node service without dependencies checks every site and domain every 30 seconds, scans ports every five minutes and reads the nginx configs, so a dead upstream shows red instead of disappearing. An Expo app shows it all on my phone.
NextUp tenant stacks
Every NextUp tenant runs as its own Docker stack: the app, Postgres, Caddy and Mailpit for test mail, set up with one command. Staging, a public demo and n8n automations run next to them.
Static first
In July 2026 I moved twelve Next.js sites from always-on Node processes to static exports served by nginx. Less memory, fewer moving parts, less to patch.
Everything that's live36
Every public host on the server, with its runtime. Hosts that only show a login or answer API calls aren't linked.
Products9
My own products and the services behind them.
- Checking…
Vocafy
vocafy.chLanding page for my vocabulary trainer.
Static - Checking…
Vocafy app
app.vocafy.chThe web app itself: Node.js and MySQL.
Docker - Checking…
School Companion
schoolcompanion.chSite for the app, with a Matura grade calculator that runs in the browser.
Static - Checking…
School Companion admin
admin.schoolcompanion.chAdmin dashboard for users, schools, timetables and push notifications.
Node · pm2 - Checking…
NextUp
sellux.chLanding page of the startup.
Docker - Checking…
NextUp demo
demo.sellux.chPublic demo with its own database and mail catcher.
Docker - Checking…
NextUp tenants
acme · globex · test1 · staging .sellux.chOne isolated stack per customer: app, Postgres, Caddy and Mailpit.
Docker - Checking…
Agentic OS server
agentic-os.serviweb.chSync and AI backend for my desktop and Android app. API only.
Docker - Checking…
This site
portrait.serviweb.chStatic export, English and German.
Static
Tools & experiments8
Things I built or host for the server, my studies and new ideas.
- Checking…
Status service
status.serviweb.chChecks every site every 30 seconds. The dots on this page come from it.
Node · pm2 - Checking…
Umami
umami.serviweb.chSelf-hosted, cookie-free web analytics.
Docker - Checking…
NextUp automation
automation.sellux.chn8n workflows behind a login gate.
Docker - Checking…
Werkschau
showcase.serviweb.chAll live projects on serviweb.ch as a tap-through gallery for the phone.
Static - Checking…
Client-Map
clientmap.serviweb.chLanding page for a tool that finds restaurants without a website or Google profile and builds a demo to pitch.
Static - Checking…
Python Trainer
uniwise.serviweb.chHandbook, flashcards and tests for the Python cheatsheets of CODE's Orientation Semester.
Node · pm2 - Checking…
Room Radar
housingfinder.serviweb.chBerlin rooms and flats that Claude rated good or great. Private.
Node · pm2 - Checking…
Damenwahl
damenwahl.serviweb.chWaitlist page for a dating-app concept, with a small signup API on pm2.
Static
Client sites4
Hosted and looked after for clients.
- Checking…
Serviweb
serviweb.chMy web studio's site.
Static - Checking…
Tiger Wil
tiger-wil.chMy first client, hosted since December 2023.
Docker - Checking…
Vision Wil
vision-wil.chBar and café in Wil SG.
Static - Checking…
Ski Service Joel
skiservice-joel.chSki service with its own login and availability API.
Node · pm2
Demos15
Design studies for real kinds of businesses.
- Checking…
Tiger Wil redesign
tiger-wil.serviweb.ch - Checking…
Noctra
noctra.serviweb.ch - Checking…
Grillkammer
grillkammer.serviweb.ch - Checking…
Art's Restaurant & Bar
arts.serviweb.ch - Checking…
Restaurant Rebstock
rebstock.serviweb.ch - Checking…
Sankt Kaffee
kapitel-4.serviweb.ch - Checking…
Säntis Kebap
saentis-kebab.serviweb.ch - Checking…
Iron & Edge Barber Co.
iron-edge.serviweb.ch - Checking…
DJ Ostschweiz
dj-ostschweiz.serviweb.ch - Checking…
Terrassen Bistro
bistro-zwingen.serviweb.ch - Checking…
Löwen Pub
loewen-pub.serviweb.ch - Checking…
Goldenes Rössli
goldenes-roessli-wil.serviweb.ch - Checking…
Barcelona Central
barcelona-central.serviweb.ch - Checking…
Wirtshaus (WordPress)
restaurant.serviweb.ch - Checking…
Disruptec
disruptec.serviweb.ch
Building something? Let's talk.
A project, a venture to build together, or a role to talk through. I read every message myself.