Goodest, Vizsla sitting in front of a person wearing black pants and orange shoes, on a gravel surface.

Case study

Goodest

What: An inclusive no-nonsense dog training app

Audience: Dog people working towards a goal

Mission: Help people live their best life with their dog

Making a start

This is a personal project i’ve been thinking about for a little while and have discussed with friends (who have gone on to be beta testers) so I thought I’d make it happen!

In a nutshell, Goodest is designed to help humans get better results from their dog training, by supporting them to be more consistent and adaptable through the process. If you’re interested to learn more about what/why, please see the website.

With any new project, I like to start with what the ultimate long-term goal is and work back from there. In this case, after chatting it through we decided that the goal is a Duolingo x Strava love child:

  • Duolingo’s incredible gamified habit / streak engine

  • Strava’s flexible activity tracking, group challenges and fitness metrics

This approach might feel a bit backwards, but I think getting clarity on the destination makes it easier to figure out how to get there! With this as a starting point, I was then able to distill the outcomes the MVP will need to achieve:

MVP Product outcomes

Inclusive: Allow users to bring their own unique approach

Flexible: Set custom goals and monitor progress trends

Qualitative: Record how each session felt

Prototype planning

Goodest - Flowchart diagram showing a hierarchy with 'Dog' at the top, leading to multiple 'Goal/intention' nodes, which further branch into 'Session' nodes, ending in 'Images,' 'Session scope,' and 'Result'.

After lots of thinking / sketching, I landed on a few foundational decisions:

  • 1 human can have many dogs

  • 1 dog can have many goals

  • 1 goal has many sessions

  • 1 session can include work towards many goals

Goodest - Airtable database view displaying activities, handlers, dates, images, and session scores. Example activity: Seaside canicross on 29 May 2024 by Ryan, with images and star ratings.

So I started working out the database foundations in Airtable, where we landed on 4 groups of data; Humans (handlers), Dogs , Goals and Activities.

Goodest - A series of wireframe mockups for an app interface, showcasing user input fields for dog information, goal setting, tracking progress, and session feedback with options to log details and save inputs.

And a few quick UI concepts, mostly for the purposes of figuring out the data structure and relationships, but also to get a headstart on the last step in the prototyping phase.

Building a ‘live’ prototype with Airtable

Airtable has its own Interface builder, which is super easy to use and is available on the free tier! It allows you to quickly create a user-friendly frontend for your database, with simple components like a form for creating new activities.

Within a few hours I had a well rounded UI, ready for me to use in the real world... Doing this for a few weeks helped me figure out any tweaks to make, before feeling confident I had the structure in a good place!

Goodest - User interface for adding a new activity on Goodest platform, featuring fields for activity title and notes, a calendar for date selection, and submission options.
Dashboard screenshot of a training tracker named 'Goodest' with a section titled 'Rhubarb'. It shows 20 activities and a line graph displaying goal progress over dates in May 2024.

Build time!

Now that I’d done a shakedown of the concept and the technical structure, it was time to build out a more user-friendly and scalable interface - I chose Softr for that job! I’d not used it before but I was attracted by it’s low barrier-to-entry and found I quickly got up to speed building out my UI.

Goodes - showing dog-related activities and goals, featuring a profile of a dog named Rhubarb, a Hungarian Vizsla, with 16 total sessions and goals like Bulletproof recall. It includes community activities such as Canicross events with ratings.
Goodest - Webpage interface showing recent session titled "Walk on Salisbury Plain" with an image of a grassy hill under a cloudy sky.
Screenshot of an app interface for adding a new session, titled 'Goodest'. Fields include Session Title, Which Dog?, and Which Goal(s). Options selected are 'Rhubarb' for the dog and goals 'Bulletproof recall' and 'Keep running Canicross'. Navigation includes Goals, Sessions, and Add Session.
Dashboard displaying dog training goals categorized as "Upcoming," "Current," and "Completed." Includes tasks like stress-free loose lead walking, bulletproof recall, and more with small dog photos.

Customisation options on the free-tier are more than enough to put something good enough together and after ~1d of work, I had a fairly well rounded MVP.

Functionality:

  • Sign up / sign in / forgotten password

  • Community dashboard where you can see your and your friend’s activities

  • Create and edit dogs, goals and sessions

  • Goal overview inc gallery of images from associated sessions

As well as integrations with important tools like Mailchimp (newsletter), Google Analytics (Product metrics) and Google Search Console (SEO) so we can keep track of product usage and growth!

Now for the finishing touches…

Dog sitting on grass gazing up at a person, with the word "Goodest" in bold text.

I wouldn’t go as far as calling it branding… But as I still had some spare time, I created some visual assets with help of Google fonts and Figma.

So that I had something to spice up the public marketing site i made (with Softr as well) on top of the product. This is still all within the free tier, looks good enough for now and also it saves £20/m on a SquareSpace subscription too!

Website landing page for 'Goodest', a dog training tracker. Features a person training a dog and text explaining the service.
Webpage featuring a story about "Goodest" with an image of a man in a red jacket and a dog wearing a coat on a mountain.

Next Steps

I’m using Goodest every day to track my own goals! Once I’ve fixed a few niggles the next job is get some early adopter customers and take it from there!