MinimalWebView and related projects
An experiment to see how far I can push a slim Windows application that uses C# for the hosting logic and web UI for the front-end.
I could embed web UI in a plain old .NET GUI app. But WinForms and WPF are big dependencies and they’re mostly unnecessary for web UI. Why not see how far we can get with an old-school Win32 message pump?
ReiTunes (GitHub)
My personal music library system with a local-first Windows client and Linux server. It started out as a bored-during-the-pandemic project and now I use it daily.
The local-first functionality was a huge source of complexity; the library is essentially a distributed database that can be synchronized between any 2 clients (or a client and the server). But it works great. 👌
Vancouver Rezoning Scraper (GitHub)
I wanted to explore UI ideas for ETL. Can we make complex data transformations as easy to use as spreadsheets? What if we had tools to quickly diagnose+fix common issues in data pipelines?
To answer those questions, I built an interactive prototype in React that parses JS formulas as they’re edited. More info here.
This Website (GitHub)
prefers-color-scheme
media query and the Solarized colour scheme, because I love Solarized Dark.Abundant Housing Vancouver Letter System
- An Angular front-end that generates personalized letters in support of housing projects
- A Serverless Framework back-end that uses Slack and AWS (Lambda, SES, S3, Athena) to review+send+analyze those letters
I wrote the front-end and Roman Lisagor wrote the initial version of the back end, but now I work on both. It’s been used over 1000 times, and most recently it was adopted by the BC Non-Profit Housing Association for their Build Homes Not Barriers campaign. More info here.
I built an interactive map of every property in Vancouver using Mapbox, Eric Fischer’s remarkable Tippecanoe, and a Heroku app to serve the map tiles.
Warning: there is a bug in Tippecanoe that makes the map look a little wonky at lower zoom levels and the free Heroku tier takes ~10s to serve map data.
Everything Else
Drop by GitHub to see what else I’ve been up to lately.