Innovation
Product Design
Visual Design
Branding
Front & Back-end Development
I decided to solve a real-world problem by exercising both my design and development skills. I started by building a simple app which provided a daily piece of mindful running advice, tested this with users using TestFlight and then iterated on it. As I developed the app further I added in Apple Health integration, journal functionality and injury tracking.
Built in Swift, the app integrates multiple external APIs and services. To streamline development, I kept most of the logic within the app rather than using a separate web API. However, notifications are served through a Node.js function.
Data store for users, journal entries and injuries. I used Cloudkit as it provided privacy for user data, low cost and easy integration.
Apple stores all workouts in Healthkit. I allow users to see runs that are stored on their device and import them into the app.
This service acts a CMS to store running tips which comprise of quotation copy, author name and mugshot image.
Notifications are triggered using a node.js cloud function which sends messages to the Notification Service Extension. The cloud scheduler is used to automate these so they can be received at a daily interval.
These were used to log analytics and to provide communication with customers in-app.
To ensure the app was maintainable, extensible and with reusable components I adopted an MVC architecture to separate out the logic and data components from UI controls.
The visual design for the app took inspiration from paper-based running journals. I used a monochrome palette with colourful highlights used to provide pops of colour. Hand-drawn underlines reinforce the journal aesthetic.