Inspiration

I've used task managers, but most of them are little more than checklists. I understood the simplicity they were trying to offer, but I felt that much of the effort I put into activities I consider important was practically erased once I completed the tasks.

I could have many important tasks during a single week, such as defending my pre-professional internship work, but once I completed them, they simply stayed there, like a memory, if I ever decided to open the completed tasks list, where they were mixed with a large number of activities of all kinds.

I also found it difficult to organize activities that actually belonged to the same project. Many times, a task isn't something you finish in a short amount of time: it's a huge task made up of smaller ones. I wanted to prevent all those activities from being scattered without a clear relationship between them, while still preserving their individual value. Besides, manually organizing every task could become another responsibility in itself.

I want my effort as a university student to be recognized, at least by myself. I want to know how much time I've dedicated to certain activities so I can feel that I've done something worthwhile, instead of thinking I haven't accomplished anything simply because I don't have a history that helps me remember it.

When I was little, I used to draw a tree. It wasn't a beautiful, simple tree, but one that seemed to have no end: it had branches, and among those branches, even more branches, as if I were drawing something infinite that would eventually come to an end.

I believe one of the best ways to represent people's tasks, projects, and work is through branches. That's why the tree is the protagonist of this story.

What it does

Denkel accepts tasks in a very simple way. Artificial intelligence organizes each item you enter, and as you add more activities, it can reclassify them as the tree grows.

Tasks can be organized under different main branches, which in turn have children, and those children can have more children of their own. This makes it possible to represent projects and activities composed of smaller tasks, maintaining their relationships without losing the individual value of each one.

I also considered tools to track the time dedicated to a task, along with the possibility for users to reorganize elements without destroying the tree's structure.

The visual elements are quite simple, and this is intentional so that anyone can use them: one element for entering tasks, another for managing work sessions, and finally, a universal search feature that helps find any task, process, or structure.

Let's be honest, sometimes we can be forgetful, and when faced with an enormous tree, we might simply not know where to look. However, I want every person to get to know their own tree and understand the value it holds for them.

How we built it

I followed the instructions provided by the skills step by step. Every question was valuable in helping me move forward.

I used React and TypeScript because I'm familiar with working with these technologies. I needed a library to implement the tree because I knew it wouldn't be easy to build using just HTML and CSS. To avoid reinventing the wheel, I relied on tools that already existed.

I also tried using Stitch to generate the main interface and adapt it to my liking before continuing to develop the project further.

I believe every step is important, from planning to building, and even creating the presentation materials, which was also fun.

I wanted to use Gemini, so I implemented it to categorize each branch. I didn't want something static, so the project needed an engine that could be controlled by the AI. That was a necessary step before integrating it.

Challenges we ran into

  • I noticed that some things didn't turn out the way I had imagined. I would have liked much better animations or a better-drawn tree, but I understood that I wasn't building a final product. I was building my idea and an initial representation of what it could look like. Although coming to terms with that was a challenge, I eventually accepted it and was able to finish my project.

  • There were some issues with Antigravity. When starting a new chat, everything seemed to be going well, but I gradually realized that the initial idea, or at least what I had established as the foundation of the project, had been lost from the context, perhaps because of the agent's limitations.

  • It took me longer than expected to make progress on the project. I wanted to think through every detail, and in the end, that became complicated. It's easy to imagine things in your head, but when someone asks you about specific details, you tend to overthink because of all the different possibilities that come to mind.

  • Sometimes I didn't explain myself clearly, and the agent tended to interpret something different. Fortunately, by analyzing its responses, you can realize what it intends to do or where it's heading. Then you think, "I didn't explain this part properly," and you explain it again. No matter how detailed you try to be, sometimes more context is simply needed, because it's difficult to express everything you can imagine with complete detail and precision.

Accomplishments that we're proud of

  • Creating a system completely tailored to my preferences, without an agent interfering with the project's fundamental decisions.

  • Not feeling that my work loses its value because I'm simply following an agent. I wanted to feel that the idea was truly mine. Sometimes an agent ends up taking over everything, and you end up building something that is probably better, but no longer feels like your own. And that, personally, makes it less satisfying.

  • Publishing my first video about a tool I developed. Despite the projects I've created and published on GitHub, this is the first tool I genuinely want to share with everyone, and it inspired me to want to present some of my other projects as well.

  • Following the process in detail. Honestly, I hadn't spent as much time reading through things in other projects. I wanted to know whether the agent was truly understanding me, whether it was overlooking something important, or whether it was changing a feature because I hadn't explained myself as clearly as I should have.

What we learned

I believe I learned many things. One of them is that even when you're sure about what you want to build, at some point new ideas just keep coming. Fortunately, the skills provided by the hackathon helped me keep that growth under control, because without those limits, everything could practically continue indefinitely, without a clear endpoint.

I learned to recognize that my initial idea isn't necessarily the best one. You realize this when you finish and ask yourself, "Why didn't I do that? Why didn't I think of this?" But at least you're the one asking those questions; it's not the AI telling you what to think. That's important because it means you're maintaining control over what you want to build.

I learned to set limits on what I was considering. There may have been some deviations from my initial idea because, during development, you discover things you hadn't considered that turn out to be extremely important. At the same time, you learn to leave aside features with great potential that would take hours to implement and might even force you to restructure the current project.

I learned to value what I do and what I think. I know everyone has their own opinions, but dedicating so much time to something can make you simply fall in love with what you're building.

Thanks to the development environment, I learned to identify problems before even getting started: "What would happen if...? What if...?" Those questions often aren't considered until a bug appears, but this project helped me understand how important they are if we don't want to rebuild everything or resort to much more demanding testing later.

I know this isn't directly related to development, but I also learned how to edit a video that I absolutely loved making for the project. When you feel that you're putting in the effort yourself, the experience is different. It's not the same as doing something with AI constantly guiding you. You want your idea to become known, you want others to try it, and without a doubt, it's a different experience from what I'm used to.

What's next for Denkel

Initially, I defined some ideas that could be possible with the tool, but throughout development, I identified other needs:

  • Implement a login and user management system.
  • Introduce monetization plans to cover AI-related costs.
  • Implement an integration workflow with Google Calendar.
  • Improve the visual appearance of the tree and how tasks are presented.
  • Explore different strategies to reduce token usage as the number of potential users grows.

These are additional features, but ultimately, what I want is for the application to reach many people.

Initially, I'd love for it to reach university students who, like me, sometimes feel that all their effort has been for nothing. I think this happens because we tend to remember the bad moments more than the good ones.

And what better companion than our good friend, the tree, to help us remember how valuable we are? :)

Built With

Share this project:

Updates

Submission history