felix's blog
Here you'll read stuff related to programming - either me showing off, debating interesting problems, or crying about JavaScript.
System Design
Architecture: Database Sharding When database sharding actually makes sense, and the simpler scaling options worth exhausting first. Sharding keys, horizontal scaling, and the trade-offs. Architecture: Relational Databases A practical look at two foundations of relational databases: how indexes speed up reads at the cost of writes, and how transactions keep your data consistent.
Projects
Unyap - On-Device Voice Note Transcription An Android app that transcribes voice notes to text entirely on your phone with whisper.cpp. No audio or text ever leaves the device, words stream in as they decode, and it picks the right CPU kernels at runtime so it never crashes on older hardware. MCA Benches - GW2 Benchmark Tracker A Discord-gated web app for tracking Guild Wars 2 build benchmarks. It ingests dps.report logs, auto-validates submissions against the official bench, and diffs a player's rotation against the reference cast by cast. A Combat Analysis Mod for Guild Wars 2 Reverse-engineering Guild Wars 2 to build a DPS meter and combat overlay: DLL proxying to get code into the client, hooking the network layer through leftover assert strings, and simulating condition damage to within ~0.12% of the real numbers. MCA Hackathon - A Bot Battle Arena A two-day hackathon for my friend group, built around one game: everyone writes a bot that fights in a turn-based arena. A Rust WebSocket server runs the match, a language-agnostic JSON protocol lets you compete in any language, and a React app renders it live. Dinermind - University Project A native Android app built by a team of three in six weeks: it sends you random recipes when you leave a geofence, so you stop eating the same meals every day. IconGenerator.eu - FontAwesome Icon Maker A quick web tool for generating coherent-looking icons: it composes FontAwesome glyphs on a canvas, styles them to your taste, and exports a PNG. PHP and jQuery. TeamSpeak.gg - VoIP Server Toolkit This Project started back when I was actively using & maintaining a public TeamSpeak-Server.
Tinkering
What I learned for my next Web Summit (2019) Practical tips from my first Web Summit in Lisbon: grab your badge at the airport, plan ruthlessly, time your lunch, and actually use the event app to find people. Measuring LiPo Voltage using an Arduino Building a permanent Arduino monitor for the cells of an FPV drone's LiPo battery, using a voltage divider to bring 16.8 V down into the Arduino's 3.3 V range. How this Blog works with Serverless Workers How a free Cloudflare Worker can rewrite a shared Notion page into a blog on your own domain - the original setup behind this site, since rebuilt.