Hi there!
Hi, I’m Florian or @qwtel and I build user interfaces on the web.
My most popular projects are SQLite Viewer a database explorer for VSCode and Hydejack 9, a Jekyll theme for nerds and academics.
Selected Posts
I occasionally write guides and stories surrounding the topic of software development. Here are some of my latest:

How to (Structurally) Serialize a JavaScript Object
In this post I want to catalog the myriad ways of serializing JavaScript objects, with a focus on mimicking the behavior of the Structured Clone Algorithm. Continue reading How to (Structurally) Serialize a JavaScript Object

The Monospaced System UI CSS Font Stack
This post introduces a CSS Font Stack that picks the best monospaced font for each of the most common operating systems. Continue reading The Monospaced System UI CSS Font Stack

The Joys and Perils of Writing Plain Old Web Apps
In the age of “cybernetically enhanced” JavaScript frameworks, it’s easy to forget that you can still write web sites like it’s 1998. Continue reading The Joys and Perils of Writing Plain Old Web Apps

Async Constructor Pattern in JavaScript
In this post I’ll show three design patterns that deal with async initialization and demonstrate them on a real-world example. Continue reading Async Constructor Pattern in JavaScript

Replacing CryptoJS with Web Cryptography
Alternative title: You Might Not Need CryptoJS. In this post I’ll show how to replace CryptoJS’ AES module with the Web Cryptography API for improved performance and security. Continue reading Replacing CryptoJS with Web Cryptography

Async Generators in the Wild
This post is inspired by my answer to a question on StackOverflow on how to recursively read all the files in a directory. It shows how async generator functions can be used in the real-world. Continue reading Async Generators in the Wild
See Posts for more
Selected Projects

Worker News
A drop-in replacement* for Hacker News Continue reading Worker News

SQLite Viewer
Web-based SQLite Viewer Continue reading SQLite Viewer
workers.js.org
Educational site about Worker Environments Continue reading workers.js.org
Worker Tools
Tools for writing HTTP servers Continue reading Worker Tools

Hydejack 9
A boutique Jekyll theme Continue reading Hydejack 9
See Projects for more