Portfolio tracker dashboard showing multiple clock-inspired widgets

Case Study

Portfolio Tracker ‘CLOCK’

Clock is a self-initiated project: a custom clock and portfolio tracker built on the M5Stack Core2. It connects to the CoinGecko API, fetches token prices every five minutes, and shows holdings, totals, and percent change on a small physical device.

Coding Product Design Hardware
Type
Personal project
Year
2024
Disciplines
Coding, Product Design, Hardware Prototyping
Deliverables
Working prototype

A quieter way to track your portfolio

I wanted a way to see my portfolio without opening dozens of apps full of noise. So I built a physical tracker that sits quietly on a desk, giving only the essentials: a running total, percentage change, and a simple greeting.

The project became as much about learning as it was about tracking. With less than 100 hours of coding experience, I taught myself enough MicroPython and UIFlow to:

  • Fetch and format crypto prices via the CoinGecko API
  • Display portfolio totals with commas and rounding
  • Add greetings that change with the time of day
  • Sync time via NTP (GMT+3) with retry logic
  • Maintain a rolling 24-hour file of portfolio values
  • Utilise a custom font for the clockface
  • Add shake gestures and capacitive button inputs for navigation

It’s a working object: modest, rough in places, but alive.

Product Features

Clock screen showing time and portfolio snapshot
1. The clock screen
Gesture interaction to activate the portfolio screen
2. Shake to activate the portfolio screen
Live portfolio screen displaying holdings
3. The live portfolio screen
Capacitive touch buttons for brightness control
4. Capacitive touch buttons to increase and reduce brightness

Strategy

  • Strip investing data down to essentials
  • Balance calm design with live functionality

Design

  • Minimal UI language for a small screen
  • Readable type and adaptive layout

Production

  • MicroPython prototype on M5Stack Core2
  • Wi-Fi reconnection logic
  • API fetching, ticker, and file handling