← back

Tilde and never settling for your perfect app

Created on: 2026-05-24

I have vibe-coded my ideal self-hosted, cloud replacement and i'm in love with it.

I have always been a "host everything in the cloud" type of person, and while I was a G* user or an A* user, that was fairly straightforward. Every now and then you upgrade your plan, pay a bit more, and you keep on with your life.

The story was quite different on the periods were I was trying to live a cloud independent life. I tried several options, and I never seemed to love any too much. In the end, it wasn't that the solutions weren't good, but that I had to embrace simplicity in the process to get were I wanted to go.

Let me explain.

The obvious alternative to big clouds is hosting something called Nextcloud. Nextcloud is a MASSIVE project that allows you from hosting your files (similar to Dropbox), to self-hosting a full Microsoft Office online alternative or Zoom. It is built for the enterprise, and mulit-user experience is at the core of it. Also, its slow. The UI is quite bad, and if you want to self-host it, you either put a decent machine behind it, or accept that its going to take forever.

Furthermore, it didn't spark joy the way Marie Kondo says it should, there was something always to bulky about it. The Android apps were not great (except for the main one, that one is good!). I tried a couple of times and I always ended up leaving it for another thing.

The alternative to the big, all-in-one-place Nextcloud is hosting all your services separately. I also did this, going as far as hosting Proxmox to run everything as a standalone docker container. A cardav/caldav server for my contacts and calendar, Syncthing for files, Immich for photos, Trillium for notes, etc, etc. This approach works, but is a bit more clunky, has a lot more moving parts, and it still requires a bit of hardware. Immich, the best open-source photo app out there has no-zero RAM requirements. This leads to either a homelab (which I learned the hardway always breaks when you are traveling), or an expensive setup in the cloud.

What I really wanted was a very lean (probably rust) server that had the carddav/caldav but could also handle files and photo. Was that too much to ask?

Then it hit me, I can vibe-code such an app today, and well, I did.

The core set of features that I wanted were as follows:

Going the webdav route for files allowed me to re-use a lot of existing apps (file mounting is free on most operating systems), Obsidian has support for it (so I moved all my notes to there), and a couple I'm probably forgetting about.

I knew going in that photos was going to be the hardest one. My main source of new photos is my phone through camera or Whatsapp. I wanted access to all my photos on my phone, but potentially not a full-space. I wanted the ability to delete photos while offline.

I decided to implement my own little protocol and vibe-code an Android app for it. The protocol is fairly simple:

Then, the app works as follows:

All apps are tiny, so far everything has been very reliable. I don't know if this app will interest other people and will be used more, but it solved all my problems (the ones related to cloud hosting at least).

This would not have been possible 2 years ago. My knowledge of Rust is very limited, and this project alone would have taken me a year worth of weekends. Now it only took about three.

Sometimes I think about the energy footprint of coding with AI. For tasks like this, were you take energy-hungry AI and use it to build a very efficient tool you use everyday: is it net positive? I should run the math...

Tilde WebGallery