<?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>DEV Community: TROJAN </title>
    <description>The latest articles on DEV Community by TROJAN  (@trojanmocx).</description>
    <link>https://dev.to/trojanmocx</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%2F3388590%2Fc2d32d47-627a-49d0-92ab-8178c338b973.png</url>
      <title>DEV Community: TROJAN </title>
      <link>https://dev.to/trojanmocx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/trojanmocx"/>
    <language>en</language>
    <item>
      <title>I Thought AI Would Make Me Code Faster. Then I Spent 6 Hours Debugging One Line.</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Tue, 02 Jun 2026 05:16:18 +0000</pubDate>
      <link>https://dev.to/trojanmocx/i-thought-ai-would-make-me-code-faster-then-i-spent-6-hours-debugging-one-line-3ffh</link>
      <guid>https://dev.to/trojanmocx/i-thought-ai-would-make-me-code-faster-then-i-spent-6-hours-debugging-one-line-3ffh</guid>
      <description>&lt;p&gt;Everyone keeps saying AI will replace developers.&lt;br&gt;
Meanwhile I was sitting at 3:17 AM staring at a bug created by code that looked perfectly correct.&lt;/p&gt;

&lt;p&gt;Classic.&lt;/p&gt;

&lt;p&gt;The weird thing about AI coding tools is this:&lt;/p&gt;

&lt;p&gt;They are insanely good at getting you from zero to eighty percent.&lt;br&gt;
The remaining twenty percent?&lt;br&gt;
That part turns into a psychological thriller.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Illusion of Fast Development
&lt;/h2&gt;

&lt;p&gt;You ask the AI for a feature.&lt;/p&gt;

&lt;p&gt;It generates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;components&lt;/li&gt;
&lt;li&gt;hooks&lt;/li&gt;
&lt;li&gt;API calls&lt;/li&gt;
&lt;li&gt;utility functions&lt;/li&gt;
&lt;li&gt;TypeScript types&lt;/li&gt;
&lt;li&gt;enough confidence to destroy your weekend&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And for a moment, you feel unstoppable.&lt;br&gt;
Then reality walks in wearing steel toe boots.&lt;br&gt;
Because the code &lt;em&gt;works&lt;/em&gt;.&lt;br&gt;
Until it doesn't.&lt;br&gt;
And when it breaks, you're debugging logic written by someone who technically does not exist.&lt;/p&gt;

&lt;p&gt;Which is honestly rude.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Problem Isn't The AI
&lt;/h2&gt;

&lt;p&gt;The issue is not bad syntax.&lt;br&gt;
The issue is missing context.&lt;br&gt;
AI understands patterns.&lt;br&gt;
Senior developers understand consequences.&lt;br&gt;
That difference matters a lot.&lt;/p&gt;

&lt;p&gt;Especially when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;state management gets messy&lt;/li&gt;
&lt;li&gt;async logic starts fighting itself&lt;/li&gt;
&lt;li&gt;edge cases crawl out of the sewer&lt;/li&gt;
&lt;li&gt;one innocent refactor nukes three unrelated features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The AI generated code looked clean.&lt;br&gt;
Too clean.&lt;br&gt;
Like a serial killer apartment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Most Dangerous Thing AI Produces
&lt;/h2&gt;

&lt;p&gt;Confident nonsense.&lt;br&gt;
Not broken nonsense.&lt;br&gt;
Not obvious nonsense.&lt;br&gt;
Confident nonsense.&lt;/p&gt;

&lt;p&gt;The kind where you read it and think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Damn this looks smart."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then four hours later you discover the function has been emotionally gaslighting your database the entire time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned After Fighting AI Generated Code
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Fast code is not maintainable code
&lt;/h3&gt;

&lt;p&gt;AI optimizes for completion.&lt;br&gt;
You still have to optimize for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;readability&lt;/li&gt;
&lt;li&gt;architecture&lt;/li&gt;
&lt;li&gt;scalability&lt;/li&gt;
&lt;li&gt;future you not having a breakdown&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because future you will absolutely file complaints against present you.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Tests matter more now
&lt;/h3&gt;

&lt;p&gt;If AI writes code faster, you need validation faster.&lt;br&gt;
Otherwise you're basically accepting pull requests from a caffeinated intern that never sleeps.&lt;br&gt;
Which sounds impressive until production catches fire.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Senior thinking matters more than ever
&lt;/h3&gt;

&lt;p&gt;AI can generate solutions.&lt;br&gt;
It cannot reliably judge tradeoffs.&lt;br&gt;
It does not understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;business risk&lt;/li&gt;
&lt;li&gt;performance bottlenecks&lt;/li&gt;
&lt;li&gt;system boundaries&lt;/li&gt;
&lt;li&gt;long term technical debt&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It just vibes aggressively.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Funny Part?
&lt;/h2&gt;

&lt;p&gt;I still use AI every single day.&lt;br&gt;
Because despite all the chaos, it &lt;em&gt;is&lt;/em&gt; useful.&lt;br&gt;
It removes boring work.&lt;br&gt;
It speeds up experimentation.&lt;br&gt;
It helps unblock momentum.&lt;br&gt;
But I stopped treating it like an engineer.&lt;/p&gt;

&lt;p&gt;Now I treat it like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;an extremely fast junior developer with infinite confidence and occasional hallucinations&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Which honestly makes the experience much healthier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;AI is not replacing developers.&lt;br&gt;
It's exposing who actually understands software engineering.&lt;br&gt;
Because generating code was never the hard part.&lt;br&gt;
Understanding why the code should exist in the first place?&lt;br&gt;
That's the real game.&lt;/p&gt;

&lt;p&gt;And unfortunately, the AI still can't survive a production bug at 2 AM with three stakeholders breathing down its neck.&lt;/p&gt;

&lt;p&gt;Lucky us.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I Updated My GitHub Auto-Commit Desktop App</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Sat, 30 May 2026 19:03:16 +0000</pubDate>
      <link>https://dev.to/trojanmocx/i-updated-my-github-auto-commit-desktop-app-318o</link>
      <guid>https://dev.to/trojanmocx/i-updated-my-github-auto-commit-desktop-app-318o</guid>
      <description>&lt;p&gt;A few weeks ago I posted about building a desktop app that automates GitHub commits because contribution graphs are basically developer mood rings.&lt;/p&gt;

&lt;p&gt;Somehow people actually liked it.&lt;/p&gt;

&lt;p&gt;Which was unfortunate because now I had to keep improving it instead of peacefully abandoning the repo like nature intended.&lt;br&gt;
So I disappeared back into the codebase and shipped a pretty huge update.&lt;/p&gt;
&lt;h2&gt;
  
  
  What Changed
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Deterministic Scheduling
&lt;/h3&gt;

&lt;p&gt;The app now generates the same commit schedule from the same config every time.&lt;br&gt;
Meaning it finally stopped making random life choices for me.&lt;/p&gt;

&lt;p&gt;Old version be like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Yeah bro you definitely lock in at 4:11 AM."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Absolutely not.&lt;/p&gt;

&lt;p&gt;At 4:11 AM I am unconscious and getting combo attacked by my dreams.&lt;/p&gt;


&lt;h3&gt;
  
  
  Pattern Learning
&lt;/h3&gt;

