← Back to portfolio

Software · Desktop App

Daily Dashboard.

A desktop app I designed and built to replace three separate tools — a calendar, a to-do app, and an idea board — with one window tuned to how I actually work. I use it every day, across two computers.

ElectronReactViteDesktop appOneDrive syncAI-assisted build

The problem

Three tools, one workflow

I was juggling a calendar app, a separate to-do app, and a scattered pile of notes for ideas. None of them talked to each other, and none matched the way I actually plan a day. I wanted a single, always-open window — dark, keyboard-friendly, no accounts, no logins — that put my schedule, my tasks, and my projects in one place. So I designed it and built it.

The app

Calendar
FriJul 17
SatJul 18
SunJul 19
ALL DAY
Placeholder all-day
5 AM
6 AM
7 AM
8 AM
9 AM
10 AM
11 AM
12 PM
1 PM
2 PM
3 PM
4 PM
5 PM
6 PM
7 PM
8 PM
9 PM
Morning Routine
5:30 – 6:30 AM
Learning Session
7:00 – 9:00 AM
Workout
9:30 – 10:30 AM
Lunch
12:00 – 1:00 PM
Review Plan for Weekend
2:00 – 4:00 PM
Dinner
5:00 – 6:00 PM
Night Routine
9:00 – 10:00 PM
Morning Routine
5:30 – 6:30 AM
Learning Session
7:00 – 9:00 AM
Workout
9:30 – 10:30 AM
Lunch
12:00 – 1:00 PM
Review Plan for Weekend
2:00 – 4:00 PM
Dinner
5:00 – 6:00 PM
Night Routine
9:00 – 10:00 PM
Morning Routine
5:30 – 6:30 AM
Learning Session
7:00 – 9:00 AM
Workout
9:30 – 10:30 AM
Lunch
12:00 – 1:00 PM
Review Plan for Weekend
2:00 – 4:00 PM
Dinner
5:00 – 6:00 PM
Night Routine
9:00 – 10:00 PM
To-Do
1 task tomorrow

Late

Submit lab report 2d late

Today

Reply to recruiter email
Career
Update resume
Mock interview prep
Career fair — Sept 4
Project Board

Portfolio Site

Design

1.Fix background colors
2.Add interactive widget

Content

1.Write case study copy
2.Update resume PDF
3.Proofread everything
100%
The full window — click around. A three-day calendar across the top, a date-anchored to-do list at the lower left, and a zoomable project board at the lower right — everything on one screen. This is a click-only recreation for demo purposes; nothing you do here is saved.
This is the color key — it shows what each color category means. Right-click any color in the real app to rename it.
Click Add Event to see an example of what you'd do to schedule something.
Tap the robot for an all-in-one daily briefing — reminders, weather, calendar, and unread email in one go.
The weather icon gives you today's or tomorrow's forecast, whichever you pick.
The mail icon summarizes your unread email — star or delete right from the popup.
Check off a task and it archives after a countdown — 5 seconds for today's tasks, 10 seconds for anything already late, so a late one doesn't get checked by mistake.
Color-code any task, and the date defaults to whichever day you're currently viewing in the to-do list.
Scroll and click around the project board — drag cards, add projects, recolor them.
Step 1 of 8

Calendar

  • A three-day time grid with a live current-time line.
  • Click to add events; drag to reschedule.
  • Repeat-weekly and same-week copies, plus a color legend by category.
  • Drag a to-do task straight onto the calendar to schedule it.

To-Do

  • Date-anchored tasks with groups and recurring routines.
  • Overdue items get a "Late" divider and day-count badge.
  • Completing a task starts an undo countdown before it archives.
  • Pinned daily reminders separate from dated tasks.

Project Board

  • A zoomable, pannable canvas of project cards, subcategories, and ideas.
  • Everything is draggable, resizable, and renamable.
  • Doubles as an idea inbox that auto-exports notes into my Obsidian vault.

How it's built

An Electron app with no server

Daily Dashboard is a desktop application built with Electron and React (Vite for the dev build). All data lives in a single JSON file written atomically, with a rolling backup and automatic recovery if the file is ever corrupted — so a crash mid-write never loses my data.

There's no backend and no cloud database. Instead, the app and its data folder live in OneDrive, which syncs them across my desktop and laptop. That kept the whole thing simple: one file, two machines, no accounts. The trade-offs it forced — like handling sync conflicts with a strict one-machine-at-a-time rule instead of building real conflict resolution — were deliberate decisions I documented as I went.

My role

Spec, design, and direct the build

I defined the entire feature set and workflow — from how ideas get captured to how tasks flow into the calendar — and drove the build using AI-assisted development tools, making the architecture and design-trade-off calls along the way. It's a single-user app I built for myself, but it's real software that I rely on daily and keep improving.

Contact

Looking for engineering internship and project opportunities.

Open to design, MEP, process, manufacturing, and reliability roles — and to project work. The fastest way to reach me is email or LinkedIn.