Inspiration
Honestly? I was tired of having my life scattered across five different apps. Tasks in one place, random thoughts in another, money stuff somewhere else… it was chaos! The lightbulb moment came when I thought, “Why can’t I just tap on any day and see EVERYTHING that happened?”
That’s when I decided to build TempoDay. Because let’s face it - we don’t think in categories, we think in days. “What did I do last Tuesday?” should be one tap away, not a treasure hunt across multiple apps.
What it does
TempoDay is basically your digital life, organized by date. It’s three apps in one, but way cooler:
- 🎯 Tasks: Check stuff off your list with priority levels (super satisfying!)
- 📝 Daily Notes: Jot down thoughts, ideas, or just vent about your day
- 💰 Money Tracking: Track spending with categories, without the guilt trip from fancy budgeting apps
The magic? Everything lives under one calendar. Tap any date, see your whole day. Your data stays on YOUR device - no cloud, no tracking, no nonsense.
How we built it
Building TempoDay was like solving a fun puzzle with some really cool pieces:
- Svelte 5: We jumped on the newest version with its shiny runes system (basically reactive magic!)
- TailwindCSS: Because who has time to write custom CSS when you’re building the future?
- Dexie + IndexedDB: Your browser is now a database. Mind = blown 🤯
- Vite: Lightning-fast builds that don’t make you wait for coffee to brew
The real challenge was making everything work together smoothly. We built a custom router that doesn’t break in weird environments (looking at you, WebContainer), created a clean component architecture, and made sure everything feels snappy on both your laptop and your phone.
Challenges we ran into
Oh boy, where do we start? 😅
Making calendars actually useful - Most calendar apps are just fancy date pickers. We needed to make tapping on a date feel magical - like opening a time capsule of your day. Getting that “everything in one place” feeling right took countless iterations.
The great database hunt - Started with PGLite because PostgreSQL in the browser sounds amazing, right? WRONG. Bundle size was absolutely massive - like “your users will hate you” massive. After some soul-searching and bundle analyzer tears, we discovered Dexie.js. Turns out sometimes the simpler solution is the better one!
Designing for chaos - People’s daily data is messy. Some days you have 20 tasks, other days just a random thought. How do you make both scenarios feel natural without the interface looking broken? Lots of empty state design and flexible layouts.
Smart text processing - Creating a natural language input feature that actually understands “buy groceries tomorrow” or “spent $50 on lunch” was trickier than expected. Getting the NLP to work reliably while keeping everything local and fast required some creative problem-solving.
Mobile calendar UX - Making a calendar interface that doesn’t suck on small screens while keeping all three data types accessible? Challenge accepted and conquered!
Seamless donation integration - Implementing a smooth donation flow with Midtrans while maintaining the privacy-first approach. Getting the payment experience just right without being pushy or breaking the user flow took careful UX design.
Dark mode implementation - Ensuring a consistent and visually appealing dark mode across all pages and components. Tailwind’s dark: variants were a lifesaver, but testing and tweaking every element for accessibility and aesthetics took time.
Accomplishments that we’re proud of
We actually built something pretty awesome! 🎉
- ✨ It just works - Clean calendar interface that makes sense from day one
- 🔒 Privacy-first - Your data never leaves your device. Period.
- 📱 Works everywhere - Desktop, mobile, tablet - we’ve got you covered
- 🚀 Bleeding edge tech - One of the first apps using Svelte 5 in production (we like living dangerously)
- 🎯 Everything in one place - Tasks, notes, money - all connected by dates like they should be
- 💰 Smart money tracking - Automatic daily summaries with categorized spending insights
- 🔍 Powerful search - Find any task, note, or transaction instantly across all your data
- ⭐ Task prioritization - Organize your to-dos by importance with visual priority indicators
- 🌙 Dark mode support - Fully implemented dark mode for night owls and aesthetic lovers
- ☕ Sustainable funding - Integrated Midtrans donations that let supporters contribute while keeping the app free for everyone
What we learned
Svelte 5 is incredible - Once you wrap your head around runes, the reactivity is just chef’s kiss
Users think in days, not categories - This reinforced our whole approach. People don’t wake up thinking “time to check my task management system” - they think “what’s happening today?”
Local-first is the future - No server costs, no privacy concerns, instant loading. Why isn’t everyone doing this?
Calendar UX is hard - Making date navigation feel natural took way more iterations than expected
IndexedDB is powerful - Browser storage has come a long way. You can build real applications entirely client-side now!
What’s next for TempoDay
We’re just getting started! 🚀
Coming soon:
- Recurring tasks - Set it and forget it
The bigger picture:
- Optional cloud sync - For those who want it (still encrypted, still private)
- Smart insights - Your data can tell you interesting things about yourself
- Integrations - Connect with your calendar, bank, whatever (only if you want to)
- Collaboration - Share specific days with family/team members
- AI magic - Smart text processing that understands natural language, plus helpful suggestions based on your patterns (while staying local)
The goal? Make TempoDay the last productivity app you’ll ever need to download. We’re building the future of personal management, one day at a time.
Open Source & Support
Open source and always free - TempoDay will always be completely free to use. The code is open source because we believe productivity tools should be transparent and community-driven. If you love what we’re building and want to support the project, we’ve set up optional donations through Midtrans - think of it as buying us coffee while we code the next features! ☕