Taking a piece of Instagram with me
I made a photostream that I own, not Zuck or anyone else.
For years I've been having a love-hate relationship with Instagram. I'm still there because I value the interaction with my friends, some of them remote, but I'm always annoyed by the quantity of ads that show up in my feed.
Now that I'm fully coming back to the small/indie/personal web, I'm trying to take with me some of the activities I use the corporate web for, and it occurred to me that taking a piece of instagram with me would be a great idea.
I decided to start posting photos in my own space, so this Saturday I started toying with the idea and I set up to start.
This also intersects with something I've been doing for a while: being more mindful of the things we live through revisiting and curating our photo libraries. Here's more about it if you're interested.
The Project
I knew I didn't want to do a commit every time I wanted to publish something, because that has stopped me in the past, but especially because I wanted to publish from my phone.
My first read of the project:
- I needed to hold the photos, text and metadata in a database somewhere
- The website should access the data via an API
- I needed a client for the website that fetched the data and put it in a pretty layout
- I needed a client for posting that has a form with an uploader and a few fields for text and metadata, that uploaded all of that to the database
- The client also needed to be able to fetch posts to edit the contents and save the modified data to the database
- I should be able to download a backup of the data at any time
- I didn't want any of this to generate any monetary cost at all. No paid subscriptions, no buying anything.
I had everything clear, the problem was, learning to do that would take me weeks. So I drafted a very thorough spec document and handed it to Codex.
In about an hour, after some back and forth and bug fixing, I had a fully working app with a barebones visual design. That was Saturday night, then I spent 4-5 hours on Sunday manually working on the layout and design, and uploading content.
Here's the result: Memories.
Working with AI
I know, I know. AI is the forbidden fruit right now. But how I see it, by working carefully and staying in control, we can turn it into an excellent tool.
In this case, I made sure to understand the problem to solve, and asked exactly for the solution I came up with, with a scope that allowed me to actually code the parts I love doing. I had a blast on Sunday making the barebones app something that reflected what I wanted in terms of layout and design. I even modified the solution a little bit after the fact to adapt to some new ideas that occurred to me while I was modifying the presentation layer, and I learned some React in the process.
The most important thing for me in the end is to be able to understand how the app is built, and being able to modify it and debug things that come up in the future. AI enabled me to publish what's important to me, and I really like that. Sorry, not sorry. Or as my friends jokingly say in Spanglish, perdon't.
w