&lt;p&gt;The app can now analyze repository behavior and generate commit activity that actually feels natural instead of random chaos spam.&lt;br&gt;
Because fake randomness is still obvious randomness.&lt;/p&gt;

&lt;p&gt;Now it feels less like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"robot discovered GitHub"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and more like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"slightly sleep deprived developer surviving on caffeine and bad decisions"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Which is the exact vibe I was aiming for.&lt;/p&gt;


&lt;h3&gt;
  
  
  Better Stability
&lt;/h3&gt;

&lt;p&gt;I moved Git execution into dedicated workers which made the app way smoother overall.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Less freezing&lt;/li&gt;
&lt;li&gt;Less weird execution issues&lt;/li&gt;
&lt;li&gt;Less me staring at the screen like:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;"bro please just push the commit."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Git was acting like I personally offended it.&lt;/p&gt;


&lt;h3&gt;
  
  
  Internal Refactor
&lt;/h3&gt;

&lt;p&gt;I also cleaned up a huge chunk of the architecture because parts of the old codebase were being held together by pure optimism and side effects.&lt;/p&gt;

&lt;p&gt;At one point the logic was basically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;works&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;dontTouchIt&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Which is not software engineering.&lt;/p&gt;

&lt;p&gt;That is survival instinct.&lt;/p&gt;




&lt;h3&gt;
  
  
  Still Fully Local
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;No telemetry&lt;/li&gt;
&lt;li&gt;No cloud execution&lt;/li&gt;
&lt;li&gt;No weird "AI productivity guru" nonsense&lt;/li&gt;
&lt;li&gt;No blockchain&lt;/li&gt;
&lt;li&gt;No "revolutionizing developer workflows" TED Talk energy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Just a desktop app solving the very real developer problem of:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"damn... I forgot to commit again."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Repo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dev.toPUT_YOUR_GITHUB_LINK_HERE"&gt;Auto Commit Desktop App&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Honestly this project started as a joke and somehow became one of the coolest things I've built so far.&lt;br&gt;
Which is usually how programming works.&lt;/p&gt;

&lt;p&gt;You try to build one tiny stupid tool and suddenly you're restructuring worker threads at 2 AM wondering where your life went.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Full Stack Developer Looking for Internship Opportunities</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Thu, 28 May 2026 17:20:51 +0000</pubDate>
      <link>https://dev.to/trojanmocx/full-stack-developer-looking-for-internship-opportunities-5amh</link>
      <guid>https://dev.to/trojanmocx/full-stack-developer-looking-for-internship-opportunities-5amh</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;I’m currently looking for Software Development internship opportunities.&lt;/p&gt;

&lt;p&gt;Open to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hybrid internships in Delhi or Noida&lt;/li&gt;
&lt;li&gt;Remote/online opportunities as well&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m a Full Stack &amp;amp; Desktop Application Developer focused on building scalable web apps, automation tools, and AI-powered applications using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JavaScript / TypeScript&lt;/li&gt;
&lt;li&gt;React.js / Next.js&lt;/li&gt;
&lt;li&gt;Node.js / FastAPI&lt;/li&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;MongoDB / Supabase&lt;/li&gt;
&lt;li&gt;OpenCV / MediaPipe&lt;/li&gt;
&lt;li&gt;Desktop automation &amp;amp; system-level tooling&lt;/li&gt;
&lt;li&gt;REST APIs, WebSockets, and real-time applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some projects I’ve built:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI-powered desktop assistant with gesture + voice control&lt;/li&gt;
&lt;li&gt;Full-stack productivity tracking platform&lt;/li&gt;
&lt;li&gt;Developer workflow automation tools&lt;/li&gt;
&lt;li&gt;Performance-optimized portfolio applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also write technical content on Dev.to with 7,000+ followers, sharing insights on full-stack development, AI tooling, automation, and developer productivity.&lt;/p&gt;

&lt;p&gt;Portfolio: &lt;a href="https://arishali.vercel.app/" rel="noopener noreferrer"&gt;https://arishali.vercel.app/&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/TROJANmocX" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX&lt;/a&gt;&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/arish-ali-8670341b3/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/arish-ali-8670341b3/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If your company or someone in your network is hiring interns, I’d genuinely appreciate a referral or connection.&lt;/p&gt;

&lt;p&gt;Available to join immediately.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;

</description>
      <category>career</category>
      <category>intership</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Building Extensio.ai — Looking for Contributors &amp; Ideas</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Tue, 26 May 2026 09:53:30 +0000</pubDate>
      <link>https://dev.to/trojanmocx/building-extensioai-looking-for-contributors-ideas-598</link>
      <guid>https://dev.to/trojanmocx/building-extensioai-looking-for-contributors-ideas-598</guid>
      <description>&lt;p&gt;I’m building Extensio.ai — an AI-powered browser extension focused on developer productivity and workflow automation.&lt;/p&gt;

&lt;p&gt;The idea is to make the browser feel less like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I have 42 tabs open and none of them are the right one.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;…and more like an actual smart developer workspace.&lt;/p&gt;

&lt;p&gt;Some things I’m experimenting with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI command palette&lt;/li&gt;
&lt;li&gt;GitHub/code understanding&lt;/li&gt;
&lt;li&gt;smart tab management&lt;/li&gt;
&lt;li&gt;context-aware AI&lt;/li&gt;
&lt;li&gt;workflow automation&lt;/li&gt;
&lt;li&gt;developer-focused browser tools&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But honestly?&lt;/p&gt;

&lt;p&gt;I don’t want to build this in isolation and accidentally create another “AI startup buzzword machine” that eats RAM and contributes nothing to society.&lt;/p&gt;

&lt;p&gt;So I’m looking for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;developers&lt;/li&gt;
&lt;li&gt;extension nerds&lt;/li&gt;
&lt;li&gt;UI/UX people&lt;/li&gt;
&lt;li&gt;AI tinkerers&lt;/li&gt;
&lt;li&gt;productivity addicts&lt;/li&gt;
&lt;li&gt;people with cursed but genius ideas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically anyone who wants to help shape or contribute to this project.&lt;/p&gt;

&lt;p&gt;I’d love feedback like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What features would make this genuinely useful?&lt;/li&gt;
&lt;li&gt;What workflows should it improve?&lt;/li&gt;
&lt;li&gt;What browser-extension pain points annoy you most?&lt;/li&gt;
&lt;li&gt;What would make you actually install this?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you want to contribute or brainstorm ideas:&lt;/p&gt;

&lt;p&gt;GitHub:&lt;br&gt;
&lt;a href="https://github.com/TROJANmocX/Extensio.ai" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/Extensio.ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Roast the idea.&lt;br&gt;
Suggest features.&lt;br&gt;
Open issues.&lt;br&gt;
Build weird stuff with me.&lt;/p&gt;

&lt;p&gt;Let’s make something developers actually want to use instead of another AI tool pretending to change humanity while summarizing emails.&lt;/p&gt;

</description>
      <category>help</category>
      <category>ama</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>MIA: A Futuristic AI Desktop Assistant Built with Voice, Gestures, and Controlled Chaos</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Mon, 25 May 2026 05:32:51 +0000</pubDate>
      <link>https://dev.to/trojanmocx/mia-a-futuristic-ai-desktop-assistant-built-with-voice-gestures-and-controlled-chaos-1259</link>
      <guid>https://dev.to/trojanmocx/mia-a-futuristic-ai-desktop-assistant-built-with-voice-gestures-and-controlled-chaos-1259</guid>
      <description>&lt;p&gt;Most desktop assistants today feel like they were designed by someone whose greatest ambition was setting timers.&lt;/p&gt;

