planit banner

planit

5 devlogs
27h 0m 47s

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

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