- I want native desktop apps
- I want P2P device sync. My laptop and my home server should be peers. Just with different rules for which photos are stored locally on each device.
- I want per-device storage rules. (Eg, "I want all my favorited photos, and recent photos up to 50gb on my laptop").
- Backups. I want to be able to plug in an external hard drive and backup my photos (with some rules). Then disconnect the drive and see in the metadata for those photos that I have a copy of the full res RAW on that drive.
But even if other programs exist, its still fun to make something myself. Authoring your own software gives you a different relationship with the computer. You're less of a consumer. You can change or tweak features on a whim. Psychologically, its kind of like being in your own home vs being in a hotel room. If you hate the furniture at home, you can move it or change it. You can decorate however you like. In a hotel, you're affected by your environment but you have no agency over it. I think its much more healthy to create.
But I’m optimising for the feeling of joy and agency over my tools. I also want to experiment with p2p / local first data structures in a real app. I could fork immich and rewrite the data model. But that all seems much less fun.
At the end of the day, I’m not doing this for other people. I’m doing this for me. Learning dart so I can hack on someone else’s code sounds like a pain in the butt. Not like something I’d want to do for fun on the weekend.
Working on someone else’s code seems like a strange default. You and others have jumped on me for wanting to make my own thing instead of using - or forking - someone else’s software. Can you help me understand why? Why would that be the default for a fun hobby project? I’m confused.