&lt;p&gt;I wanted something different.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;MIA&lt;/strong&gt; short for &lt;strong&gt;My Intelligent Assistant&lt;/strong&gt; — an AI-powered desktop assistant that combines voice interaction, hand gesture recognition, HUD overlays, desktop automation, and a surprisingly dramatic personality into one system.&lt;/p&gt;

&lt;p&gt;Basically, imagine if a traditional assistant stopped being lazy and decided to become slightly cyberpunk.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Exactly is MIA?
&lt;/h2&gt;

&lt;p&gt;MIA is a modular AI desktop assistant designed to create a more immersive and interactive way of controlling your computer.&lt;/p&gt;

&lt;p&gt;Instead of relying only on keyboards and mouse clicks, MIA introduces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice commands&lt;/li&gt;
&lt;li&gt;Real-time hand gesture control&lt;/li&gt;
&lt;li&gt;On-screen HUD overlays&lt;/li&gt;
&lt;li&gt;Text-to-speech responses&lt;/li&gt;
&lt;li&gt;Combo interaction modes&lt;/li&gt;
&lt;li&gt;Desktop automation features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Make interacting with a computer feel less like operating Excel and more like starring in a sci-fi movie at 2 AM.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And honestly? It got dangerously close.&lt;/p&gt;




&lt;h2&gt;
  
  
  Core Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Voice Activation System
&lt;/h3&gt;

&lt;p&gt;MIA can be activated using a wake phrase like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hey MIA
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once activated, the assistant listens for commands and processes interactions in real time.&lt;/p&gt;

&lt;p&gt;This creates a hands-free workflow where users can launch tasks, trigger actions, or interact with the system naturally.&lt;/p&gt;

&lt;p&gt;Because clicking through seventeen menus to open Spotify feels personally offensive at this point.&lt;/p&gt;




&lt;h3&gt;
  
  
  Real-Time Gesture Control
&lt;/h3&gt;

&lt;p&gt;This is where things start looking mildly illegal.&lt;/p&gt;

&lt;p&gt;Using &lt;strong&gt;MediaPipe&lt;/strong&gt;, &lt;strong&gt;OpenCV&lt;/strong&gt;, and computer vision models, MIA can detect and interpret hand gestures directly through a webcam feed.&lt;/p&gt;

&lt;p&gt;Current gesture capabilities include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cursor movement&lt;/li&gt;
&lt;li&gt;Mouse clicks&lt;/li&gt;
&lt;li&gt;Scrolling&lt;/li&gt;
&lt;li&gt;Volume adjustment&lt;/li&gt;
&lt;li&gt;Gesture-triggered actions&lt;/li&gt;
&lt;li&gt;Interactive desktop controls&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system tracks hand landmarks in real time and converts them into desktop interactions.&lt;/p&gt;

&lt;p&gt;So yes, you can literally control your PC by waving your hand around like a low-budget Iron Man prototype.&lt;/p&gt;

&lt;p&gt;And somehow it actually works.&lt;/p&gt;




&lt;h2&gt;
  
  
  Combo Interaction Mode
&lt;/h2&gt;

&lt;p&gt;One of the most interesting features in MIA is the &lt;strong&gt;30-second Combo Mode&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;After activating MIA, users can combine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voice commands&lt;/li&gt;
&lt;li&gt;Hand gestures&lt;/li&gt;
&lt;li&gt;Overlay interactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together in a single interaction session.&lt;/p&gt;

&lt;p&gt;This allows for more immersive workflows where voice and gestures work simultaneously instead of independently.&lt;/p&gt;

&lt;p&gt;In simpler terms:&lt;/p&gt;

&lt;p&gt;You talk to your computer.&lt;br&gt;&lt;br&gt;
Your hand moves in the air.&lt;br&gt;&lt;br&gt;
Things happen.&lt;/p&gt;

&lt;p&gt;Humanity peaked right there.&lt;/p&gt;


&lt;h2&gt;
  
  
  HUD Overlay System
&lt;/h2&gt;

&lt;p&gt;MIA includes a custom HUD (Heads-Up Display) overlay built using &lt;strong&gt;PyQt5&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The overlay provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live visual feedback&lt;/li&gt;
&lt;li&gt;Command indicators&lt;/li&gt;
&lt;li&gt;Gesture recognition status&lt;/li&gt;
&lt;li&gt;System interaction responses&lt;/li&gt;
&lt;li&gt;Animated interface elements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of silently doing tasks in the background like a suspicious government application, MIA visually communicates what it’s doing in real time.&lt;/p&gt;

&lt;p&gt;Which makes the entire assistant feel significantly more alive.&lt;/p&gt;

&lt;p&gt;And slightly more judgmental.&lt;/p&gt;


&lt;h2&gt;
  
  
  Personality-Based Responses
&lt;/h2&gt;

&lt;p&gt;Most assistants sound emotionally unavailable.&lt;/p&gt;

&lt;p&gt;MIA was designed differently.&lt;/p&gt;

&lt;p&gt;Using text-to-speech systems and response handling, the assistant can respond with different tones and personalities such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calm&lt;/li&gt;
&lt;li&gt;Smart&lt;/li&gt;
&lt;li&gt;Witty&lt;/li&gt;
&lt;li&gt;Sarcastic&lt;/li&gt;
&lt;li&gt;Futuristic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because if an AI assistant is going to interrupt my workflow, it should at least have better dialogue than a microwave.&lt;/p&gt;


&lt;h2&gt;
  
  
  Technical Architecture
&lt;/h2&gt;

&lt;p&gt;The project follows a modular architecture to keep features isolated and scalable.&lt;/p&gt;

&lt;p&gt;Main modules include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;server/api.py
gesture_control/main.py
mia_assistant/voice_activation.py
mia_assistant/tts_response.py
mia_assistant/hud_overlay.py
mia_assistant/command_parser.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each module handles a separate responsibility such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gesture recognition&lt;/li&gt;
&lt;li&gt;Voice activation&lt;/li&gt;
&lt;li&gt;HUD rendering&lt;/li&gt;
&lt;li&gt;Command parsing&lt;/li&gt;
&lt;li&gt;API communication&lt;/li&gt;
&lt;li&gt;Text-to-speech processing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This keeps the project maintainable and prevents the classic developer strategy of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;everything_final_v7_last_REAL&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;py&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A file name that has ended friendships and academic careers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Technologies Used
&lt;/h2&gt;

&lt;p&gt;MIA combines several technologies across AI, computer vision, and desktop automation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Main Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;FastAPI&lt;/li&gt;
&lt;li&gt;OpenCV&lt;/li&gt;
&lt;li&gt;MediaPipe&lt;/li&gt;
&lt;li&gt;PyQt5&lt;/li&gt;
&lt;li&gt;PyAutoGUI&lt;/li&gt;
&lt;li&gt;SpeechRecognition&lt;/li&gt;
&lt;li&gt;Pyttsx3&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Planned Integrations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;DeepFace&lt;/li&gt;
&lt;li&gt;Emotion detection systems&lt;/li&gt;
&lt;li&gt;Environment-aware AI responses&lt;/li&gt;
&lt;li&gt;Adaptive UI themes&lt;/li&gt;
&lt;li&gt;AR-based interactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because apparently I looked at this project and thought:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You know what this needs? More problems.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Challenges During Development
&lt;/h2&gt;

