
I build apps, end to end.
I'm Lukas, a software developer. I take products from the first database schema to the last deploy, and write about the problems I solve along the way.


Selected work


QRcard
A digital business card: share your contact details with a QR code, on iOS and Android.
React NativeNext.jsPayloadVercel


Boraan
An online shop for organic, fair-trade Kampot pepper from Cambodia.
Next.jsPayloadVercel

Sonja Martin Design
The website of a jewelry designer's studio, with her collections in two languages.
SvelteSapperVercel
What I do
Web Apps
Fast, accessible apps and websites, from the database schema to the last pixel, with a CMS where it helps.
TypeScriptReactNext.jsSveltePayloadPostgreSQL
Mobile & Desktop Apps
Native and cross-platform apps that share code and tooling with the web.
React NativeSwiftTauri
Shipping & Automation
Checks and a preview for every change, deploys in minutes, and scripts for everything I would otherwise do twice.
GitHub ActionsVercelTurborepoDockerBun
Latest posts
All posts →
SVG to STL: multicolor 3D prints from SVGs
A browser tool that turns a colored SVG into one STL per color for multicolor 3D printing, even when the shapes overlap. Here's how it flattens them, finds areas too thin to print and builds the base plate.

Catch broken links on every Vercel deployment with linkinator
A link checker that runs against the dev server and after every Vercel deployment, reports back as a GitHub check, and holds back production releases with broken links. On its first run, it found a broken link in my own structured data.

Your Payload MCP edits never show up on the site
Content saved through Payload's MCP plugin doesn't reach your statically rendered Next.js pages, and nothing reports an error. Here's why, and a short wrapper that fixes it.


