Build log
2024-09-21 - This website
I used ChatGPT with o1-preview to refactor the whole build script and add live reloading. It worked out of the box. For small projects like this, AI is clearly now a superior programmer compared to me. I can do in ~5 seconds what would have take me at the very least one hour manually.
With my goals of the website being simple, durable, fast, cheap, I think the mobile app option was a mistake. It is not simple at all. The next step will be to rip it out and replace it with a simple web interface that allows me to type these updates from my browser.
2024-07-13 - This website
It works! This update was sent from my phone :)
2024-07-13 - This website
Today the goal is to close the loop and actually download the database from R2 then pull it from the repo using my github action.
2024-06-16 - This website
Started building the mobile app that will allow me to post on the go!
Expo is really good, makes getting started on mobile super easy. They even have a SQLite lib which I didn't expect. I had a bit of trouble getting it to pick up my database loaded from the internet, but after figuring out that SQLite.openDatabaseAsync()
expects the database file name and expects this file to be in the FileSystem.documentDirectory + "SQLite/"
directory, it works perfectly.
So far I have an app that displays a list of projects, and you can click on a project to open a new page that displays the details for this project.
2024-06-16 - This website
So after thinking a bit more about it, I need a centralized storage solution to make things practical.
I'm trying my next iteration with Cloudflare R2 because I already host this website using Cloudflare Pages and I will stay under the free usage limits. It's compatible with S3 so the API is not going anywhere, and I'll be able to migrate to another provider easily if needed.
The big picture is: mobile app -> R2 -> Github action retrieves updates -> commit to repo.
The bucket is only used for transient storage, the source of truth stays in the git repository.
2024-06-15 - This website
This update was created from Github Actions.
I'm trying to find a way to make it easy to add new updates to projects without having to manually update the database.
The action is launched using workflow_dispatch
which can be triggered by an API call. My goal is to create a small mobile app that can be used to send quick updates to Github directly, and have the action commit them.
Unfortunately I can't send the images that way... But it's good to know it's possible to create commits from actions.
2024-06-09 - This website
Tried aider today, to see how it works on a very small codebase like this one.
I was surprised to see it create commits automatically on my repo without asking for permission first. But it worked pretty well, see for example this commit where I asked it to refactor a part of the code by extracting a function.
UPDATE after checking the code, I realized it had duplicated the main loop (45 lines!)
2024-05-17 - This website
So I chose to build my own static website generator because 1) why not? and 2) I'm sure it will be simple because I only build what I need.
Python will probably be around for the next 50 years so I should be good on that side. Markdown too, so I chose to write my posts with it using python-markdown. I added pygments to be able to add syntax highlighting, I can easily swap it for some other library if needed.
On the frontend side, a good old style.css is all I need for now.
I had initially built the content side by committing .md files directly in the repo, but after a while I decided that it was preferable to have more structured data to make it easier to update. So I started rebuilding it to read the data from Sqlite. That's another piece of technology that is rock stable and will probably outlive me.