← All projects

Task Floater: A Floating Task Manager for macOS

Task Floater, full view

The problem

To-do apps lose to the cost of switching to them. The list lives in a tab or a separate window, so checking it means breaking focus, and breaking focus means the list quietly stops getting used. Menu-bar apps fix visibility but hide everything behind a click. I wanted my tasks to be persistently there: always visible, always one glance away, without stealing screen real estate or attention.

What I built

Task Floater is a small, always-on-top window that floats over your work. It is translucent glassmorphism, so it sits on top of your editor without feeling heavy, and it stays out of the way until you need it. Add a task, check one off, start a focus timer, all without leaving what you were doing.

Focus timer

A built-in timer turns any task into a focus session, so starting work and tracking it happen in the same place.

Focus timer

Modes for every context

A full view for planning, a compact mode that shrinks to just your active tasks, and a focus mode that strips everything down to the one thing you are doing right now. Full light and dark theming adapts to your desktop.

Light theme, full view

Tech stack

Layer Technology Why
Shell Electron 28 Native always-on-top window, tray APIs
Language TypeScript Type safety across main and renderer
OCR Tesseract Pull tasks out of screenshots and images
Platform macOS 10.13+ Vibrancy and window-level integration

What building this taught me

Always-on-top is a UX problem, not a flag

Setting a window to float is one line. Making a floating window pleasant is the actual work: it cannot grab focus when you click it, it has to stay subtle enough not to distract, and it needs to respect full-screen apps and Spaces. The window-level behavior took far more iteration than the task logic.

Glassmorphism earns its keep here

I usually treat heavy blur as decoration to avoid. For an overlay that sits permanently on top of other windows, translucency is functional: it keeps the app present without fully occluding what is behind it, so the floater informs without blocking.

Less surface, more use

Every mode I added was about removing, not adding. Compact mode and focus mode exist because the full view is too much when you are heads-down. The app gets more useful the smaller it gets.

Links

Let's build something together.

Got an idea? I'm always up for a new challenge, whether it's a side project, a startup, or something in between.

© 2026 Cyrus David Pastelero. All rights reserved.

Built with Next.js, TypeScript & Tailwind CSS