<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Adrian Alzamora</title>
    <description>The latest articles on Forem by Adrian Alzamora (@mechaxai).</description>
    <link>https://forem.com/mechaxai</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F729606%2F9b60f20a-bc6b-433c-a0c5-67dfd6080d63.png</url>
      <title>Forem: Adrian Alzamora</title>
      <link>https://forem.com/mechaxai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mechaxai"/>
    <language>en</language>
    <item>
      <title>Disciplinr: AI Habit Assistant &amp; Productivity Tracker</title>
      <dc:creator>Adrian Alzamora</dc:creator>
      <pubDate>Mon, 20 Jan 2025 07:43:00 +0000</pubDate>
      <link>https://forem.com/mechaxai/disciplinr-ai-habit-assistant-productivity-tracker-43i6</link>
      <guid>https://forem.com/mechaxai/disciplinr-ai-habit-assistant-productivity-tracker-43i6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github"&gt;GitHub Copilot Challenge &lt;/a&gt;: New Beginnings&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;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.&lt;br&gt;
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.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fta07q2em0i127v7s0c3f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fta07q2em0i127v7s0c3f.png" alt="Habits page" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsmf2wa3jzxt5kdjae5k.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpsmf2wa3jzxt5kdjae5k.gif" alt="Habit assitant" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz8dv9b9qlgau61uwmka.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsz8dv9b9qlgau61uwmka.gif" alt="Create habit" width="800" height="388"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://disciplinr.vercel.app/" rel="noopener noreferrer"&gt;Ready to take the first step? Check out Disciplinr&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Repo
&lt;/h2&gt;




&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/MechaXAI" rel="noopener noreferrer"&gt;
        MechaXAI
      &lt;/a&gt; / &lt;a href="https://github.com/MechaXAI/disciplinr" rel="noopener noreferrer"&gt;
        disciplinr
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Disciplinr&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;This project was generated using &lt;a href="https://github.com/angular/angular-cli" rel="noopener noreferrer"&gt;Angular CLI&lt;/a&gt; version 19.0.7.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Development server&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;To start a local development server, run:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;ng serve&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Once the server is running, open your browser and navigate to &lt;code&gt;http://localhost:4200/&lt;/code&gt;. The application will automatically reload whenever you modify any of the source files.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Code scaffolding&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Angular CLI includes powerful code scaffolding tools. To generate a new component, run:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;ng generate component component-name&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;For a complete list of available schematics (such as &lt;code&gt;components&lt;/code&gt;, &lt;code&gt;directives&lt;/code&gt;, or &lt;code&gt;pipes&lt;/code&gt;), run:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;ng generate --help&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Building&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;To build the project run:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;ng build&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;This will compile your project and store the build artifacts in the &lt;code&gt;dist/&lt;/code&gt; directory. By default, the production build optimizes your application for performance and speed.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Running unit tests&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;To execute unit tests with the &lt;a href="https://karma-runner.github.io" rel="nofollow noopener noreferrer"&gt;Karma&lt;/a&gt; test runner, use the following command:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;ng &lt;span class="pl-c1"&gt;test&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Running end-to-end tests&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;For end-to-end (e2e) testing, run:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;ng e2e&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Angular CLI…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/MechaXAI/disciplinr" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Copilot Experience
&lt;/h2&gt;

&lt;h3&gt;
  
  
  edits
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1qcxm1xqeci2ediae62t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1qcxm1xqeci2ediae62t.png" alt="Image description" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flw0z7hj1apbycx2z495l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flw0z7hj1apbycx2z495l.png" alt="Image description" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipc7xo9lkjrkzisujt3z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipc7xo9lkjrkzisujt3z.png" alt="Image description" width="800" height="515"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Chat
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  Autocomplete
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8t3a9adkltzhsikz2rza.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8t3a9adkltzhsikz2rza.png" alt="Image description" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsj55s69aggu5ghzb1b73.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsj55s69aggu5ghzb1b73.png" alt="Image description" width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Model switcher
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Models
&lt;/h2&gt;

&lt;p&gt;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.&lt;br&gt;
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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Team Credits&lt;/p&gt;

&lt;p&gt;Built by:&lt;br&gt;
    [&lt;a class="mentioned-user" href="https://dev.to/mechaxai"&gt;@mechaxai&lt;/a&gt; ] - Adrian Alzamora&lt;br&gt;
    [@leonelalz] - Leonel Alzamora&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