&lt;p&gt;Building MIA was fun in the same way dark souls is “fun.”&lt;/p&gt;

&lt;p&gt;Some major challenges included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time gesture stability&lt;/li&gt;
&lt;li&gt;Gesture priority conflicts&lt;/li&gt;
&lt;li&gt;Smooth cursor movement&lt;/li&gt;
&lt;li&gt;Voice activation latency&lt;/li&gt;
&lt;li&gt;Synchronizing gesture + voice workflows&lt;/li&gt;
&lt;li&gt;Overlay performance optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At one point MediaPipe confidently detected my coffee mug as a human hand.&lt;/p&gt;

&lt;p&gt;Which honestly says more about my sleep schedule than the model itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  Future Goals
&lt;/h2&gt;

&lt;p&gt;The vision for MIA goes far beyond basic desktop automation.&lt;/p&gt;

&lt;p&gt;Planned future features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI memory systems&lt;/li&gt;
&lt;li&gt;Mood-aware responses&lt;/li&gt;
&lt;li&gt;Dynamic personalities&lt;/li&gt;
&lt;li&gt;Smart productivity automation&lt;/li&gt;
&lt;li&gt;Context-aware desktop assistance&lt;/li&gt;
&lt;li&gt;AR interaction systems&lt;/li&gt;
&lt;li&gt;Custom voice personas&lt;/li&gt;
&lt;li&gt;Intelligent environment adaptation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The long-term goal is to create an assistant that feels less like software and more like an actual digital companion.&lt;/p&gt;

&lt;p&gt;Preferably one that doesn’t eventually gain consciousness and start reviewing my browser history.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;MIA started as an experiment in combining AI, gestures, and desktop control.&lt;/p&gt;

&lt;p&gt;It slowly evolved into a full interactive assistant platform that blends:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Computer vision&lt;/li&gt;
&lt;li&gt;Voice AI&lt;/li&gt;
&lt;li&gt;Automation&lt;/li&gt;
&lt;li&gt;UI systems&lt;/li&gt;
&lt;li&gt;Real-time interaction design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Into one experience.&lt;/p&gt;

&lt;p&gt;This project taught me a lot about system design, modular architecture, real-time processing, and the terrifying speed at which “small side projects” evolve into engineering boss fights.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;I’d do it again.&lt;/p&gt;

&lt;p&gt;Probably with worse sleep.&lt;/p&gt;




&lt;h2&gt;
  
  
  Open Source Repository
&lt;/h2&gt;

&lt;p&gt;If you're interested in AI systems, computer vision, futuristic desktop interfaces, or projects that begin with curiosity and end with existential debugging sessions, check it out:&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Repository
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/TROJANmocX/Project-MIA" rel="noopener noreferrer"&gt;Project MIA&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback, contributions, ideas, and bug reports are always welcome.&lt;/p&gt;

&lt;p&gt;Unless the bug report is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“It doesn’t work.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thank you, detective. Massive breakthrough.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Built a Desktop App That Ends My “Open 7 Terminals and Pray” Routine</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Sat, 16 May 2026 23:35:44 +0000</pubDate>
      <link>https://dev.to/trojanmocx/-i-built-a-desktop-app-that-ends-my-open-7-terminals-and-pray-routine-1kb8</link>
      <guid>https://dev.to/trojanmocx/-i-built-a-desktop-app-that-ends-my-open-7-terminals-and-pray-routine-1kb8</guid>
      <description>&lt;p&gt;Every developer has that one painfully stupid ritual.&lt;/p&gt;

&lt;p&gt;Mine was opening multiple terminal tabs every morning, navigating into random folders, running &lt;code&gt;npm run dev&lt;/code&gt;, forgetting which server crashed, then pretending I had my life together.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Chronicle&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
A desktop app that launches my entire development workspace with one click &lt;em&gt;and&lt;/em&gt; lets me inspect Git history like a detective investigating my own questionable commits.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Chronicle Actually Does
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. One-click workspace launcher
&lt;/h3&gt;

&lt;p&gt;Hit one button and Chronicle spins up all your dev servers&lt;br&gt;
simultaneously.&lt;/p&gt;

&lt;p&gt;No more:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;opening 5 terminals&lt;/li&gt;
&lt;li&gt;copy-pasting commands&lt;/li&gt;
&lt;li&gt;forgetting which port exploded&lt;/li&gt;
&lt;li&gt;spiritually bonding with terminal chaos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It streams live logs into a clean dashboard so you can actually see what’s happening in real time.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Git history explorer with AI summaries
&lt;/h3&gt;

&lt;p&gt;This part became way cooler than I expected.&lt;/p&gt;

&lt;p&gt;Chronicle visualizes commit history, lets you inspect diffs, and even&lt;br&gt;
uses AI to summarize what changed.&lt;/p&gt;

&lt;p&gt;Because sometimes you look at your own commit from 3 days ago and think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Who the fuck wrote this?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Spoiler: it was you. Sleep deprived. Dangerous.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Tech&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Desktop Shell&lt;/td&gt;
&lt;td&gt;Tauri v2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React 19 + Vite + TypeScript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Rust + Tokio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;td&gt;Tailwind CSS v4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Animations&lt;/td&gt;
&lt;td&gt;Framer Motion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;Gemini&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The Rust backend handles async process spawning while the React frontend&lt;br&gt;
listens to live events from Tauri.&lt;/p&gt;

&lt;p&gt;And honestly?&lt;/p&gt;

&lt;p&gt;Tauri feels criminally underrated.&lt;/p&gt;

&lt;p&gt;Electron said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What if your app consumed the RAM of a small nation?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Tauri said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Relax. We brought Rust.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  My Favorite Part
&lt;/h2&gt;

&lt;p&gt;Streaming terminal output from Rust into React in real time felt weirdly&lt;br&gt;
magical.&lt;/p&gt;

&lt;p&gt;Rust handles the processes asynchronously, pipes stdout/stderr line-by-line, then emits events directly to the frontend.&lt;/p&gt;

&lt;p&gt;Tiny code. Massive payoff.&lt;/p&gt;

&lt;p&gt;The result feels like a dev cockpit instead of a pile of terminal tabs&lt;br&gt;
held together by caffeine and denial.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned Building It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tauri is insanely good for desktop tooling&lt;/li&gt;
&lt;li&gt;Rust async is terrifying for 20 minutes and then suddenly beautiful&lt;/li&gt;
&lt;li&gt;Real-time event systems make apps feel alive&lt;/li&gt;
&lt;li&gt;Developer tooling is fun because you get to solve your own annoying
problems first&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also:&lt;/p&gt;

&lt;p&gt;designing a “simple dashboard” somehow consumed half my lifespan.&lt;/p&gt;

&lt;p&gt;Frontend developers are basically pixel war veterans.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Built It
&lt;/h2&gt;

&lt;p&gt;I wanted a tool that made development feel less fragmented.&lt;/p&gt;

