Inspiration
I am a freelance web developer so that means I am constantly juggling several projects at once. One of my daily struggles is organizing my tasks for the day, this is common for individuals with ADHD such as myself. I wanted to build an AI assistant that I could use at the start of my day to provide me with detailed structure that I can more easily follow and manage. It does this by taking large nebulous tasks and breaks them down into manageable 15 minute sprints of activity.
What it does
The application starts by taking in a resume in order for the AI to gain some context about your skills and experience. Once that is done you can begin to plan and breakdown tasks. It does this through a simple chat interface that gathers additional context about the task which is then fed into another model which breaks the task down.
How we built it
The app is built in sveltekit and deployed via tauri as a desktop application. We also deployed it on vercel as a web app and works great on mobile. The database is firestore and OpenAI’s chat completion api is used for all the heavy lifting data processing and generation. We found that the “gpt-3.5-16k-turbo” model was very good for most uses, but “gpt-4” was necessary when chatting with the user to keep details relevant across a dozen messages.
Challenges we ran into
Our biggest challenge was getting the GPT model to generate properly formatted responses that we could ingest. We attempted to solve this with langchain, but that proved to overly complicate the issues and led to worse performance. This took up a lot of time adding langchain then removing it.
Prompt engineering was also a main focus and challenge for this project. We have three prompts (one of them a back-and-forth chat) which needed to be engineered to provide logical answers across the user’s workflow.
Accomplishments that we're proud of
We are really proud of the speed we were able to put together a clean and usable app.
What we learned
We learned a lot more about prompt engineering and balancing the right amount of context to feed LLMs. Ethan also learned to use and deploy svelte for the first time (though he is a strong supporter of react/nextjs). Gabe learned that task management is a common problem for people with ADHD.
What's next for ADHD Daily Planner
We will continue development on it until it has a few more features to round out its usefulness because we want to use this for our own daily planning. Some of these additional features include: more advanced timers (Pomodoro Technique), integration with “Do Not Disturb” mode, notifications, and chatbot customizations. If we find our app invaluable to ourselves, we’ll consider moving forward with it as a real product/company.
Built With
- css
- firestore
- html5
- javascript
- langchain
- openai
- svelte
- sveltekit
- tauri
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.