Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: I built a local-first timeboxing app that never leaves your computer (focusbox.dev)
3 points by akarnam37 2 days ago | hide | past | favorite | 2 comments
Hi HN

I built FocusBox.dev — a local-first, distraction-free timeboxing app that runs entirely in your browser.

It’s designed for developers and makers who want to focus without sign-ups, analytics, or cloud sync. Everything — tasks, timers, preferences — lives only on your device.

Built with: React + Vite Storage: localStorage (no backend, no API calls) Features: – Timeboxing / Pomodoro sessions – Persistent local tasks – Minimal dark-mode UI – Works offline (PWA-ready)

I built FocusBox because I wanted a simple focus tool that respected attention and privacy — no login walls, no tracking, no noise.

Open source on GitHub: https://github.com/adityak74/focusbox.dev

Would love your feedback — especially from folks interested in local-first apps, frontend-only design, or mindful productivity.





I am very much interested in local-first/only (backend-less) PWAs, and have built a couple of them myself.

Unfortunately, I don't think I have any use for a time-boxing app. Nice work though.

Is there a reason you went with localStorage rather than indexedDB?

One useful thing is supporting 3rd party sync services. One of the apps I built allowed syncing data across devices via Dropbox. I never got Google Drive working, though, their API was horrible to work with in comparison. Is sync support something you've considered?


Thanks!

Yeah — I started with localStorage mostly because FocusBox’s data model is super lightweight (a few task objects + session state). It kept the initial version simple and easy to reason about.

That said, I’ve definitely thought about moving to IndexedDB (or a wrapper like Dexie) if/when I add features like session history or richer analytics.

sync — I’ve been exploring ideas around optional, user-controlled sync (Dropbox or even GitHub Gist). I love your approach of using 3rd-party storage rather than a backend — keeps things local-first but still portable.

how did you handle conflict resolution with Dropbox? That’s one piece I’ve been thinking through for sync.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: