Hello,
Dear readers, I caved. Ok I don’t mean to be so dramatic, I just mean I started a new project… The creative juices have been boiling inside of me and today they just came flooding out, I had to make something. So I present to you, Water Me.
Water Me
Elevator pitch: The cute and simple reminder app to track and notify you of when to water your plants. Simply login, add your plant, define the name and frequency, and enjoy whatsapp or email notifications to prevent your pretties from wilting away.
I challenged myself to set this up quick. I tried to stick to tech that I’m familar with so I booted up a Next app with React and Tailwind. Tailwind was a real lifesaver now that I’m very familiar with many of the class names. I needed a database and have used Prism before, but I wanted to try something new. I frequently hear about Supabase and decided to try it out. I love it so far, especially the built in AI assistant to help boot up and refactor tables and columns. They also provide a types file for easy Typescript compatibility. With all that I booted up the app and got a form in which you can add in your plants. Then a PlantList component to display them. I haven’t had the chance to look too deeply into sending notifications and setting up login to access data across devices, but that’s up next on the list.
I’m just happy to have got something out like this. I think I could benefit from developing these small quick projects. Because even with this small project, I’m learning about forms, databases, how to send notifications, and mainly, where costs typically come from in these projects. I’m trying my best to do everything free and open-source. I believe I shouldn’t worry about using anything but the base free tier for these tools until I actually need it. No need to break the bank for a web app me and maybe my friends will use.
Glad to have gotten this out of my system, even though it’s not complete as of yet I’m happy to have started. If I start deploying these short but educational practice projects there’s one mentality I need to embody. Do what’s essential first. I shouldn’t be bickering about a styling issue when the logic is not even written. Many things can be done later. What I don’t think is okay though is to leave band-aids everywhere. You don’t want cheap patches like a "type: any" instead of taking the time to actually figure it out. Code can be barebones at the start, but not brittle. And with that I will leave off for today, thank you for reading today’s blog, I’ll see you tomorrow.