In order to evaluate conflict-free data types for React Native apps, I need something simple to practice with. I'm also quite annoyed with our grocery list app, so why not.
Current Status #
Needs polish, lots of polish. Persistence seems to be working for both native and web. Definitely not ready for any of the app stores yet.
Vision #
Opinionated #
Ruthlessly optimised for grocery shopping. Other use-cases may be possible, but not directly supported.
Works out of the box #
No user-registration prompts or anything preventing you from using it within seconds of installing it.
Business model (if I take this further) #
- Free for single users
- Premium for co-operation features
- Ads
- In app purchases
I don't mind the app itself being free, but hosting and maintaining the syncing infrastructure requires both time and money.
Scope #
As a user... #
I can see bought items at the bottom of the list #
I can clear the list of already bought items #
I can see list of recent changes #
I can easily access my frequently used items when adding to list #
I can see if there are other people working on my list. #
I can ask my partner to review certain items on our list #
When you're not at home, but you plan on going shopping later. Then you can quickly request someone at home to review the list.
I can group by items into catagories and sort the list by them #
Super market chains usually have a floor plan that follows a certain order. So, it makes sense to show the items you're passing first, first.
I can create a grocery list with a name, so that I can easily find it later #
I can add an item to my grocery list so that I can buy it later #
I can remove an item I accidentally added so that I don't buy it by accident #
I can mark an item as bought, so that my significant other doesn't buy the same thing #
I can make changes to my list even when I don't have Internet. #
I can see the latest changes to my list as soon as I'm online again. #
I can optionally share and control who has access my to list #
Sending everything to everyone works right now; but there's not a lot of control involved.