&lt;p&gt;Something fast.&lt;br&gt;
Something clean.&lt;br&gt;
Something that didn’t require ritual sacrifice every morning just to boot&lt;br&gt;
a workspace.&lt;/p&gt;

&lt;p&gt;Chronicle started as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I’m tired of opening terminals.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And somehow evolved into:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Let’s build an AI-powered developer control center.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Classic scope creep. Absolutely deserved.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  GitHub Repo
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/TROJANmocX/Chronicle" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/Chronicle&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you build dev tools, love Rust, or just enjoy automating away tiny&lt;br&gt;
daily annoyances, you’ll probably have fun with this one.&lt;/p&gt;

&lt;p&gt;And if your current workflow involves 14 terminal tabs and raw emotional&lt;br&gt;
damage...&lt;/p&gt;

&lt;p&gt;yeah.&lt;/p&gt;

&lt;p&gt;This app was made for you.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>typescript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Why Every Developer Should Build at Least One AI Project in 2026</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Wed, 25 Mar 2026 16:39:53 +0000</pubDate>
      <link>https://dev.to/trojanmocx/why-every-developer-should-build-at-least-one-ai-project-in-2026-ac1</link>
      <guid>https://dev.to/trojanmocx/why-every-developer-should-build-at-least-one-ai-project-in-2026-ac1</guid>
      <description>&lt;p&gt;AI is no longer “the future.”&lt;br&gt;
It is already part of everyday development.&lt;br&gt;
And yet, many developers are still watching from the sidelines.&lt;br&gt;
Reading about it.&lt;br&gt;
Liking posts about it.&lt;br&gt;
Maybe generating a few lines of code with it.&lt;br&gt;
Feeling productive… without actually building anything.&lt;br&gt;
We have all been there.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Shift Happening Right Now
&lt;/h2&gt;

&lt;p&gt;We have moved from asking:&lt;/p&gt;

&lt;p&gt;“Should I learn AI?”&lt;/p&gt;

&lt;p&gt;to:&lt;/p&gt;

&lt;p&gt;“How quickly can I apply it without breaking everything?”&lt;/p&gt;

&lt;p&gt;Companies are not looking for AI researchers in most roles.&lt;br&gt;
They are looking for developers who can &lt;strong&gt;use AI to solve real&lt;br&gt;
problems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That is a very different skill.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Building even one AI project teaches you things that tutorials never will:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to handle unpredictable outputs&lt;/li&gt;
&lt;li&gt;How to design systems around uncertainty&lt;/li&gt;
&lt;li&gt;How to integrate APIs with real-world logic&lt;/li&gt;
&lt;li&gt;When AI is useful, and when it quietly creates chaos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You stop seeing AI as something magical.&lt;/p&gt;

&lt;p&gt;And start seeing it as a tool that occasionally needs supervision.&lt;/p&gt;




&lt;h2&gt;
  
  
  You Do Not Need Something Complex
&lt;/h2&gt;

&lt;p&gt;Your project does not need to be groundbreaking.&lt;/p&gt;

&lt;p&gt;It just needs to work.&lt;/p&gt;

&lt;p&gt;Some simple ideas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A chatbot that solves a specific use case&lt;/li&gt;
&lt;li&gt;A tool that summarizes or analyzes content&lt;/li&gt;
&lt;li&gt;A small assistant for daily tasks&lt;/li&gt;
&lt;li&gt;Adding an AI feature to an existing project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Simple and functional beats complex and unfinished every time.&lt;/p&gt;

&lt;p&gt;(Yes, even if the UI is a little ugly. We can fix that later. Probably.)&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Actually Learn
&lt;/h2&gt;

&lt;p&gt;Once you build something, a few things become very clear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI outputs are not always reliable&lt;/li&gt;
&lt;li&gt;Prompting is not “set it and forget it”&lt;/li&gt;
&lt;li&gt;Debugging AI feels like arguing with a very confident intern&lt;/li&gt;
&lt;li&gt;User experience matters more than model complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is where real understanding begins.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Common Mistake
&lt;/h2&gt;

&lt;p&gt;Do not rely entirely on AI to build your project.&lt;br&gt;
Use it, but understand what it is doing.&lt;br&gt;
If you cannot explain your own system clearly, then you have not really built it.&lt;/p&gt;

&lt;p&gt;You have just supervised it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;You do not need to become an AI expert.&lt;br&gt;
You just need to stop being an observer.&lt;br&gt;
Build one project.&lt;br&gt;
That is enough to change how you think, build, and learn.&lt;/p&gt;




&lt;p&gt;And if nothing else, you will finally have something better to show than&lt;br&gt;&lt;br&gt;
“experimented with AI tools” on your resume.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Built a Desktop App That Starts My Entire Dev Environment With One Click (Using Tauri + Rust + React)</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Thu, 12 Mar 2026 19:33:08 +0000</pubDate>
      <link>https://dev.to/trojanmocx/i-built-a-desktop-app-that-starts-my-entire-dev-environment-with-one-click-using-tauri-rust--21c3</link>
      <guid>https://dev.to/trojanmocx/i-built-a-desktop-app-that-starts-my-entire-dev-environment-with-one-click-using-tauri-rust--21c3</guid>
      <description>&lt;p&gt;Every morning I would open 4 terminal tabs, &lt;code&gt;cd&lt;/code&gt; into different folders, and run some combination of &lt;code&gt;npm run dev&lt;/code&gt; and &lt;code&gt;cargo run&lt;/code&gt;. Then I'd forget which terminal crashed. Then I'd do it again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So I built Chronicle to kill that habit.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Chronicle?
&lt;/h2&gt;

&lt;p&gt;Chronicle is a desktop app (built with Tauri) that does two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One-click workspace launcher&lt;/strong&gt; — press a button, fire up all your dev servers simultaneously, watch their output stream into a tabbed terminal dashboard in real-time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Git history explorer&lt;/strong&gt; — visualize your commit graph, click commits to read diffs, and use an AI (Gemini) to summarize what changed&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;App Shell&lt;/td&gt;
&lt;td&gt;Tauri v2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React 19 + Vite 7 + TypeScript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Rust (async, via Tokio)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;td&gt;Tailwind CSS v4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Animations&lt;/td&gt;
&lt;td&gt;Framer Motion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AI&lt;/td&gt;
&lt;td&gt;Google Gemini&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why Tauri?
&lt;/h2&gt;

&lt;p&gt;Tauri lets you write your UI in whatever web framework you want, then wraps it in a native OS window using Rust. The result is a &lt;code&gt;.exe&lt;/code&gt; that's tiny, fast, and has full access to the OS. No Electron 300MB bloat. No compromises.&lt;/p&gt;

