tempoday

June 30, 2025 0
typescript tailwindcss svelte dexie vite midtrans

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:

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:

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! 🎉

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:

The bigger picture:

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! ☕