Things I Built, Broke & Learned

Security research, side projects, homelab mistakes, and the lessons I wanted to write down before forgetting them.

the generalist is about to eat the specialist alive
Featured · · 10 min read

the generalist is about to eat the specialist alive

LLMs compressed expertise. the moat around deep specialization is thinner than ever. the future belongs to fast generalists with good taste. here's why i believe that and how i build.

ai coding tools buildinpublic
How pwnkit variant-hunted a critical cross-tenant auth bypass in Paperclip
10 min read

How pwnkit variant-hunted a critical cross-tenant auth bypass in Paperclip

Paperclip patched an unauth RCE chain in 2026.410.0. pwnkit ingested the advisory, variant-hunted for sibling handlers with the same class of mistake, and found three unprotected routes that let any signed-up user mint plaintext API tokens for any agent in any tenant.

security disclosure ai
i found 7 CVEs in npm packages with 40M+ weekly downloads. here's the tool i used.
6 min read

i found 7 CVEs in npm packages with 40M+ weekly downloads. here's the tool i used.

i've been using Claude Opus 4.6 to systematically audit npm packages since early march. after finding 7 CVEs across mysql2, jsPDF, LiquidJS, Uptime Kuma, and node-forge, i'm open-sourcing the multi-agent framework that made it possible.

security opensource ai
claude opus 4.6 vs gpt-5.4: what actually feels different
6 min read

claude opus 4.6 vs gpt-5.4: what actually feels different

after using both heavily for coding, i think the real difference is not raw intelligence. it's working style. claude creates momentum. gpt creates rigor.

ai llm coding
how i found a certificate forgery vulnerability in node-forge (32M weekly downloads)
8 min read

how i found a certificate forgery vulnerability in node-forge (32M weekly downloads)

CVE-2026-33896 — a critical certificate chain verification bypass in node-forge that allows any end-entity certificate holder to forge certificates for arbitrary domains. 32M+ weekly npm downloads affected.

security cve disclosure
reviewing and hardening jsPDF fixes for PDF injection and XSS
4 min read

reviewing and hardening jsPDF fixes for PDF injection and XSS

Two CVEs in jsPDF — PDF Object Injection (CVE-2026-31898) and HTML Injection/XSS (CVE-2026-31938). I independently discovered the same vulnerabilities and helped review and harden the fixes as remediation reviewer.

security cve disclosure
How I Found That Uptime Kuma's SSTI Fix Wasn't Actually Fixed
12 min read

How I Found That Uptime Kuma's SSTI Fix Wasn't Actually Fixed

I use Uptime Kuma every day to monitor my homelab. While auditing the codebase as a contributor, I discovered that a previously patched SSTI vulnerability was still exploitable — leading me upstream to LiquidJS, a coordinated fix across both projects, and two published security advisories.

security cve disclosure
i built a CLI because infomaniak didn't have one
5 min read

i built a CLI because infomaniak didn't have one

I wanted to manage my domains from the terminal. Infomaniak didn't have a CLI. So I built one — DNS management, terraform-style sync, security audits, propagation checking, and more. Open source on PyPI.

opensource cli python
4 vulnerabilities in node-mysql2 — from config injection to prototype pollution
5 min read

4 vulnerabilities in node-mysql2 — from config injection to prototype pollution

I found four related vulnerabilities in mysql2, the most popular MySQL client for Node.js. Connection option override, prototype pollution, geometry DoS, and an out-of-bounds read — all fixed within 24 hours.

security nodejs disclosure
i built a swiss departure board for our apartment's tablet
5 min read

i built a swiss departure board for our apartment's tablet

real-time SBB departures styled like the classic Swiss LED boards. live weather, news, crypto ticker, and birthday celebrations. runs on a tablet in our WG hallway.

webapp javascript opensource
i built a swiss culture quiz. it ended up on national radio.
5 min read

i built a swiss culture quiz. it ended up on national radio.

i built a quiz about how Swiss you are. it got featured on national radio, hit 10,000 quiz takers, and taught me more about product design than any course.

nextjs ai viral
i run more self-hosted services than some Swiss startups
4 min read

i run more self-hosted services than some Swiss startups

Some people collect sneakers. I collect uptime percentages. 99.9% availability on services nobody asked for.

homelab selfhosted devops
my student dorm ran on post-its and a WhatsApp chat. so i built an app.
4 min read

my student dorm ran on post-its and a WhatsApp chat. so i built an app.

Hundreds of students, one WhatsApp group, and post-it notes everywhere. I spent 7 months building witelli20 — a dorm management app with room reservations, live transport, and an anonymous confession board.

nextjs firebase opensource
why i left ETH Zurich (and why it was the best decision i've made)
6 min read

why i left ETH Zurich (and why it was the best decision i've made)

I left one of the world's best CS programs for a university nobody outside Switzerland has heard of. Everyone thought I was crazy.

education career buildinpublic
i make music and write code. so i built my own audio plugins in C++.
4 min read

i make music and write code. so i built my own audio plugins in C++.

i make music and i write code. so naturally i started building my own audio plugins in C++. 6 plugins later, here's what i learned about DSP, JUCE, and shipping creative tools.

cpp audio music
i was spending too much on protein. so i built a tracker.
5 min read

i was spending too much on protein. so i built a tracker.

i'm a student trying to hit 140g protein daily without protein powder and on a budget. i got tired of checking every product at the store, so i built a free protein tracker for Swiss stores.

webapp opensource react
i built a calculator for my linear algebra class. then my classmates started using it.
5 min read

i built a calculator for my linear algebra class. then my classmates started using it.

i was taking linear algebra at FHNW. so i built a calculator that does everything the textbook does — with step-by-step explanations. then my classmates started using it.

python education opensource
how a side project about table tennis won a startup award
5 min read

how a side project about table tennis won a startup award

I wanted better stats for Swiss table tennis. So I built TTStats — tracking 5,500+ players and 69,000+ matches. Then it won 2nd place at a startup award.

startup kotlin nextjs
from bedroom beats to 100 million streams
6 min read

from bedroom beats to 100 million streams

i started making beats in my bedroom at 17. now i have 100 million streams on Spotify, co-founded a record label, built a mastering studio, and shipped 6 audio plugins.

music spotify entrepreneurship