&lt;p&gt;The Rust backend part is what made the launcher feature possible. Here's the core of how it works:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="nd"&gt;#[tauri::command]&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;start_all_processes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;AppHandle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nn"&gt;tauri&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;State&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nv"&gt;'_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;Arc&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;AppState&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;project_path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;String&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Result&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="nb"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Spawn each process asynchronously&lt;/span&gt;
  &lt;span class="nf"&gt;spawn_and_stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="nf"&gt;.clone&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="nf"&gt;.clone&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="s"&gt;"buildforge"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="s"&gt;"npm"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"run"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"dev"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;format!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"{}&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s"&gt;BuildForge"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;project_path&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="k"&gt;.await&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nf"&gt;spawn_and_stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="nf"&gt;.clone&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="nf"&gt;.clone&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="s"&gt;"airwebreathe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
    &lt;span class="s"&gt;"npm"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"run"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"dev"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nd"&gt;format!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"{}&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s"&gt;AirWeBreathe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;project_path&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="k"&gt;.await&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="nf"&gt;Ok&lt;/span&gt;&lt;span class="p"&gt;(())&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;spawn_and_stream&lt;/code&gt; function uses Tokio to spawn processes async, reads their &lt;code&gt;stdout&lt;/code&gt;/&lt;code&gt;stderr&lt;/code&gt; line by line, and emits each line to the React frontend using Tauri's event system.&lt;/p&gt;

&lt;p&gt;On the React side, listening for those events looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;unlistenOutput&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;listen&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;LogPayload&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;process-output&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nf"&gt;setLogs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt; &lt;span class="p"&gt;[...(&lt;/span&gt;&lt;span class="nx"&gt;prev&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="p"&gt;[]),&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;line&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
  &lt;span class="p"&gt;}));&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Real-time streaming terminal output from Rust to React in so few lines.&lt;/p&gt;

&lt;h2&gt;
  
  
  The UI
&lt;/h2&gt;

