
Sports Apps
2024Smartwatch apps for following live baseball and hockey, built solo for Apple Watch and Android watches.
Overview
- Role
- Solo Developer
- Team
- Solo
- Context
- Personal projects
- Duration
- 2024
- Engine & Tools
- Swift, SwiftUI, Xcode (watchOS); Android Studio, Kotlin (Wear OS); RESTful APIs
- Status
- Live Baseball Scores: finished. Live Hockey Scores: prototype
I’m a big sports fan (especially the Blue Jays, Canucks and Leafs), and at the time of making these apps I had recently purchased a smartwatch. Something about the bite-sized nature of these apps made me really want to develop one. These apps started as a way to check scores without pulling out my phone. They grew into a series of solo projects where I taught myself watch development and small-screen UI design.

Personal fan projects. Not affiliated with or endorsed by Major League Baseball, the National Hockey League or the National Basketball Association.
The Apps
Live Baseball Scores
As a Jays fan, I built a watchOS app that delivers live MLB scores, league standings, and schedules. I built the first version in four days.

Live Hockey Scores
I have also become a big NHL fan, so I built a second app for Android watches using Android Studio. The app shows live scores, periods, OT, each team’s upcoming games, and league standings.

Where It Started
Both apps grew out of Basketball Stats Jam, a Java program I built with a team for a university course (CSC207) to track NBA statistics using a RESTful API and Clean Architecture.

Personal fan projects. Not affiliated with or endorsed by Major League Baseball, the National Hockey League or the National Basketball Association.
Designing for the Wrist
Initially, I had envisioned that the baseball app would give the user access to extensive baseball data, including individual player statistics and live box scores. However, I quickly realized that extensive data was not the best choice for small screen interfaces. When people check their watches, they want quick access to the most relevant information. With this in mind, I completely overhauled the app to focus on key details such as current live games and standings. I made the text and logos larger so they were easier to see, and gave each team its own page with its logo, nickname, and next five games.
I also wanted each team page to feel unique, so I went through every team and chose a colour that I felt best represented them, which became the background of that team’s page.



Personal fan projects. Not affiliated with or endorsed by Major League Baseball, the National Hockey League or the National Basketball Association.
Challenges
Live Sports Data
Live sports data is surprisingly hard to access because of the legal protections around it, and many APIs have significant delays. I eventually found a RESTful API that worked, although it also has a delay between real events and the data updating.
Time Zones
The API is run by a British company, so all game times arrived in UK time. I wrote functions to convert them to the user’s local time and format them properly.
Working Within Apple’s Design System
SwiftUI makes custom UI difficult, and even simple things like changing text colour can be hard. However, I found that the small form factor of the Apple Watch looks best with Apple’s built-in UI components anyway.
Personal fan projects. Not affiliated with or endorsed by Major League Baseball, the National Hockey League or the National Basketball Association.
Outcome
Live Baseball Scores is finished and fully functional. Live Hockey Scores reached a working prototype running on my own watch, showing live scores and game status, before other projects took priority. The core design and API approach carried over from the baseball app, and finishing it would mostly be a matter of polish and additional screens.
Designing for a two-second glance really taught me to prioritise information, which extends directly to game UIs, HUDs, and any context in which there is an element of live sports presentation.
Personal fan projects. Not affiliated with or endorsed by Major League Baseball, the National Hockey League or the National Basketball Association.