Selected work / 03Product design & hardware
Portfolio Tracker
A quieter way to check in.
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.
The idea
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

Time at a glance.

Shake the device to open your portfolio.

See your portfolio’s current value.

Use the capacitive touch buttons to turn brightness up or down.
Bringing it together
Checking a portfolio without opening another app
Clock turns a portfolio dashboard into a physical object with a deliberately limited role. It tells the time until a shake brings up the portfolio; a total and percentage change provide the brief update I wanted without opening another app.
Building the working prototype connected interface decisions to the realities of a small device: readable type, touch and gesture controls, and data that needs to keep updating. It also made learning to code tangible. Each improvement became something I could pick up, use and refine.
- My contribution
- Product design, interface design and hardware prototyping.
- Built with
- M5Stack Core2, MicroPython, UIFlow and the CoinGecko API.
- Project
- Personal working prototype · 2024.