&lt;p&gt;The whole thing is themed after GitHub dark mode (&lt;code&gt;#0d1117&lt;/code&gt;, subtle borders, green accents). The launcher screen has one big green button. The dashboard that opens shows tabbed terminal output for each running process, auto-scrolling, color-coded (green = success, red = error).&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;1. Tauri is genuinely underrated.&lt;/strong&gt; The developer experience is excellent, the apps are fast, and the security model is much more sensible than Electron.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Tokio makes async process spawning a joy.&lt;/strong&gt; &lt;code&gt;tokio::process::Command&lt;/code&gt; + &lt;code&gt;BufReader + lines()&lt;/code&gt; is all you need to stream terminal output.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Tauri's event system is a perfect bridge.&lt;/strong&gt; &lt;code&gt;app.emit("event-name", payload)&lt;/code&gt; from Rust, &lt;code&gt;listen("event-name", handler)&lt;/code&gt; from TypeScript. Clean and simple.&lt;/p&gt;

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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/TROJANmocX/Chronicle.git
npm &lt;span class="nb"&gt;install
&lt;/span&gt;npm run tauri dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you're building dev tooling or have ever thought "I should automate my terminal workflow" — Tauri + Rust is a genuinely great choice. Feel free to drop questions in the comments.&lt;/p&gt;

&lt;p&gt;Happy building! 🗡️&lt;/p&gt;

</description>
      <category>programming</category>
      <category>discuss</category>
      <category>react</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Performed an Autopsy on My LeetCode Streak (It Didn’t Die Peacefully)</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Fri, 30 Jan 2026 15:26:32 +0000</pubDate>
      <link>https://dev.to/trojanmocx/i-performed-an-autopsy-on-my-leetcode-streak-it-didnt-die-peacefully-2ibg</link>
      <guid>https://dev.to/trojanmocx/i-performed-an-autopsy-on-my-leetcode-streak-it-didnt-die-peacefully-2ibg</guid>
      <description>&lt;p&gt;My LeetCode streak didn’t “break.”&lt;br&gt;
It &lt;strong&gt;died&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not heroically.&lt;br&gt;
Not after a hard problem.&lt;/p&gt;

&lt;p&gt;It died on a random weekday because I got tired and lied to myself.&lt;/p&gt;

&lt;p&gt;So I stopped tracking streaks like a motivational influencer&lt;br&gt;
and started treating them like crime scenes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Everyone Tracks Wins. Nobody Tracks Failure.
&lt;/h2&gt;

&lt;p&gt;We love dashboards that say &lt;em&gt;“X days strong”&lt;/em&gt;.&lt;br&gt;
We don’t talk about how those streaks actually end.&lt;/p&gt;

&lt;p&gt;When I analyzed my submissions, I noticed something uncomfortable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My streaks don’t die randomly — they die on the &lt;strong&gt;same days&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Most of them collapse between &lt;strong&gt;day 7–10&lt;/strong&gt; (fake discipline window)&lt;/li&gt;
&lt;li&gt;My “longest streak” is a flex
My &lt;strong&gt;average streak&lt;/strong&gt; is the truth — and it’s embarrassing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Discipline wasn’t the problem.&lt;br&gt;
&lt;strong&gt;Predictable burnout&lt;/strong&gt; was.&lt;/p&gt;




&lt;h2&gt;
  
  
  So I Built a Streak Autopsy Tool
&lt;/h2&gt;

&lt;p&gt;Instead of promising myself I’d “do better next time,”&lt;br&gt;
I built something that performs a &lt;strong&gt;post-mortem&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You enter your LeetCode username.&lt;br&gt;
It tells you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how many streaks you’ve started&lt;/li&gt;
&lt;li&gt;how many you’ve killed&lt;/li&gt;
&lt;li&gt;how long they usually survive&lt;/li&gt;
&lt;li&gt;the exact &lt;strong&gt;day you’re most likely to quit&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;and gives you a streak reality check instead of motivation porn&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No quotes.&lt;br&gt;
No fake encouragement.&lt;br&gt;
Just data quietly judging you.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;Tracking wins was lying to me.&lt;br&gt;
Losses don’t lie — they &lt;strong&gt;repeat&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you know &lt;em&gt;how&lt;/em&gt; your streak dies,&lt;br&gt;
you can stop pretending it was an accident.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repo:&lt;/strong&gt;&lt;br&gt;
👉 &lt;a href="https://github.com/TROJANmocX/GrindGuard-2.0" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/GrindGuard-2.0&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt;&lt;br&gt;
👉 &lt;a href="https://grindguard.vercel.app/" rel="noopener noreferrer"&gt;https://grindguard.vercel.app/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;If your streak ever “mysteriously” vanished,&lt;br&gt;
this will tell you why.&lt;br&gt;
And if you don’t like the result good. Neither did I.&lt;/p&gt;

&lt;p&gt;PLEASE TELL ME HOW CAN I IMPROVE IT AND WHAT PROBLEM ARE YOU ALL FACING.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>programming</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>I tried tracking my LeetCode streak honestly. The API fought me. I won.</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Sun, 25 Jan 2026 17:16:21 +0000</pubDate>
      <link>https://dev.to/trojanmocx/i-got-tired-of-fake-leetcode-trackers-so-i-built-one-that-actually-updates-bg3</link>
      <guid>https://dev.to/trojanmocx/i-got-tired-of-fake-leetcode-trackers-so-i-built-one-that-actually-updates-bg3</guid>
      <description>&lt;p&gt;Most LeetCode trackers fail at the one thing that matters most: &lt;strong&gt;trust&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If I solve a problem, I expect the app to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mark it as solved&lt;/li&gt;
&lt;li&gt;remove it from recommendations&lt;/li&gt;
&lt;li&gt;update my progress immediately&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No refresh. No manual ticking. No lies.&lt;/p&gt;

&lt;p&gt;That frustration is exactly why I built &lt;strong&gt;GrindGuard 2.0&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Live app: &lt;a href="https://grindguard.vercel.app/" rel="noopener noreferrer"&gt;https://grindguard.vercel.app/&lt;/a&gt;&lt;br&gt;
GitHub repo: &lt;a href="https://github.com/TROJANmocX/GrindGuard-2.0" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/GrindGuard-2.0&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What is GrindGuard 2.0?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GrindGuard 2.0&lt;/strong&gt; is a LeetCode accountability and focus system that turns your accepted submissions into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automatic progress tracking&lt;/li&gt;
&lt;li&gt;Smart daily missions&lt;/li&gt;
&lt;li&gt;Topic-wise analytics&lt;/li&gt;
&lt;li&gt;Zero manual work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If LeetCode says you solved it, GrindGuard believes it. Period.&lt;/p&gt;




&lt;h2&gt;
  
  
  Core Philosophy
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;One source of truth. Everything else is derived.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No duplicated state.&lt;br&gt;
No stale UI.&lt;br&gt;
No “why didn’t this update?” moments.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  1. Automatic Progress Tracking
&lt;/h3&gt;

&lt;p&gt;Solved problems are fetched directly from LeetCode accepted submissions and normalized into a single &lt;code&gt;solvedProblems&lt;/code&gt; state.&lt;/p&gt;

&lt;p&gt;If a problem is solved:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it is instantly marked as done&lt;/li&gt;
&lt;li&gt;it never appears again in focus or suggestions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No manual input required.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. No Repeat Questions
&lt;/h3&gt;

&lt;p&gt;Daily Mission and recommendations strictly filter out solved problems using a normalized identifier (&lt;code&gt;slug&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Once a question is done, it’s gone for good.&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Real-Time Progress Analytics
&lt;/h3&gt;

&lt;p&gt;Progress bars recompute &lt;strong&gt;every time&lt;/strong&gt; solved data changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Topic-wise completion&lt;/li&gt;
&lt;li&gt;Smooth count-up animations&lt;/li&gt;
&lt;li&gt;Visual feedback that feels alive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If bars don’t move, users don’t trust the app. This fixes that.&lt;/p&gt;




&lt;h3&gt;
  
  
  4. Smart Focus System
&lt;/h3&gt;

&lt;p&gt;Instead of showing everything, GrindGuard answers one question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“What should I solve next?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The algorithm:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detects weakest topics (&amp;lt;40% completion)&lt;/li&gt;
&lt;li&gt;Selects high-impact unsolved problems&lt;/li&gt;
&lt;li&gt;Uses seeded randomness so missions stay consistent for 24 hours&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No noise. Just focus.&lt;/p&gt;




&lt;h3&gt;
  
  
  5. One-Click Sync
&lt;/h3&gt;

&lt;p&gt;A single &lt;strong&gt;Sync&lt;/strong&gt; button:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fetches LeetCode data&lt;/li&gt;
&lt;li&gt;updates progress, focus, and analytics together&lt;/li&gt;
&lt;li&gt;shows freshness (“Synced 2 mins ago”)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Explicit feedback builds trust.&lt;/p&gt;




&lt;h3&gt;
  
  
  6. Zero Manual Work
&lt;/h3&gt;

&lt;p&gt;The happy path is fully automated.&lt;/p&gt;

&lt;p&gt;Manual overrides exist only as a fallback — never as the primary flow.&lt;/p&gt;




&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;p&gt;GrindGuard uses a simple but strict data flow:&lt;/p&gt;

&lt;p&gt;LeetCode API&lt;br&gt;
↓&lt;br&gt;
fetchSolvedProblems()&lt;br&gt;
↓&lt;br&gt;
Dashboard (single source of truth)&lt;br&gt;
↓&lt;br&gt;
Derived UI&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Progress&lt;/li&gt;
&lt;li&gt;Daily Mission&lt;/li&gt;
&lt;li&gt;Analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All components are reactive and render-only. &lt;br&gt;
No component fetches data on its own.&lt;/p&gt;




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

&lt;ul&gt;
&lt;li&gt;React 18 + TypeScript&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;TailwindCSS&lt;/li&gt;
&lt;li&gt;Alfa LeetCode API (accepted submissions)&lt;/li&gt;
&lt;li&gt;Striver SDE Sheet (curated problems)&lt;/li&gt;
&lt;li&gt;LocalStorage fallback for resilience&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;Trust beats features&lt;/li&gt;
&lt;li&gt;Reactive derivation beats stored state&lt;/li&gt;
&lt;li&gt;If UI doesn’t update instantly, users assume it’s broken&lt;/li&gt;
&lt;li&gt;One clear recommendation beats ten options&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GrindGuard is not a dashboard. It’s a coach.&lt;/p&gt;




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

&lt;p&gt;Live: &lt;a href="https://grindguard.vercel.app/" rel="noopener noreferrer"&gt;https://grindguard.vercel.app/&lt;/a&gt;&lt;br&gt;
Code: &lt;a href="https://github.com/TROJANmocX/GrindGuard-2.0" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/GrindGuard-2.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’re grinding LeetCode and want accountability without friction,this one’s for you.&lt;/p&gt;

&lt;p&gt;Happy grinding.&lt;/p&gt;

</description>
      <category>interview</category>
      <category>leetcode</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>My Diary 2.0 — A Digital Journal</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Fri, 16 Jan 2026 08:18:38 +0000</pubDate>
      <link>https://dev.to/trojanmocx/my-diary-20-a-digital-journal-3kk5</link>
      <guid>https://dev.to/trojanmocx/my-diary-20-a-digital-journal-3kk5</guid>
      <description>&lt;p&gt;Some thoughts deserve a journal.&lt;br&gt;
Some thoughts deserve therapy.&lt;br&gt;
This app handles both.&lt;/p&gt;

&lt;p&gt;Welcome to &lt;strong&gt;My Diary 2.0&lt;/strong&gt; — a personal web diary that feels like writing in an old notebook, but without the risk of your sibling finding it.&lt;/p&gt;

&lt;p&gt;Live Demo: &lt;a href="https://my-diary-snowy.vercel.app/" rel="noopener noreferrer"&gt;https://my-diary-snowy.vercel.app/&lt;/a&gt;&lt;br&gt;
GitHub Repo: &lt;a href="https://github.com/TROJANmocX/My-Diary" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/My-Diary&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is My Diary 2.0?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;My Diary 2.0&lt;/strong&gt; is a React + TypeScript diary app with a vintage aesthetic, mood tracking, and a writing experience that actually makes you want to journal.&lt;/p&gt;

&lt;p&gt;Think:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typewriter vibes&lt;/li&gt;
&lt;li&gt;Candlelight drama&lt;/li&gt;
&lt;li&gt;Nostalgic paper textures&lt;/li&gt;
&lt;li&gt;Mild emotional chaos&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Features That Deserve Respect
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Vintage Writing Experience
&lt;/h3&gt;

&lt;p&gt;Feels like:&lt;br&gt;
“Dear Diary, today was… a lot.”&lt;/p&gt;

&lt;p&gt;Includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typewriter-style fonts&lt;/li&gt;
&lt;li&gt;Paper-like background&lt;/li&gt;
&lt;li&gt;Auto-expanding text area&lt;/li&gt;
&lt;li&gt;Zero judgment&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Mood Tracking
&lt;/h3&gt;

&lt;p&gt;Because “fine” is not a real emotion.&lt;/p&gt;

&lt;p&gt;Choose from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Happy&lt;/li&gt;
&lt;li&gt;Sad&lt;/li&gt;
&lt;li&gt;Moody&lt;/li&gt;
&lt;li&gt;Chaotic&lt;/li&gt;
&lt;li&gt;Existential&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Aesthetic Themes
&lt;/h3&gt;

&lt;p&gt;Switch between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vintage&lt;/strong&gt; – classy, nostalgic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Candle&lt;/strong&gt; – dramatic, low-light, main-character energy&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Secure Storage (Supabase)
&lt;/h3&gt;

&lt;p&gt;Your secrets stay secret.&lt;br&gt;
Unless you forget your password. Then… character development.&lt;/p&gt;

&lt;h3&gt;
  
  
  Custom Signatures
&lt;/h3&gt;

&lt;p&gt;End entries like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“— Trojan, still figuring things out.”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Tech Stack (The Sensible Kind)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;React + TypeScript&lt;/li&gt;
&lt;li&gt;Supabase (auth + storage)&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Custom Vintage UI&lt;/li&gt;
&lt;li&gt;Vercel Deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No unnecessary frameworks. Just vibes and functionality.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;Most diary apps feel like filling out an emotional tax form.&lt;/p&gt;

&lt;p&gt;I wanted something that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Feels personal&lt;/li&gt;
&lt;li&gt;Looks nostalgic&lt;/li&gt;
&lt;li&gt;Makes writing fun&lt;/li&gt;
&lt;li&gt;Doesn’t judge my 2 AM thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I built it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Before Your Thoughts Escape
&lt;/h2&gt;

&lt;p&gt;Live Website:&lt;br&gt;
&lt;a href="https://my-diary-snowy.vercel.app/" rel="noopener noreferrer"&gt;https://my-diary-snowy.vercel.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source Code:&lt;br&gt;
&lt;a href="https://github.com/TROJANmocX/My-Diary" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/My-Diary&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fork it. Customize it. Make it your own emotional support app.&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;Planned upgrades:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Entry analytics&lt;/li&gt;
&lt;li&gt;Mood history charts&lt;/li&gt;
&lt;li&gt;Cloud backups&lt;/li&gt;
&lt;li&gt;More themes&lt;/li&gt;
&lt;li&gt;Possibly AI reflections (no promises)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Words
&lt;/h2&gt;

&lt;p&gt;If your brain never shuts up&lt;br&gt;
and your thoughts need somewhere safe to scream —&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Diary 2.0&lt;/strong&gt; is ready.&lt;/p&gt;

&lt;p&gt;Now go write something unhinged.&lt;/p&gt;

&lt;p&gt;— Trojan&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>discuss</category>
    </item>
    <item>
      <title>I Built a Gesture Controlled Fluid Simulation (And Accidentally Fought GitHub)</title>
      <dc:creator>TROJAN </dc:creator>
      <pubDate>Sat, 10 Jan 2026 16:12:31 +0000</pubDate>
      <link>https://dev.to/trojanmocx/i-built-a-gesture-controlled-fluid-simulation-and-accidentally-fought-github-3098</link>
      <guid>https://dev.to/trojanmocx/i-built-a-gesture-controlled-fluid-simulation-and-accidentally-fought-github-3098</guid>
      <description>&lt;p&gt;So I had a simple idea:&lt;br&gt;
“Let’s control a fluid simulation with hand gestures.”&lt;/p&gt;

&lt;p&gt;Now I have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;10,000 particles&lt;/li&gt;
&lt;li&gt;A racing mode&lt;/li&gt;
&lt;li&gt;Audio reactivity&lt;/li&gt;
&lt;li&gt;A physics engine&lt;/li&gt;
&lt;li&gt;And emotional damage from GitHub’s 100MB file limit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Worth it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is HydraFlow?
&lt;/h2&gt;

&lt;p&gt;HydraFlow is a &lt;strong&gt;real-time, gesture-controlled fluid simulation&lt;/strong&gt; where your hands literally control physics.&lt;/p&gt;

&lt;p&gt;Open palm? &lt;br&gt;
Particles fly away.&lt;br&gt;
Pinch?&lt;br&gt;
Black hole.&lt;br&gt;
Fist?&lt;br&gt;
Time stops.&lt;br&gt;
Two hands?&lt;br&gt;
Magnetic chaos.&lt;/p&gt;

&lt;p&gt;It’s like Doctor Strange, but with Python and worse life choices.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Cool Stuff
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;10,000 particles&lt;/strong&gt; moving at 60 FPS&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MediaPipe hand tracking&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple visual modes&lt;/strong&gt; (Matrix, Heatmap, Disco, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio-reactive effects&lt;/strong&gt; (yes, it vibes to music)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Racing mode&lt;/strong&gt; where you steer with your hands&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Glow, trails, chaos mode&lt;/strong&gt; because subtlety is overrated&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your webcam becomes a controller.&lt;br&gt;
Your hands become an API.&lt;/p&gt;




&lt;h2&gt;
  
  
  The GitHub Villain Arc
&lt;/h2&gt;

&lt;p&gt;Everything was going great until I tried to push my repo.&lt;/p&gt;

&lt;p&gt;GitHub saw my &lt;code&gt;.exe&lt;/code&gt; file and said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“That’s cute. Now delete it.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Turns out GitHub has a &lt;strong&gt;100MB file limit&lt;/strong&gt;, and my build files were built DIFFERENT.&lt;/p&gt;

&lt;p&gt;So I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nuked big files from git history&lt;/li&gt;
&lt;li&gt;Added a proper &lt;code&gt;.gitignore&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Force-pushed like a responsible menace&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now the repo is clean, lean, and judgment-free.&lt;/p&gt;




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

&lt;ol&gt;
&lt;li&gt;GitHub is not your USB drive&lt;/li&gt;
&lt;li&gt;Build files are not source code&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;.gitignore&lt;/code&gt; is not optional&lt;/li&gt;
&lt;li&gt;Physics + hand tracking = dopamine&lt;/li&gt;
&lt;li&gt;Debugging at 2AM builds character&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Why I Built This
&lt;/h2&gt;

&lt;p&gt;Because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mouse control is boring&lt;/li&gt;
&lt;li&gt;Gestures feel futuristic&lt;/li&gt;
&lt;li&gt;Physics is fun&lt;/li&gt;
&lt;li&gt;And I like watching particles suffer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also, it looks cool on my portfolio.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Yourself
&lt;/h2&gt;

&lt;p&gt;Repo:&lt;br&gt;
&lt;a href="https://github.com/TROJANmocX/HydraFlow" rel="noopener noreferrer"&gt;https://github.com/TROJANmocX/HydraFlow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wave your hands.&lt;br&gt;
Break physics.&lt;br&gt;
Feel powerful.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;HydraFlow started as a fun experiment.&lt;br&gt;
It became a full-blown chaos simulator.&lt;br&gt;
And GitHub tried to humble me.&lt;/p&gt;

&lt;p&gt;But we move.&lt;/p&gt;

&lt;p&gt;If you’re building something weird, ambitious, and slightly unhinged&lt;br&gt;
you’re doing it right.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>ai</category>
      <category>beginners</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
