Exhibition Catalogue

Selected
Projects

A small collection of recent and ongoing work, presented with notes on intent, architecture, and the particular problems each one addresses.

zanlib.dev

Astro · MDX · TypeScript

2017–

Plate 1 — Blog Index Page
Main landing page with article listing, bilingual routing, and typographic hierarchy across three content types.

This is my primary blog and personal brand.

The brand originated with my attempts to find a word that would be unique, techy, meaningless and memorable. An additional constraint was finding something that could be pronounced naturally in both English and Polish.

The site is built on Astro with TypeScript, featuring a full bilingual architecture with separate English and Polish content trees, locale-aware routing, and per-language RSS feeds. The blog is designed as a commonplace book: three content types—articles, notes, and jots—each carry distinct typographic treatments to represent different stages of development of ideas.

The site employs an OKLCH-based color system for with dark mode support, a custom remark plugin for scholarly margin notes, and dynamic per-post Open Graph image generation via Satori and Sharp. Some posts utilise Katex to render mathematics, and more interactive content employs MDX with React components.

Plate 2 — Posts Archive
Chronological archive view showcasing the different kinds of content.

Vlvbione

React Router 7 · TypeScript · SQLite

2024–

Plate 3 — Three Stages of Customer Feedback Flow
The customer scans a QR code, fills in a feedback form, optionally leaves a review on Google Maps, and receives a coupon code.
Plate 4 — Business Feedback Review Dashboard
The business owner has access to a clear dashboard to see the recent reviews and validate coupons from returning patrons.

A review-collection SaaS that allows small businesses to reward customers for feedback. Businesses collect reviews via QR codes displayed in their business and automatically generate coupons for reviewers. A straightforward system with billing, authentication, and mailing integrations.

Behind the scenes, the entire stack (apart from third-party services for billing and authentication), including a Gitea instance with CI/CD pipelines is self-hosted on a Lenovo ThinkStation in my bookshelf.

Visit
Lisps

isolisp

JavaScript

A Lisp interpreter that runs identically on frontend and backend—define validation rules or business logic on the server, evaluate them on either side. GitHub

lispex Toy Lisp evaluator in Elixir Elixir evalexpr Toy Lisp evaluator in Node.js — companion to the blog article on building a Lisp in 66 lines Node.js
Teaching

Workshops

Upcoming
Product Communication for Developers
Dec 2024
Frontend Track at Brainhub Junior Workshops

Two-week intensive recruiting workshop aimed at junior developers, covering modern software engineering fundamentals and practical exercises. The participants learned real modern development skills, spanning the basics of Agile, product analysis, front-end and back-end development, and cloud deployment.

2023
Elixir Saturday

Eight-hour Saturday workshop introducing functional programming with Elixir and Phoenix to JavaScript developers.

Community

Catholic Programmers Discord

English-speaking Discord community for Catholic software developers. Join

Rolex Elixir Discord bot that lets the users of a server self-assign programming language roles Elixir Rosary Café Frontend-only rosary assistant, built in an ancient version of Svelte Svelte
Open Source
Formuj React form library built on Formik — mini-framework showcase with production usage. Understanding why building and using it was a mistake is left as a challenge to the reader React, Formik wouldn’t you rather Chrome extension that asks whether you really want to waste time on a time-wasting website Web, Chrome
Advent of Code
The beloved December ritual.