Overview
3/6/9 is a productivity tracker designed around a simple idea: 90 days is long enough to accomplish something meaningful, but short enough to feel manageable.
The app lets users create quarterly goals, plan daily activities, track their progress throughout the quarter, and look back at how they performed once the quarter is over.
A major part of the design is the 90-day timeline. Instead of treating productivity as a collection of disconnected tasks, the app gives users a visual representation of the entire quarter and lets them see how consistently they followed through.

The dashboard brings the most important information together: the current quarter, daily activities, goals, and the 90-day progress timeline.
Problem
Most productivity applications are built around individual tasks, which can make it difficult to see the bigger picture.
I wanted something that focused less on constantly adding tasks and more on answering a simple question:
“What did I actually accomplish over these 90 days?”
The goal was to create something structured enough to encourage consistency without making the system overly rigid. The numbers 3, 6, and 9 provide useful defaults and a recognizable framework, but users are not forced to follow them.

Approach
I designed the application around four main pieces:
Quarterly goals for longer-term objectives
Daily activities for the actions needed to make progress
A 90-day timeline to visualize consistency
Quarter history to make progress measurable over time
The application is also multi-user, meaning each user's quarters, goals, activities, and settings are kept separate.
Rather than calculating progress against fixed numbers, the application uses the user's actual data. For example, completing 3 of 4 goals represents 75% completion, regardless of the original 3/6 framework.
Challenge
One of the biggest technical challenges was figuring out how to expose serverless functions within a Vite SPA.
This was my first time building a project around a Vite single-page application rather than using a framework with server-side functionality built in. Understanding where the frontend ended, where backend functionality needed to live, and how the two should communicate was a useful learning experience.
Authentication also became a larger part of the project than I initially expected. I started the project using Base44's built-in functionality, but after exporting the application I replaced that system with Better Auth, configured Google authentication, and connected the application to my own PostgreSQL database.

What I Learnt
The biggest takeaway from this project was learning how much goes into turning a frontend application into a complete application.
I gained practical experience working with:
Vite and React SPAs
Better Auth and Google OAuth
PostgreSQL and Neon
User-specific data and authentication
Connecting frontend applications to backend functionality
Deploying a full-stack application
Designing around dates, recurring activities, and historical data
More importantly, I learned how to take something generated by a development platform and actually understand, modify, and take ownership of the resulting codebase.
In The End
3/6/9 ended up becoming a much more useful project than I originally expected.
What started as an experiment with a productivity concept became a deployed application that I actually use. I took the generated application out of Base44, rebuilt parts of the architecture around my own requirements, implemented my own authentication setup, connected my own database, and deployed the finished application.
Extra Screenshots:


What's Next
There isn't a huge roadmap for this project, and that's intentional.
The application already accomplishes what I wanted from it: giving me a simple way to structure and review a 90-day period.
Future changes will mostly come from actually using it and discovering where the system needs to improve.