DEV Community

Adrian Alzamora
Adrian Alzamora

Posted on

Disciplinr: AI Habit Assistant & Productivity Tracker

This is a submission for the GitHub Copilot Challenge : New Beginnings

What I Built

Disciplinr an AI-powered habit assistant and productivity tracker to help people establish and maintain positive habits during times of new beginnings, whether starting a new job, embarking on a wellness journey or simply hitting the reset button on personal goals. The app combines habit creation with habit wizard suggestions and habit tracking through the use of heat maps to encourage personal growth, keep users motivated and guide them step-by-step in creating lasting routines.
By leveraging GitHub Copilot in Visual Studio Code during a 24-hour build, we rapidly prototyped and refined features such as habit search, heat map progress visualizations, and habit suggestions through an integrated chat interface. The AI assistant provides meaningful cues and feedback, ensuring users stay on track and get fully benefit from their productivity journey.

Demo

Habits page

Habit assitant

Create habit

Ready to take the first step? Check out Disciplinr

Repo

Disciplinr

This project was generated using Angular CLI version 19.0.7.

Development server

To start a local development server, run:

ng serve
Enter fullscreen mode Exit fullscreen mode

Once the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.

Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

ng generate component component-name
Enter fullscreen mode Exit fullscreen mode

For a complete list of available schematics (such as components, directives, or pipes), run:

ng generate --help
Enter fullscreen mode Exit fullscreen mode

Building

To build the project run:

ng build
Enter fullscreen mode Exit fullscreen mode

This will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.

Running unit tests

To execute unit tests with the Karma test runner, use the following command:

ng test
Enter fullscreen mode Exit fullscreen mode

Running end-to-end tests

For end-to-end (e2e) testing, run:

ng e2e
Enter fullscreen mode Exit fullscreen mode

Angular CLI…

Copilot Experience

edits

This feature quickly generates and applies code suggestions based on my prompt, so there's no need to manually copy and paste snippets. In this case, I use it to create new components and position UI elements instantly, allowing me to focus on refining functionality rather than wrestling with boilerplate code.

Image description

Image description

Image description

Chat

I leveraged the chat interface to ask clarifying questions about libraries, frameworks, or best practices. This helped resolve issues quickly and gave me targeted guidance without leaving my coding environment.

Autocomplete

Copilot’s real-time suggestions filled in boilerplate code and predicted my next lines, significantly speeding up my coding process. With code snippets generated on the fly, I could remain focused on core logic and functionality.

Image description

Image description

Model switcher

By switching between different GPT models, I could compare suggestions in real time. For instance, GPT o1 (Preview) often provided sophisticated solutions due to its more advanced reasoning, while GPT 4o offered lighter or more straightforward code. This flexibility allowed me to tailor the AI assistance to my specific needs at each stage of development.

GitHub Models

I used GitHub Models to prototype and integrate LLM capabilities into my app by setting up a simple Express server that interacts with the Meta-Llama-3.1-8B-Instruct model via the @azure-rest/ai-inference client. Whenever a user sends a request to the /chat endpoint, the server passes the conversation context to the model, retrieves the AI-generated response, and sends it back to the client. This setup allowed me to quickly experiment with prompt design, adjust parameters like temperature and top_p, and seamlessly incorporate habit-related suggestions into the Disciplinr application.
It’s also easy to reconfigure the system to switch between different models—just update the modelName or tweak the hyperparameters, and you can adapt the AI’s behavior for various creative or specialized use cases.

Conclusion

Creating Disciplinr with GitHub Copilot and GitHub Models was an exciting and very productive experience. In less than 24 hours, I was able to experiment with habit creation and tracking features - such as the progress heatmap, habit suggestions with integrated AI chat - and then quickly refine them through Copilot's instant edits, contextual suggestions and model switching. The constant stream of smart code snippets helped me focus on core logic rather than repetitive tasks, while the chat interface provided me with specific explanations and best practices without interrupting my coding flow.

At a higher level, the addition of LLM capabilities opened up new possibilities for guiding users toward healthier habits. Having the ability to adjust the context to the model's system and behavior accelerated the process of finding the most engaging and useful approach to habit recommendations. Whether it was having the express server query Meta-Llama-3.1-8B-Instruct or changing the parameters for more creative or specialized use cases, the flexibility made it much easier to customize the AI results.

Overall, the combination of Copilot's real-time coding assistance and GitHub models for AI-driven suggestions on the fly has significant potential for future enhancements, such as more sophisticated habit analysis, personalized coaching, and integrations with external services like calendars. With a solid foundation, Disciplinr is well positioned to continue to evolve.

Team Credits

Built by:
[@mechaxai ] - Adrian Alzamora
[@leonelalz] - Leonel Alzamora

Top comments (0)