<?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: Nacho</title>
    <description>The latest articles on Forem by Nacho (@nachokai).</description>
    <link>https://forem.com/nachokai</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%2F316440%2Fe1811c7b-5c25-4142-8956-03fc839feda2.png</url>
      <title>Forem: Nacho</title>
      <link>https://forem.com/nachokai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nachokai"/>
    <language>en</language>
    <item>
      <title>Levanta.me: My Personal Productivity Guardian</title>
      <dc:creator>Nacho</dc:creator>
      <pubDate>Sat, 17 Aug 2024 19:29:58 +0000</pubDate>
      <link>https://forem.com/nachokai/levantame-my-personal-productivity-guardian-a08</link>
      <guid>https://forem.com/nachokai/levantame-my-personal-productivity-guardian-a08</guid>
      <description>&lt;p&gt;Hey dev.to community! 👋 I'm wanted to share a project I've been working on called Levanta.me. It's a React-based application that uses face detection to help me manage my work and rest times. Let's dive in!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Levanta.me?
&lt;/h2&gt;

&lt;p&gt;Levanta.me is a productivity tool that uses my webcam to detect my presence and track my work and rest times. It's designed to help me maintain a healthy work-rest balance and avoid those long, unintended coding marathons we've all found ourselves in at some point.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Face Detection&lt;/strong&gt;: Uses &lt;code&gt;@vladmandic/face-api&lt;/code&gt; to detect your presence in real-time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart Time Tracking&lt;/strong&gt;: Automatically tracks your work, rest, and idle times based on face detection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram Notifications&lt;/strong&gt;: Sends notifications to Telegram Bot chat when I've been working, resting, or idle for too long.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Chakra UI&lt;/li&gt;
&lt;li&gt;Zustand&lt;/li&gt;
&lt;li&gt;face-api.js&lt;/li&gt;
&lt;li&gt;Navigator MediaDevices API&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Face Detection&lt;/strong&gt;: The app uses my webcam and face-api.js to detect if I'm in front of my computer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Time Tracking&lt;/strong&gt;: 

&lt;ul&gt;
&lt;li&gt;When my face is detected, it assumes I'm working.&lt;/li&gt;
&lt;li&gt;When my face isn't detected, it assumes I'm resting.&lt;/li&gt;
&lt;li&gt;If I am working and suddenly I go to make a cup of tea, or whatever, another timer starts running, where after a certain time it restarts my “work timer” for having been too distracted, and vice versa, if I am resting and suddenly I get a message from work or whatever, and I sit down again for a long period of time, it resets my “rest timer”.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Notifications&lt;/strong&gt;: The app notifies me via Telegram when I exceed my set work, rest, or idle time limits.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Challenges and Learnings
&lt;/h2&gt;

&lt;p&gt;Building Levanta.me was an exciting journey. Here are some challenges I faced and what I learned:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Working with face-api.js&lt;/strong&gt;: Integrating face detection was tricky at first, but it opened up a whole new world of possibilities for me in terms of computer vision in web apps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;State Management&lt;/strong&gt;: Keeping track of different timers and states was a bit complex, and I still have a lot of work to do to improve it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Notifications&lt;/strong&gt;: Implementing both browser and Telegram notifications taught me about different ways to keep me informed and engaged.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What's Next for Levanta.me?
&lt;/h2&gt;

&lt;p&gt;I'm always looking to improve Levanta.me. Some ideas for future updates include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adding more detailed analytics about work patterns&lt;/li&gt;
&lt;li&gt;Create accounts to store settings and other data per user (now only uses Local Storage)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It Out!
&lt;/h2&gt;

&lt;p&gt;If you're interested in giving Levanta.me a spin, check out the &lt;a href="https://github.com/NachoKai/levanta.me" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;. I'd love to hear your thoughts and feedback!&lt;/p&gt;

&lt;p&gt;Remember, taking regular breaks is crucial for maintaining productivity and avoiding burnout. Levanta.me it's being my friendly reminder to stand up, stretch, and give my eyes a rest from time to time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Finally, here is the deploy:&lt;/strong&gt; &lt;a href="https://levanta-me.vercel.app/" rel="noopener noreferrer"&gt;https://levanta-me.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy coding, everyone! 💻✨&lt;/p&gt;

</description>
      <category>react</category>
      <category>faceapi</category>
      <category>productivity</category>
      <category>burnout</category>
    </item>
  </channel>
</rss>
