This project had a very small scope and was done in pretty much a single day. I'm quite proud of that, not necessarily because I'm that fast or good, but because it shows that I can scope very small projects correctly.
The premise is simple: Give the user a single drawing prompt, every day.
But now comes the hard part: Where do we get the prompts from? Well, I chose to scrap them from a site that offers a blog post with ideas for every month.
This is by far my biggest criticism of this project. It's pretty much a GUI for content some else made, which is not ideal. I give the credit to them directly on the page and therefor hope to drive at least one click per real user to them as well, but either way: not ideal.
But let's take a look at the technical part of this project: I didn't want to pay for the hosting of this project, because the idea is so simple, that it shouldn't require it's own server.
I therefor decided to use static hosting provided by Vercel and use GitHub Actions for the content scraping. The flow therefor is:
This is great because it can run autonomously and serve a very high amount of users at the same time.
For the frontend I've used SvelteKit, which I've never used, but which is quite nice.
What's not great about using these Frameworks upon Frameworks like SveleteKit and Nuxt is that they seem to change a lot. When I tried to update the project 9 month later, the whole build process changed from their own CLI to Vite, which required a migration. Not a big deal, but something that bothered me either way.
Given the technical state, what could I do to improve this project? Well, the most obvious thing is that I should switch out the content side. With the current state of Large Language Models (LLMs), I think it would be possible to generate these ideas on the fly and therefor eliminate the dependency on an external site.
Overall Daily Drawing Prompt was nice little project, that didn't take much effort, but helped quite a few people if Cloudflare Analytics is to be believed.