walliq screenshot

The problem

Wallpaper apps normally need a server and a database just to serve images and a catalog — cost and maintenance for something that barely changes.

What I built

A mobile app and a zero-dependency web client, both driven by a single static catalog hosted on GitHub. Drop images into a folder, push, and the catalog regenerates itself. It includes auto light/dark theming, favorites and pinch-zoom.

How I built it

A Flutter app and a zero-dependency JavaScript web client, both reading a single static JSON index hosted on GitHub and served through jsDelivr, regenerated by a GitHub Action on every push.

Key decisions

  • Used static hosting as the backend — zero infrastructure to run, secure or pay for.
  • Kept one shared catalog contract so the mobile app and the web client stay in sync from a single source of truth.

Result

Built as both a web app and a Flutter build, with the catalog kept current automatically by CI instead of by hand.

Back to all work