planit banner

planit

8 devlogs
35h 41m 35s

I am working on this project which will help me plan my life. it is a basically a to do list for you to manage your tasks.

This project uses AI

I used github copliot for debugging and helping me setup few things. it also helped me write the functinality of the website where I learnt from it

Demo Repository

Loading README...

kavinagrawal20

Shipped this project!

Hours: 8.68
Cookies: 🍪 226
Multiplier: 21.68 cookies/hr

this was the final changes I wanted to make to this project to make it truly productive. After adding the first screen I wanted to add more fetaures like these to make the wbesite more productive and also it helps me study. This whole project was made because I really needed something like this and instead of trying to find a good cheap verision for it I made it :)

kavinagrawal20

These are the final edits to this project. I first started by adding the editing option for the widget so that Youc an edit them. I also added the tasks on the dasboard so that you can see the tasks directly from this page and mark them done as well. Then I added a anlytics tool that basically shows your progress which was easy to add because it used the same concept as the one on the dasboard. I also added history for the task so that you can see the past tasks. And finally a focus mode where you will only see the timer and you can edit the timer to be whatever and it tracks your study or focus sessions

Attachment
Attachment
Attachment
Attachment
0
kavinagrawal20

added some simple tracker jsut to get a progress bar. and in a similar way added a habit tracker which you can mark. right now you cant edit it but this is the framework. I would make it editable as well. I also added a quote of the day kind off thing but it will always be like from a small library i have added just to motivate yourself

Attachment
Attachment
0
kavinagrawal20

I first began by working on the feedback Igot I made some changes to the main page by chainging some small styling here and their. After that I changed the font of the page and playeed around the styling of the main page until i got something I liked and then proceeded to add some new stuff. I wanted to make a dashboard with bunch of stuff. SO I began by making a pomodro timer which works on focus and break . i added the timer, the break period, pause play button. And so on this is the first of the many features that I am going to add here.

Attachment
Attachment
0
kavinagrawal20

Shipped this project!

Hours: 27.01
Cookies: 🍪 583
Multiplier: 17.97 cookies/hr

I wanted something where I could dump my tasks and it would oragnize them for me so that I dont have to manually create all the tasks. This website fixes this problem and the UI is also really nice. It also subdivides it into mini tasks while also setting deadlines which makes it easy for me to do stuff. Ir really like how it turned out and the project was really worth it

kavinagrawal20

After getting the core functionality working, I shifted focus to completely revamping the CSS and overall user experience. I redesigned the interface to feel more visual and interactive, going for a softboard-style layout where tasks appear as sticky notes. This made the app feel less rigid and more engaging to use.

Each task can now be moved around the board, allowing users to organize them into sections like to do, in progress, and done. This adds a more intuitive, hands-on way of managing tasks compared to a static list, and makes progress much easier to visualize at a glance.

i also changed the ui and refined it like the praser part and stuff. I really liked how the proect turned out and it is going to be helpful to me to plan my calander. THeir are a few more eatures I want to add but I will save them for future. But for now this is the final project

Attachment
0
kavinagrawal20

I built a task extraction system that turns messy, unstructured brain dumps into clean, structured tasks. It automatically identifies key details like titles, categories, deadlines, priorities, and even estimated time, so everything becomes much more organized. Each line is processed into a standardized task object with default values and timestamps, making it easier to track and manage tasks over time. The preview cards now clearly display important details like due dates, priority levels, and effort, allowing users to quickly understand what needs to be done.

Alongside this, I integrated a Firebase-based database with a local-first approach to improve reliability. Tasks are saved instantly to local storage and then synced to the cloud in the background whenever possible. This ensures the app remains fast and responsive while still keeping data consistent across sessions. As a result, users can refresh the app or switch devices and still find their tasks exactly as they left them, making the overall experience feel much more stable and dependable.

Attachment
Attachment
Attachment
0
kavinagrawal20

devlog 3:
Over this phase, I integrated AI into the app using Google Gemini to handle parsing and subtask generation, while making sure the app still works smoothly without it. If an API key is available, requests are sent to Gemini, and if not, the system automatically falls back to local logic so the user experience isn’t affected.

One of the main challenges was dealing with failed API calls due to missing keys or rate limits, along with inconsistent AI responses. I solved this by adding a strong fallback system and strict JSON validation to make sure nothing breaks the user flow.

At the same time, I built a deterministic task extraction engine that converts each line from the brain dump into structured task data like title, category, deadline, priority, and estimated time, filling in defaults where needed.

Since natural language can be unclear, especially for dates and urgency, I combined keyword detection, date pattern matching, and priority scoring to improve accuracy.

Now the app feels much more polished, with AI-enhanced behavior working seamlessly in the background and tasks showing clean previews with clear deadlines, priorities, and effort estimates without adding any extra friction for the user.

Attachment
Attachment
0
kavinagrawal20

Devlog 2: Brain Dump Input System
this is the main part that I wanted to build. I usally write and keep my stuff like need to buy apples from shop on thurday, report due on 17th april and etc. So I wanted soemthing which would phrase thse into tasks.
Built a brain dump input box where you can just type anything messy like “EE draft due 16 March” and it starts understanding it
Added live parsing so while typing, it shows what tasks it’s extracting in real time
Integrated Google Gemini API to intelligently interpret unstructured text into usable tasks
Used debounce so it doesn’t process on every single keystroke and feels smoother
Added a preview section so you can see tasks before actually saving them
Included a one-click commit button to convert everything into tasks instantly
Faced an issue where constant parsing made it feel noisy and slightly laggy
Solved it by adding debounce + fallback to local parsing when needed
right now it does not really work well but I will fix it and make it better. I plan to add subtask division and tags and other things as well

Attachment
0
kavinagrawal20

Today felt like a solid step forward for Planit. I started off by building on the foundation I had set up earlier. Previously, I had initialized the project using React and Vite, set up Firebase, and created a clean, scalable folder structure. I also made sure the app could safely handle missing environment variables by checking for Firebase keys in .env.local before initializing anything. That part was intentionally simple, just a minimal screen showing whether everything was connected properly, because I wanted a stable base before adding complexity.

With that in place, I moved on to something much more visual and challenging, the main UI layout. I built out the entire dashboard shell, which now includes multiple panels like input, task management, planner, focus mode, calendar, and metrics. The app finally feels like a real product instead of just a setup screen. Each section is designed as its own reusable React component, which makes the structure cleaner and easier to scale later.

One of the biggest challenges today was balancing how much information I could show without making the interface feel cluttered, especially since I want this to work well on both desktop and iPhone-sized screens. It is surprisingly hard to keep things both dense and readable. To solve this, I used a 12-column responsive grid layout and focused a lot on hierarchy, making sure the most important elements stand out while secondary ones do not overwhelm the user. I also adjusted typography and spacing for smaller screens so it does not feel cramped.

Right now, the app has a modern card-based layout with a kind of workspace feel. There is a hero summary at the top, section chips for navigation, and smooth animated transitions between panels, which makes everything feel more interactive and polished.

Attachment
0