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.
- 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
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