I Keep Forgetting to Buy Soap, So I Built an App

Chiril LuncasuChiril Luncasu
3 min read

So let's be honest here...

Everyone forgets things. I’m willing to bet that at some point this week, you opened a door, walked into a room, and instantly forgot what you were looking for.

Even though I am clearly one of the smartest people on the planet, I, too, forget to buy something when I am in the grocery store. We have complex brains that we use for the most mundane tasks! Moreover, if you, too, are a person with a big brain like me (no actual data to support the claims), I am sure that you are looking to simplify your life by making your tasks easier.

Take me for example!

Can I do small things like use a vacuum cleaner, or hand wash my clothes? Yes!

Will I do it when I can use the Roomba or the washing machine? Well... That's an exercise for the reader

Either way, because of the aforementioned motive and the need to show off my great programming skills on GitHub (recruiters, I am open to job opportunities wink wink), I concluded that I shall bestow the world with my app!

What will be the main purpose/features of the app?

Great question!

The purpose of the app is to help you track the products you regularly buy and helps you add them to your shopping list when you run out. Think of it as a friend that reminds you to buy important stuff! Like hygiene products, food, utensils.... alcohol

After talking with a great colleague of mine (I have ChatGPT Premium), I achieved these goals:

  • Add your regular grocery items

  • Mark items as “bought” and “out”

  • Auto-populate weekly shopping list with items you’re out of

  • Mobile-friendly and installable website

  • Fast and offline-ready

Now, I feel like these goals are not ambitious at all and will clearly not come back as a problem in the future! Right?

Tech stack?

For this project, I will be using: Frontend: React + Typescript + Vite

I have a lot of experience with these on the front end, so I will make sure everything looks neat and tidy on the front end.

Backend: ... Well, I do not really need one, do I? You’re fine with offline-only use (stored in localStorage or IndexedDB), which was proposed by my great colleague(Chat GPT).

Though I might add syncing lists in the future, depending on how well the project does, so the Backend is still a work in progress.

What's something I want to learn during this project?

Besides building a useful app that keeps me from forgetting shampoo for the third time in a row, I also want to level up a few skills along the way:

  • Improve my state management game — making sure the app logic stays clean and scalable as features grow.

  • Get more comfortable with offline caching — especially making data persist well across reloads or weird mobile behavior.

  • Explore a better design system — not just making it work, but making it look and feel smooth too.

  • Practice writing cleaner architecture — separating logic, keeping components small, and trying not to cry when I refactor later.

So.. time to start work!

In the next days, I will be working on my project and updating the blog. I’ll share updates as I hit milestones, run into bugs, or regret my decisions — stay tuned! If you are interested in how the project is going, you can check my GitHub, and you can message me if you have any questions (ahem, job offers ahem).

Github link: PriapusZeGod/Restockr

Thank you for reading today's blog!

Chiril

0
Subscribe to my newsletter

Read articles from Chiril Luncasu directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Chiril Luncasu
Chiril Luncasu

Software engineer building small tools to solve real problems, writing about what I learn. If you're curious about my projects, feel free to reach out — I don't bite! Unless I'm hungry. 😎