Projects


Homelab

Github

I have a handful of Raspberry Pi's set up as a homelab with Jellyfin, Pihole and a web interface for file storage.

Some services like Immich have since been moved to a Hetzner VPS.


Infrastructure as Code

Github

While I've previously been able to rely on the free tiers of different SaaS Platforms, I wanted to own the infrastructure for Pokécompanion and deal with all of its associated challenges along the way.

Moving all of my existing setup into Terraform (later ditched for OpenTofu) was a fair bit of effort and I didn't want to over-engineer a proper secret storing mechanism so it's a shame I can't share my setup. However, I wanted to create a module for a Pocketbase instance on EC2 which I did rewrite and publish in the open.

This has been by far the best investment of my time. I later moved my homelab Ansible playbooks into this repo as well after my Raspberry Pi SD Cards got corrupted, saving me hours in later reconstructing my setup.

The last time I updated this section, this has now grown to managing 12 Projects via a private Github repo.


Deterministic, "random" image generator using jdenticon. Will use the route i.e. avatar.helbling.uk/test123 as the seed.

Originally created as a Microservice to support Pokécompanion. Deployed to a single Cloudflare worker.


helbling.uk

Github

This site, built with NextJS, MDX and Tailwind deployed to Cloudflare.


Quick POC using ffmpeg WASM to compare its performance against my "toMP4" macOS quick action.

Should not seriously be used as its performance is terrible, but it runs entirely client-side.

Built with SvelteKit and deployed to Cloudflare


My passion project, which is now on its third iteration using Svelte. While plenty of front-ends to the world of Pokémon already exist, none of them solve my needs quite right. On mobile, the site needs to feel light-weight and easily digestable. Additional features of the site should seek to be non-intrusive.

At its core, it is just a PokeAPI frontend. But a number of microservices have sprawled from it. Lots of sites also let their data become out of date which is incredibly infuriating - and one day that will be me, so an auto-update functionality was also quite important.

Product and project aside, it's also been a massive learning opportunity to apply new tech to a real product, such as:

  • Auto-ingesting new data without need for manual input
    • Using AWS Lambda and SQS
    • Auto-deploying changes to a Github Repo
  • Using Pocketbase as a simple backend
    • Handling OAuth
    • Deploying to AWS with proper backup strategies
    • Building a re-usable Pocketbase Terraform module
  • Using Cloudflare
    • Pages projects to host this site
    • R2 to host social media preview images
    • Workers as microservices
  • Observability
    • Error reporting with Sentry
    • Log ingest with Axiom
    • Migrate the above to New Relic

I like to listen to TTS reddit videos before going to bed.

My subscriptions tab gets flooded in the evenings, so Youtube does not have a nice way to just surface these videos to me. Despite "reddit" being a daily search for me, Youtube will try recommend other content to me, causing frustration.

To avoid this daily hide-and-seek before going to sleep, I've put this page together to just show the latest videos uploaded by a handful of channels and deeplink into the Youtube app.

Search API calls to youtube are quite expensive, so I cache the API responses quite aggressively.

Built with Svelte, deployed to Cloudflare.



Crafts

Queer inside

Intel-type sticker with a pride rainbow along the top and the world 'Pride' on a transgender coloured gradient background

Inspired by LeafItGreen on etsy I wanted to practice making my own version and print stickers on a Cricut.

The original and .svg files are available for download here.