Chris GarrettChris Garrett


35/M/UK

I'm Chris Garrett, a founder and entrepreneurial technologist working at the intersection of design and engineering.

Work with me

I help startups and established brands develop new digital products through my venture studio, C8VA, which specialises in early-stage product development and rapid prototyping.


Two new products

I’ve been quietly building out two very bleeding edge music tech projects over the past couple of months, which I’ll talk about soon. But before that, I’ve re-platformed and released two ideas that have been in the back of my head for well over a year:

  1. Planatom builds on my previous effort to start aggregating local planning applications and making them searchable, nationally.

    Screenshot of a planning application on Planatom

    Previously I did this in the form of 10 location specific microsites - built as static sites with Astro. At a certain scale, that started to fail - so this new version ports to a Rails, Phlex and Vite stack (which is really nice!). With the new platform, it’s been possible to go from 10 to 100+ local portals, and to add some really nice feature extraction like number of new dwellings to be created.

    The old sites indexed very well with Google, so re-pointing/porting them to the new domain has meant I can launch to ~40k page views in the first two weeks.

  2. Winfred is an aggregator of UK funding announcements that extracts key features like the amount, the stage, the investors, the founders, planned use of funds etc, and mungs in data from sources like Companies House to verify the announcement and cash at bank vs raised. And yes, I’ve been looking for a use for that domain for a long time…

    Screenshot of my following feed on Winfred

    It’s super useful for me, as I’m pivoting my consultancy more towards that space. It does a few additional nice things, like currency conversion to GBP, and you can follow startups and investors for new updates.

I’ve been really enjoying the Rails + Phlex + Vite stack, leaning on Custom Elements for any interactions that are required. For me, it’s the happy middle ground between React on one end, and Stimulus on the other. Rapid, clear, easy to deploy with Kamal, and with great performance.

I’ve got something much bigger on the music tech side coming up - consolidating almost two decades worth of know-how and accumulated background IP into high-value agentic tools. But that’s for another day.




My friend Phil messaged me last night saying he was getting an ERR_SSL_PROTOCOL_ERROR trying to hit up Macc.xyz. Someone showed me the same thing last week at the meetup, and tbh it had me baffled. After some digging (and some curling), we worked out the domain was resolving to 81.99.162.48 for him - not the usual Vercel IPs - which led me to this post on Reddit.

Virgin Media - the unwanted policemen of the web. Seems they’ve applied a default block to .xyz domains.






I use MusicBrainz dataset a lot across projects, so decided to distill their JSON dumps into a DuckDB database.

It’s a huge, and nested, dataset - but you can run trivial queries easily enough, directly against the object store:

INSTALL httpfs;
LOAD httpfs;

ATTACH 'https://musicbrainz-duckdb-store.lon1.digitaloceanspaces.com/musicbrainz.duckdb' AS mb (READ_ONLY);

SELECT
    date AS release_date,
    title AS release_title,
    barcode AS release_barcode,
    "artist-credit"[1].name AS primary_artist,
    status,
    country
FROM
    mb.release
WHERE
    "artist-credit"[1].name ILIKE 'Linkin Park'
ORDER BY
    date ASC;

For more complex use cases, you’ll want to pull it down and build out some custom tables locally - like if you’re working with tracks, because they’re nested under releases. This nicely gets me around rate limits on the hosted API, and saves me having to run an MB server too.

I’m opening this up as fully free/OSS as is permissable - but you should also consider the MusicBrainz data license if you use it.



Well, that was that. We kicked off Macc.xyz with a social last night. 120+ people turned up! Guess it’s a thing now.

Some of the attendees at Macc XYZ Launch Social

Macc XYZ

I used to run a meetup in my local town, Macclesfield. I let it slide when I got overloaded with my former startup, and became much more London and Manchester centric. I miss having a community of like minded folks on my doorstep, so I’m starting one up again: Macc XYZ.

I think I did quite well getting that domain name. I really didn’t want to endure Meetup’s hostile lock in, so I spun up a Rails API to store the members, and built the frontend in Astro. I’m using Luma to run the RSVP/comms - and it’s a joy! The most modern event platform I’ve seen to date.

For anyone and everyone around Macclesfield, and with an interest in tech, I would love to see you at our Launch Social.


October News

Well October was quite an eventful month - I turned 36, and got married.


Target Panic

I came across the “target panic” phenomenon listening to a podcast this week. It’s a condition archers suffer, where the fear of missing the target prevents them from releasing a shot. I think I’ve suffered similar with startups - not wanting to work on the wrong thing. Imagine many others have too.





I picked up Golang last year - I shipped an “embedded” app across a few hundred kiosks at DFW airport, and Go’s ability to compile down to a single exe across platforms was a big enabler. But with the 1.2 release of Bun, I’d probably use that instead. Bun’s got the same compilation capability now, comparable performance and is rapidly providing a rich standard library. I also find Typescript more enjoyable than Go (just personal preference). Makes me wonder what the future looks like for Go.


I, somehow, came into possession of an M2 Macbook Pro that only has 8GB of RAM. The low memory makes using OS X thoroughly unenjoyable, so I decided to take a shot at running Fedora via Asahi Linux on it.

It’s actually great; quite consistent with Ubuntu running on my main rig, and so snappy it’s become my primary laptop. I recommend anyone with an aging Apple Silicon laptop try it out. The only frustration I’ve had is that the battery consumption when it’s suspended is bizarrely high.




Anyone who has worked with engineers knows that impl. time is not a pure function of complexity, but is greatly affected by their interest in the work.

This tweet by Lea Verou really resonated with me. I’ve experienced this in myself and other developers I’ve collaborated with. IMHO, a “10× engineer” isn’t born purely of talent, but of a combination of domain understanding and vested interest in the problem space.




Colophon

Giving the blogging thing another go. Super simple stack - but hopefully that means I’ll keep it updated:

I’ll definitely refine the design over time, but let’s see how well I do at keeping this thing up-to-date for now…