
While running several businesses and agencies, I always wanted an always-on dashboard with my finances displayed 24/7 on my TV. When I wake up I want to see that number, and when I go to sleep I want to see that number. It helped me focus on what actually mattered: the bottom line, not other distractions. I was also spending large amounts of money, some of it wasted business and personal spend, so I wanted to see my transactions every day, and where my time was going.
So I assembled it all into one dashboard: my real finances pulled through the Plaid API and others, credit card spend, habit streaks, and an hour-by-hour log of the day, giving me a complete view displayed on my 70-inch TV. The background is Mars, to show where we are going soon, along with a ticker counting down to my next birthday to remind myself how important each day is to execute.
- Integrating financial APIs like Plaid across accounts: link flows, access tokens stored AES-256 encrypted, and a cost-aware caching layer that refreshes bank balances every 24 hours and credit data every 12, so the dashboard stays live without burning API calls.
- Designing for a TV kiosk: a password gate with rate-limited login, a session that never expires while the browser stays open, and a fixed single-screen grid sized exactly to the viewport.
- Habit streaks that increment and reset themselves daily using timezone-aware dates, polled every few seconds so the screen is always current.
Built with Next.js 15, React 19, TypeScript, and Tailwind, with Supabase storing streaks, time entries, and encrypted Plaid tokens. An admin panel handles connecting accounts, editing the daily log, and managing streaks.