This is a relatively simple app designed to help users share their achievements and progress towards their goal with others. I'm actually quite proud of how it turned out - it works smoothly, despite some rather unsightly formulas behind the scenes.
I discovered Glideapps earlier this year and was instantly excited by the prospect of making mobile apps that run off a Google Sheets back-end. As a non-coder, Excel has served as an outlet for some of my 'maker urges' over the years. Put me in front of Excel with a data problem to solve and I'm about as happy as I can be in a work setting. In fact, I distinctly remember saying "I wish you could build apps based on Excel sheets" several years ago, so you can only imagine my joy when I discovered Glide.
Glide is still a young company but its user interface and funcitonality is good and improving all the time. Every week or two they send a newsletter with the new features available to users, so you can tell they're working hard behind the scenes. They also have a large number of template apps you can clone to get you started, so it genuinely is possible to have your own app up-and-running in around five minutes.
In terms of design the apps all have a similar look to them which makes it faster to build because you don't have to think about design, but also limits your flexibility with regards to look-and-feel.
I decided to call my app One Done A Day, mainly because the .com domain was available.
I wanted users to be able to:
- Sign up and define their goal
- Log an action they have taken towards their goal
- Comment on other people's actions
- View a leaderboard of other users sorted by current 'streak' (see below)
I also wanted the app to record 'streaks' i.e. number of consecutive days with actions for each user.
And finally, I wanted users to be warned if they didn't post an action for a number of days and then eventually be kicked out!
The build process
I started out by planning the Google Sheet layout. The two main tabs were Users and Actions which are the two data types. Theoretically the app should have been very simple, but somehow I made it more complicated...
The Users tab comprises of the user's email address (this is the unique ID for each user in Glide), their username, and their goal.
The Actions tab comprises of the user's email address, the action, and the creation timestamp.
Based on just these two tabs I was able to create a basic app that showed a list of users, and a list of actions by user.
However my app needed to have a few more features.