Hej hej!
I'm PV, and sometimes as my interests live and breathe, they might end up here on the exhale.
We should be building more software that is alive, in the Christopher Alexander and Pattern Language sense and sometimes getting lost in the rabbit hole is the point, so I love discovering new ones. Local-First software, both the technical challenges when it comes to data sync and IVM, and the philosophy behind it, generative/modular music systems (via VCV and Eurorack) and composable system design, for software and for organisations are some of the ones I've been exploring.
If you want to get in touch, try sending a hej@ this domain over email.
A map for stuck organisations, mostly
A reference collection of the toolkits worth knowing for organisational problems, for nerds.
Dancing around the rhythm space with Euclid
Giving Euclidean Rhythms extra flair and building a sequencer
Using Envoy's internal redirect for fun, glory and authentication
We have assets in object storage, but we don't want to let the whole internet in. Our backend can authenticate but would cry if it had to serve assets all day.
Generating a GraphQL API for Calibre (or any SQLite database)
Want a GraphQL API for your Calibre SQLite database? Let's build one with PostgREST and the sqlite_fdw Foreign Data Wrapper for PostgreSQL!
Taming the Beast: Comparing Jsonnet, Dhall, Cue
Taming a 9000 line json file by taking a look at Jsonnet, Dhall and Cue.
Logging and the Homelab
A journey explaining the logging stack, and comparing the Elastic stack, Loki, Quickwit, and Log-Store for use in a homelab
Side-Projects
Oreades
2026
You know all the times you're setting up to collaborate on some longer article, it starts well but at some point someone always defers to the ctrl-a ctrl-c (open another private doc) ctrl-v style of collaboration where you end up with multiple documents and at the end have to perform paragraph surgery to make them make sense.
Inspired by the Ink & Switch article on Upwelling for document collaboration and version control, I wanted to prototype a collaborative crdt based text editor that tries to avoid showing diffs, but still have user friendly version control.
It tries to do that by making it block based, and making it really easy to switch out different versions of blocks, grouping them into branches and adding a round based review flow on top.
Documents can be written, merged and messed up on oreades.pv.wtf
Blends
2026
I built a little explorer and database for Tea blends. From the about page:
I like drinking tea. I always had fond memories of the little tea bags of lemon tea that my father drank when we were young. I also tried coffee around the same period and came away with stomach pain for the rest of the afternoon. Doesn't help that the rest of the family always drank it strong enough that the spoon would stand up unassisted. Nowadays I can go for an Irish Coffee or an Espresso Martini, but that's it.
So recently when I was on vacation, walking around a market there was a stand selling teas and of course no blends, just very nice pure teas and a very nice salesman. On the ride back, I started thinking "How hard would it be to make your own?", just need to source some quality tea and some ingredients, which isn't that hard. But it should be quality, so would need to get ahold of some calabrian bergamot oil for example, hmm. And if we're doing all of that, why not be a bit more creative. What else could I put in? What would make an interesting combination?
Or, wait a minute? What have people already tried?
So as always, instead of focusing on the core problem of possibly, maybe, making a tea blend, I thought about building a small database of the existing ones.
It's nice and fast, and I've already used it to explore and make several orders. Explorable on blends.pv.wtf
Typress
2024–
Pretty much every client I've worked with has had a janky duct-taped together, slow and annoying solution for generating PDFs and templating them. None gave joy.
After discovering the typst language, fitting right in as a nicer and more ergonomic LaTeX and with an ability to be embedded quite easily. I also really like the old git push heroku way of deployment, so I decided to see how hard building a small web service for templated and versioned, and translated, and later accessible PDF could look like.
It pulls together Elixir and the typst compiler wrapped in a small rust service, with success tracking and full event tracing, reading the file chunks directly from the git store without checkouts to provide super fast generation speed.
Up and running as a working demo on typress.pv.wtf I haven't used it in anger yet, but having it in my pocket gives joy.
Sloan
2020–
I love reading a nice long article, and the best ones get a bookmark so that I could find them again, because google certainly wouldn't do it for me. Started back in 2020, where I built the full scraping and indexing pipelines, fetching the full content of all of the accessible bookmarks, and indexes it with full-text search in tantivy. Did some funky solutions where I compiled the mozilla readability library to wasm, and then embedded a wasm runtime in the Elixir app to be able to extract the text. Worked pretty well and fast, but has since been replaced. Would progressively fall back from simple http requests, to using a headless browser, to fetch from Wayback machine.
I didn't like that a lot of similar solutions kind of takes over the bookmarks, and needs a special extension button to store them, I already have them in my browser and they should stay the source of truth. So instead a web-extension just syncs all them to the backend for indexing.
I also didn't like that other bookmark managers focused on tagging or hierarchical management, they are good ways to navigate, but the core gain of google over earlier web-directories was that a good enough search obviates their need.
Revived it in the beginning of 2026 as a morning project with the help of coding agents, completely re-did the UI design (since there wasn't really any), and started adding hybrid semantic search with embeddings, folder suggestions for unsorted bookmarks with easy keyboard navigation with back-sync to the browser itself, with multiple collections to avoid indexing work or sensitive bookmarks, continuous indexing and archiving of RSS feeds and the filesystem (which I use with my obsidian vault), and a public search page to show off the collection.
Can be visited on sloan.pv.wtf, at some point I'll write a longer break-down.
SummerSinger
2015–2018
Tired of always having an open laptop just to play music, I built a media player with streaming and jukebox modes to run on a raspberry pi. First built with Rails and Ember, I then used it to dig deeper into the then very fresh Elixir, React and Redux. I actively used it for a little while, but have since switched back to Spotify. It indexes the filesystem to find mp3/opus, had a custom built id3 metadata parser for extra fun and because the binary pattern matching in Elixir is great.
Code is readable on github.com/Dracyr/SummerSinger