The Idea
First world problems - I get bored of my wallpapers every other week, and finding a new wallpaper that I like may take quite a bit of time. At some point I thought "Hey, what if I made a thing that would change my wallpaper every day?". I told about this idea to a few friends and they were pretty excited about it as well. So I decided to build the app.
Initial Version
DailyWall v1 was an Electron app. I know, ew. But it was what I was able to do at the time.
It was slow and bloated, but it did the job. I used Next.js inside of an Electron app, I wired up PayPal for Pro version purchases and set up a JavaScript timer for checking "are we there yet" every minute in Electron's main process.
Needless to say, I wasn't particularly proud of it, so a year and some later came... drum roll...
The Swift Rewrite
The idea was the same - an app that changes a wallpaper randomly every morning. But doesn't suck.
I started completely from scratch using the newly released SwiftUI framework. Instead of a hacky timer, the app now used system scheduler. Instead of CSS hacks - sexy native animations. I also adde Paddle instead of PayPal for payment processing, expanded a library of photos, added selectable categories, and even made an iOS version!
One change that had to be made was introducing The Cloud™, since I wanted to do neat things like wallpaper match and settings sync between devices. But it's minimal, no user data is tracked unnecessarily and it's totally worth it.
