How I made a puppy training app in an afternoon
I’ve recently rehomed a puppy* and while he’s not in need of much tech, I found myself wanting a better way to track his training. So I built myself a quick no-code app in one afternoon. Here’s how I did it, the tool I used, and what I learned, for anyone who wants to have a go at something similar.
I wanted a tool that would help me track his training and fitted my needs exactly, unlike app store offerings. Sometimes it feels like a losing battle with puppy training, so it helps to see the progress overall. Plus, my other half wants to know what the dog, Gryff, has been learning. And I know I’m biased into thinking his most recent behaviour represents his usual behaviour when often it’s just naughty puppy hour.
Here’s what I built — a simple app to track the training we’ve done and progress on skills we want Gryff to learn.
This screenshot shows the training log page with all Gryff’s hard work, an example of how logging training looks, and the loading screen complete with a photo of Gryff looking extra cute.
What did I learn?
Building things is fun! And with no-code tools, it’s more widely available. If you’re curious, give it a go, even if you’ve not got a money-spinning idea.
I’ve not used my app long enough to prove it helps with training, but it’s helping me focus on keeping it in perspective. And I now have more ideas and motivation for training future skills to young Gryff.
Best of all was the warm glow of making something. Even though I’ll only use it while he’s still a puppy, it’s great to have the skills to just make what I need. And execution eats ideas for breakfast when it comes to personal satisfaction; I’ve prototyped and brainstormed lots of more interesting ideas, but making this one was far more fun.
I found I could do more than I expected with a no-code tool. I’m definitely going to try out different tools to keep experimenting with ideas and solutions for myself.
What did the users need?
What the users need is the make or break question. And the fun bit about building for myself was how much easier this was to answer.
There were only two users in my plan: me and my partner. I was the core user and normally would just make a spreadsheet, but it needed to work for my partner too. He isn’t as interested in tech, almost always uses his phone for getting online, and has far less time to spend on this side project than me. So a fiddly spreadsheet was right out.
His needs were focused on ease of use (on mobile), logging ideas for future training and seeing what Gryff’s been learning today. On the other hand, I needed more things about logging training progress, seeing how he’s doing overall, and taking notes on what does and doesn’t help. I also want it on mobile so I can drink tea at the same time or carry the cat around to apologise for disrupting her chill with a puppy. And we need help to remember what commands we’ve agreed to use
What did I use to build it?
There are lots of no-code or low-code tools out there. What you can build with them, and how easy that is, varies a lot.
I’d been experimenting with a no-code tool called AppSheets. It works with Google Sheets, which was handy as I often noodle around with that to create trackers like this idea. Importantly, it’s free for up to 10 users. So even if we got the cat involved, we’re still within that limit.
As the only person who wanted to get puppy progress charts out of this is me, having the data in Google Sheets was ideal. I can make a dashboard and play around with that on my large screen, instead of my phone, if I want to (who am I kidding, of course I will).
Turns out AppSheets was also a good choice as their Internal Support Team really get the challenges Gryff has…
How did I build it?
To make sure I got everything essential done in the one afternoon, I restricted myself to a single post-it note. As I’m only human, I did use a wider post-it note and wrote on both sides. This worked well at keeping me focused. I also found it pushed me to go straight to experimenting more, rather than sitting around thinking and planning too much.
I wrote out the key things I needed my app to do and what I’d need for that. Having less space helped me avoid overthinking everything.
In Google Sheets I added the tables and columns that I thought I’d need. I was able to quickly create a proof of concept just there. I checked I had everything I needed to log and could use keys and lookups to join the data up. I also ran the list of ratings and their meanings past my bemused partner to check they made sense to him too.
Then I jumped into AppSheet. Experimenting in AppSheet was quite fun. I like that you can immediately see the updated app there when you make changes to a data table or the UX. I was quickly able to see some gaps and also efficiencies, such as removing a whole table and re-using existing reference data in more places. I could iterate fast as a) I was the core user and b) I could instantly test a change.
I did find some of the formulas around selects and lookups to be a challenge. The help pages were very wordy when I needed more of a speedy overview. Just trying and testing worked quite well to accelerate my learning.
Fixing all the references, lookups and selects took longer than planned, so I had to spend less time on the UX. Luckily, AppSheets looks pretty OK out of the box. I did add a cute dog logo, so I can easily find it on my phone’s home screen. I got a free icon via FlatIcon from Freepik. Picking the right puppy photo for the loading screen was the hardest part.
Having played around with my first version, my ideas of what I’d add have totally changed. There’s little value playing with charts until I get more data. Instead, I want to:
- Bulk add training done at the same time of day.
- Add some way to track types of distraction.
- Tidy up the main pages to hide system fields and cut down on the noise.
- A ‘today’ summary for my partner.
Hopefully, I won’t need this tracker for too long. So I’m not planning to polish it much. But I have some other ideas for tools to build and am eyeing up experimenting with different no-code platforms.
My co-workers also enjoyed ‘helping’ this along (read: snoring all afternoon)…
* Disclaimer for anyone who is worried: we rehomed an unwanted lockdown puppy as we’ve wanted a dog for a long time. I have in fact shaped lots of my life around this (from house buying decisions to career). Careful thought about how we’d do training or dog-sitting went into the decision. The cat gets on well with him, although, like for anyone, sometimes puppies are a bit much. The cat is also a rehome and plays fetch.