Vibe-Coding A home Kiosk

Vibe-Coding A home Kiosk

When Raspberry Pi announced the new 10" official touchscreen, I knew I wanted one, and I knew what I wanted to do with it. I wanted a “kiosk” type screen that could work in a few different ways. So I set about reading the reviews, and when the Pimoroni birthday sale came up, I snapped one up.

What I want it to do

  • Run an Immich slideshow from my self-hosted Immich server
  • Act as a Bluetooth speaker
  • Act as a media player
  • Show useful information

What was holding me back

I can write basic Python and spin up simple apps, but I normally end up using open-source code from places like GitHub to get what I need.

The problem this time was that my requirements were quite specific, and I didn’t want to spend days or weeks hunting for a tool that did what I wanted, with a lot of false starts along the way.

I’ve been dubious about using AI coding tools, because the ethical questions around them, particularly how the models were trained, and what that means for the people whose code they learned from, are genuinely unsettled. Where I’ve landed, for now, is this: I want one specific tool for my own use, I have no ambition to monetise it or to claim the work as my own, and if I’m upfront about how it was built, other people can decide for themselves whether they want to use it.

Tool of choice

Right now my tool of choice is Claude Cowork and Claude Code, running on an M4 Mac mini. Working on the project alongside it has been really useful, and it’s helped me build things I wouldn’t have managed on my own:

  • A Hisense TV remote
  • A combined Bluetooth speaker and Spotify widget

Other people’s code

I’ve asked Claude to flag where it thinks a piece of code has come from, and to link to the original project and its licence wherever it can find them.

I should be honest about the limits of that: a language model can’t reliably tell you where something in its output originated, so treat those attributions as a starting point rather than a guarantee. If you spot something that’s wrong or missing, please tell me. I’m happy to attribute it properly, or to pull the code out and take a different approach.

The GitHub repo

If you’d like to take a look at what we’ve put together, you can find it on GitHub: vwillcox/ImmichKioskPi

The kiosk home screen showing the Immich album list
Animated slideshow transitioning between photos on the kiosk screen

Discussion

You can find me on Hachyderm at @talktech, and I’m happy to discuss any of this.

Wrapping up

I’ll keep reading and keep taking other people’s views on board, and I’ll carry on trying to use AI as ethically as I can. If something changes my mind on the matter, I’ll be happy to explain why.

Copied to clipboard