<?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: Siti Aisyah Mat Zainal</title>
    <description>The latest articles on DEV Community by Siti Aisyah Mat Zainal (@siti_aisyahmatzainal_73).</description>
    <link>https://dev.to/siti_aisyahmatzainal_73</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%2F3567868%2F82e50cf9-ac15-48e0-923f-2a537a7f884f.jpeg</url>
      <title>DEV Community: Siti Aisyah Mat Zainal</title>
      <link>https://dev.to/siti_aisyahmatzainal_73</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/siti_aisyahmatzainal_73"/>
    <language>en</language>
    <item>
      <title>📝 I Didn’t Watch Google Cloud NEXT ’26 Like a Developer but I Watched It Like Someone Trying to Survive</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Thu, 23 Apr 2026 09:40:01 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/i-didnt-watch-google-cloud-next-26-like-a-developer-but-i-watched-it-like-someone-trying-to-30hf</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/i-didnt-watch-google-cloud-next-26-like-a-developer-but-i-watched-it-like-someone-trying-to-30hf</guid>
      <description>&lt;p&gt;I didn’t open Google Cloud NEXT ’26 because I was excited.&lt;br&gt;&lt;br&gt;
I opened it because I was scared of being left behind.&lt;/p&gt;

&lt;p&gt;Everywhere I looked — AI agents, automation, faster builds, smarter tools.&lt;br&gt;&lt;br&gt;
It didn’t feel like a conference.&lt;/p&gt;

&lt;p&gt;It felt like the future… moving without me.&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%2Fcek3rcfh5fhdy54xc17l.jpeg" 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%2Fcek3rcfh5fhdy54xc17l.jpeg" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 The Pressure No One Talks About
&lt;/h2&gt;

&lt;p&gt;People say things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“This will change everything”&lt;/li&gt;
&lt;li&gt;“This makes development easier”&lt;/li&gt;
&lt;li&gt;“You can build 10x faster now”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But no one really says what it feels like on the other side.&lt;/p&gt;

&lt;p&gt;Because when you’re still figuring things out…&lt;br&gt;&lt;br&gt;
it doesn’t feel like opportunity.&lt;/p&gt;

&lt;p&gt;It feels like pressure.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every announcement didn’t feel like innovation.&lt;br&gt;&lt;br&gt;
It felt like a reminder: &lt;em&gt;you need to move faster.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&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%2Fs3ijvsv58askm6w0equ9.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%2Fs3ijvsv58askm6w0equ9.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ So I Tried Anyway
&lt;/h2&gt;

&lt;p&gt;Instead of just watching, I decided to build something.&lt;/p&gt;

&lt;p&gt;Not for a company.&lt;br&gt;&lt;br&gt;
Not for a demo.&lt;br&gt;&lt;br&gt;
Not for the internet.&lt;/p&gt;

&lt;p&gt;Just for me.&lt;/p&gt;

&lt;p&gt;A simple idea:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a small eCommerce-style page&lt;/li&gt;
&lt;li&gt;product listing&lt;/li&gt;
&lt;li&gt;admin page&lt;/li&gt;
&lt;li&gt;some AI-generated content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nothing fancy.&lt;br&gt;&lt;br&gt;
Just something real enough to matter.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧰 What I Used (Inspired by NEXT ’26)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;AI (Gemini-style prompting / content generation)&lt;/li&gt;
&lt;li&gt;Firebase (for backend + storage)&lt;/li&gt;
&lt;li&gt;Custom frontend (because design matters… a lot)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🖼️ [Build Snapshot]
&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%2F7fpvb5y7lxb5ofwxlmgs.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%2F7fpvb5y7lxb5ofwxlmgs.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Not perfect. Not scalable. But mine.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  💔 The Part I Didn’t Expect
&lt;/h2&gt;

&lt;p&gt;The AI responded instantly.&lt;/p&gt;

&lt;p&gt;But I didn’t.&lt;/p&gt;

&lt;p&gt;I paused more than I thought I would.&lt;br&gt;&lt;br&gt;
Re-read outputs.&lt;br&gt;&lt;br&gt;
Adjusted prompts.&lt;br&gt;&lt;br&gt;
Questioned decisions.&lt;/p&gt;

&lt;p&gt;It wasn’t “build faster.”&lt;/p&gt;

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

&lt;blockquote&gt;
&lt;p&gt;“Wait… is this even right?”&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🪞 The Truth I Had to Face
&lt;/h2&gt;

&lt;p&gt;Google didn’t make me feel powerful.&lt;/p&gt;

&lt;p&gt;It made me realise how much I still don’t understand.&lt;/p&gt;

&lt;p&gt;And for a moment, that feeling was uncomfortable.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;tools are faster than you&lt;/li&gt;
&lt;li&gt;outputs are instant&lt;/li&gt;
&lt;li&gt;expectations are higher&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And you’re still… human.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 What Most People Are Not Saying
&lt;/h2&gt;

&lt;p&gt;Let me say the quiet parts out loud:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI doesn’t remove complexity — it shifts it&lt;/li&gt;
&lt;li&gt;Faster tools don’t mean better decisions&lt;/li&gt;
&lt;li&gt;You can generate code instantly… but not judgment&lt;/li&gt;
&lt;li&gt;Building something real still requires &lt;em&gt;you&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📊 [Dev Flow Shift]
&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%2Fmftm3tvbw95m2gsiyan7.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%2Fmftm3tvbw95m2gsiyan7.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Caption:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We didn’t remove steps. We rearranged them.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🌱 The Shift
&lt;/h2&gt;

&lt;p&gt;At some point, I stopped trying to “keep up.”&lt;/p&gt;

&lt;p&gt;And started asking a different question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What do I actually want to build?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not what’s trending.&lt;br&gt;&lt;br&gt;
Not what’s fastest.&lt;br&gt;&lt;br&gt;
Not what looks impressive.&lt;/p&gt;

&lt;p&gt;Just… something meaningful.&lt;/p&gt;




&lt;p&gt;I didn’t leave Google Cloud NEXT ’26 with a polished system.&lt;br&gt;&lt;br&gt;
I didn’t build anything revolutionary.&lt;/p&gt;

&lt;p&gt;But I left with something quieter.&lt;/p&gt;

&lt;p&gt;Something more important.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The decision to keep building —&lt;br&gt;&lt;br&gt;
even when it feels like everything else is moving faster than you.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  📚 References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Google Cloud NEXT ’26 announcements &amp;amp; livestreams&lt;/li&gt;
&lt;li&gt;Community submissions under the challenge tag&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>cloudnextchallenge</category>
      <category>googlecloud</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>🦞I Let an AI Debug My Production Bug… and It Was Right</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Wed, 22 Apr 2026 06:03:15 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/i-let-an-ai-debug-my-production-bug-and-it-was-right-2acj</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/i-let-an-ai-debug-my-production-bug-and-it-was-right-2acj</guid>
      <description>&lt;p&gt;I spent 3 hours debugging a bug.&lt;/p&gt;

&lt;p&gt;The AI solved it in 30 seconds.&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%2Ffukbyznpm9w19fxuu8mo.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%2Ffukbyznpm9w19fxuu8mo.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That’s when I realized:&lt;/p&gt;

&lt;p&gt;👉 We’re not debugging the same way anymore.&lt;/p&gt;

&lt;p&gt;⚠️ The Bug That Didn’t Make Sense&lt;/p&gt;

&lt;p&gt;I was working on a real feature:&lt;/p&gt;

&lt;p&gt;Trading partner selection&lt;br&gt;
Auto-populated buyer details&lt;br&gt;
React + async API&lt;/p&gt;

&lt;p&gt;Everything looked correct:&lt;/p&gt;

&lt;p&gt;API response ✅&lt;br&gt;
Backend logic ✅&lt;br&gt;
No errors ❌&lt;/p&gt;

&lt;p&gt;But…&lt;/p&gt;

&lt;p&gt;👉 The dropdown randomly stopped working.&lt;/p&gt;

&lt;p&gt;Not always.&lt;br&gt;
Not consistently.&lt;br&gt;
Just enough to be frustrating.&lt;/p&gt;

&lt;p&gt;🧠 The Breaking Point&lt;/p&gt;

&lt;p&gt;After hours of:&lt;/p&gt;

&lt;p&gt;checking logs&lt;br&gt;
watching network calls&lt;br&gt;
re-reading code&lt;/p&gt;

&lt;p&gt;I stopped and thought:&lt;/p&gt;

&lt;p&gt;What if I could get help debugging this like how a senior developer would approach it?&lt;/p&gt;

&lt;p&gt;So I built a small AI agent using OpenClaw to analyze the issue.&lt;/p&gt;

&lt;p&gt;🤖 The Experiment: AI Debugging Agent&lt;/p&gt;

&lt;p&gt;Instead of guessing, I gave the AI structured input.&lt;/p&gt;

&lt;p&gt;Input:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"issue"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Dropdown disabled after selecting trading partner"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"apiResponse"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"valid"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"state"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"tradingPartnerIdNumber"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"exists"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"displayList"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"effectDependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"tradingPartnerIdNumber"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🧠 AI Output&lt;br&gt;
Possible issue detected:&lt;/p&gt;

&lt;p&gt;displayList is empty when useEffect runs.&lt;/p&gt;

&lt;p&gt;This suggests a race condition.&lt;/p&gt;

&lt;p&gt;Suggested fix:&lt;br&gt;
Include displayList in dependencies.&lt;/p&gt;

&lt;p&gt;🧩 What Was Actually Happening&lt;/p&gt;

&lt;p&gt;The issue was a race condition.&lt;/p&gt;

&lt;p&gt;The effect was running too early—before the data was ready.&lt;/p&gt;

&lt;p&gt;Flow:&lt;br&gt;
User selects trading partner&lt;br&gt;
        ↓&lt;br&gt;
useEffect runs immediately&lt;br&gt;
        ↓&lt;br&gt;
displayList not ready&lt;br&gt;
        ↓&lt;br&gt;
autofill fails&lt;br&gt;
        ↓&lt;br&gt;
UI becomes inconsistent&lt;/p&gt;

&lt;p&gt;🛠️ The Fix&lt;/p&gt;

&lt;p&gt;❌ Before&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="nf"&gt;useEffect&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="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tradingPartnerIdNumber&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;autofillBuyerDetails&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;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;tradingPartnerIdNumber&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ After&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="nf"&gt;useEffect&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="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tradingPartnerIdNumber&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;displayList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;autofillBuyerDetails&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;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;tradingPartnerIdNumber&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;displayList&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;📊 Result&lt;br&gt;
Dropdown works consistently&lt;br&gt;
No more random failures&lt;br&gt;
No backend changes needed&lt;/p&gt;

&lt;p&gt;💡 What This Taught Me&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Most Bugs Are Timing Problems&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Not logic. Not syntax. Timing.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Debugging Is Pattern Recognition&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And AI is surprisingly good at spotting patterns quickly.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Structured Debugging Works&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instead of guessing, breaking problems into inputs + analysis leads to faster solutions.&lt;/p&gt;

&lt;p&gt;⚔️ Why OpenClaw Helped&lt;/p&gt;

&lt;p&gt;Using OpenClaw made it possible to:&lt;/p&gt;

&lt;p&gt;structure debugging input clearly&lt;br&gt;
reuse the same approach for future issues&lt;br&gt;
treat debugging like a repeatable system&lt;/p&gt;

&lt;p&gt;Instead of a one-time answer, it becomes a workflow.&lt;/p&gt;

&lt;p&gt;🚀 Final Thought&lt;/p&gt;

&lt;p&gt;This started as a small UI bug.&lt;/p&gt;

&lt;p&gt;But it changed how I think about debugging.&lt;/p&gt;

&lt;p&gt;Instead of trial and error, we can move toward:&lt;/p&gt;

&lt;p&gt;👉 systematic, assisted debugging&lt;/p&gt;

&lt;p&gt;And this is probably just the beginning.&lt;/p&gt;

</description>
      <category>openclawchallenge</category>
      <category>devchallenge</category>
      <category>ai</category>
      <category>react</category>
    </item>
    <item>
      <title>🌱 Green Habit Tracker</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Fri, 17 Apr 2026 08:43:21 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/green-habit-tracker-244e</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/green-habit-tracker-244e</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/weekend-2026-04-16"&gt;Weekend Challenge: Earth Day Edition&lt;/a&gt;&lt;/em&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%2Fho4rh1dgidxpydy8jihn.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%2Fho4rh1dgidxpydy8jihn.png" alt=" " width="800" height="880"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  🌱 Green Habit Tracker: Turning Small Actions into Real Impact with AI
&lt;/h1&gt;

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

&lt;p&gt;Sustainability is something many people care about but in reality, it often feels overwhelming, abstract, or difficult to maintain consistently.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;Green Habit Tracker&lt;/strong&gt;, a mobile-first web app that makes eco-friendly living feel simple, motivating, and rewarding.&lt;/p&gt;

&lt;p&gt;Instead of focusing on big lifestyle changes, the app encourages users to take &lt;strong&gt;small daily actions&lt;/strong&gt; like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bringing a reusable bottle
&lt;/li&gt;
&lt;li&gt;Avoiding plastic straws
&lt;/li&gt;
&lt;li&gt;Turning off unused lights
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each action contributes to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌟 Points
&lt;/li&gt;
&lt;li&gt;🔥 Daily streaks
&lt;/li&gt;
&lt;li&gt;🌍 Measurable environmental impact
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To make the experience more personal, the app uses &lt;strong&gt;Google Gemini&lt;/strong&gt; to generate &lt;strong&gt;AI-powered eco tips based on the user’s actual completed habits&lt;/strong&gt;, turning generic advice into meaningful, contextual guidance.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;👉 Live Demo: &lt;em&gt;&lt;a href="https://greentrackerai.netlify.app/" rel="noopener noreferrer"&gt;https://greentrackerai.netlify.app/&lt;/a&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;
🎥 Video Walkthrough: &lt;em&gt;(will put it on 19/4 - video is still in progress)&lt;/em&gt;  &lt;/p&gt;

&lt;h3&gt;
  
  
  Key Screens:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Onboarding &amp;amp; habit selection
&lt;/li&gt;
&lt;li&gt;Daily mission dashboard
&lt;/li&gt;
&lt;li&gt;Reward animations on completion
&lt;/li&gt;
&lt;li&gt;AI-powered eco insights
&lt;/li&gt;
&lt;li&gt;Environmental impact tracking
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;🔗 GitHub Repository: &lt;em&gt;&lt;a href="https://github.com/aisyahz/-Green-Habit.git" rel="noopener noreferrer"&gt;https://github.com/aisyahz/-Green-Habit.git&lt;/a&gt;&lt;/em&gt;  &lt;/p&gt;




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

&lt;h3&gt;
  
  
  🧩 Frontend
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;React (Vite) + TypeScript&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mobile-first layout with a responsive desktop showcase&lt;/li&gt;
&lt;li&gt;Component-based architecture for scalability&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎨 UI/UX Design
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Custom &lt;strong&gt;dark forest green theme&lt;/strong&gt; inspired by nature&lt;/li&gt;
&lt;li&gt;Glass-morphism cards and soft gradients for a premium feel&lt;/li&gt;
&lt;li&gt;Clean typography and minimal icons (eco-focused)&lt;/li&gt;
&lt;li&gt;Floating bottom navigation for mobile-native experience&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ⚙️ State &amp;amp; Logic
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Local state + &lt;strong&gt;localStorage persistence&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Habit tracking system:

&lt;ul&gt;
&lt;li&gt;Users select eco habits&lt;/li&gt;
&lt;li&gt;Mark them as completed daily&lt;/li&gt;
&lt;li&gt;Earn points and build streaks&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Impact calculation:

&lt;ul&gt;
&lt;li&gt;Each habit contributes to estimated CO₂ reduction&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  🎮 Gamification
&lt;/h3&gt;

&lt;p&gt;To make the experience engaging:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🎯 Points system for every completed habit
&lt;/li&gt;
&lt;li&gt;🔥 Daily streak tracking
&lt;/li&gt;
&lt;li&gt;🎉 Completion animations:

&lt;ul&gt;
&lt;li&gt;“+10 pts” floating reward bubble
&lt;/li&gt;
&lt;li&gt;Card scale + icon bounce interactions
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;📊 Progress visualization through charts and stats
&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  🤖 Google Gemini Integration
&lt;/h3&gt;

&lt;p&gt;One of the key features is &lt;strong&gt;AI-powered eco guidance&lt;/strong&gt; using Google Gemini.&lt;/p&gt;

&lt;p&gt;Instead of showing generic tips, the app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tracks completed habits&lt;/li&gt;
&lt;li&gt;Sends them as context to Gemini&lt;/li&gt;
&lt;li&gt;Generates &lt;strong&gt;personalized, encouraging eco advice&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Based on these completed eco habits today: [list], give a short encouraging eco-friendly tip.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This makes the experience:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More relevant
&lt;/li&gt;
&lt;li&gt;More human
&lt;/li&gt;
&lt;li&gt;More motivating
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;🏆 &lt;strong&gt;Best Use of Google Gemini&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project uses Gemini to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate &lt;strong&gt;personalized sustainability tips&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Adapt responses based on real user behavior&lt;/li&gt;
&lt;li&gt;Provide contextual encouragement instead of static content&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Many sustainability apps focus on tracking or data, but I wanted to focus on something different:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Making eco-friendly living feel achievable and rewarding.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By combining:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;small daily habits
&lt;/li&gt;
&lt;li&gt;visual progress
&lt;/li&gt;
&lt;li&gt;and AI-driven encouragement
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;the goal is to help users feel:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;less overwhelmed
&lt;/li&gt;
&lt;li&gt;more consistent
&lt;/li&gt;
&lt;li&gt;and more connected to their impact
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;ul&gt;
&lt;li&gt;How to design a &lt;strong&gt;gamified user experience&lt;/strong&gt; that feels rewarding without being complex
&lt;/li&gt;
&lt;li&gt;How to integrate &lt;strong&gt;AI meaningfully&lt;/strong&gt;, not just as a feature, but as part of the user journey
&lt;/li&gt;
&lt;li&gt;The importance of &lt;strong&gt;micro-interactions&lt;/strong&gt; (animations, feedback) in making an app feel alive
&lt;/li&gt;
&lt;li&gt;How to balance &lt;strong&gt;simple logic with strong UX storytelling&lt;/strong&gt; in a short hackathon timeframe
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Green Habit Tracker is a simple idea:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Small habits, done consistently, can lead to meaningful change.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;With the help of AI, those habits become not just actions&lt;br&gt;
but a guided, encouraging journey toward a more sustainable lifestyle 🌍✨&lt;/p&gt;




</description>
      <category>weekendchallenge</category>
      <category>ai</category>
      <category>earthday</category>
      <category>react</category>
    </item>
    <item>
      <title>Pour Decisions: An April Fools Anti-Game About Futile Effort</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Thu, 02 Apr 2026 07:08:56 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/pour-decisions-an-april-fools-anti-game-about-futile-effort-2h1c</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/pour-decisions-an-april-fools-anti-game-about-futile-effort-2h1c</guid>
      <description>&lt;p&gt;This is a submission for the DEV April Fools Challenge&lt;/p&gt;

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

&lt;p&gt;Pour Decisions — an interactive anti-game where you try to pour tea into a teapot… that absolutely refuses to cooperate.&lt;/p&gt;

&lt;p&gt;It starts like a calm, elegant tea ritual.&lt;br&gt;
Soft colors. Peaceful vibe. Simple task.&lt;/p&gt;

&lt;p&gt;Then the teapot moves.&lt;/p&gt;

&lt;p&gt;Then it runs.&lt;/p&gt;

&lt;p&gt;Then it judges you.&lt;/p&gt;

&lt;p&gt;The entire experience is designed to feel:&lt;/p&gt;

&lt;p&gt;Almost doable&lt;br&gt;
Slightly unfair&lt;br&gt;
Increasingly ridiculous&lt;/p&gt;

&lt;p&gt;There is no real “win”.&lt;/p&gt;

&lt;p&gt;Only effort.&lt;br&gt;
And regret.&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;🌐 Live Demo: &lt;a href="https://pourdecision.netlify.app/" rel="noopener noreferrer"&gt;https://pourdecision.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try it yourself… if you think you can beat a teapot.&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;💻 GitHub Repo: &lt;a href="https://github.com/aisyahz/Pour-Decision" rel="noopener noreferrer"&gt;https://github.com/aisyahz/Pour-Decision&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How I Built It&lt;/p&gt;

&lt;p&gt;This project is a mix of UI playfulness, real-time interaction, and just enough chaos to make users question their life choices.&lt;/p&gt;

&lt;p&gt;Tech Stack&lt;br&gt;
React 19 (functional components + hooks)&lt;br&gt;
Vite for fast dev/build&lt;br&gt;
TypeScript&lt;br&gt;
Tailwind CSS 4 for styling&lt;br&gt;
motion/react for smooth, physics-based animations&lt;br&gt;
Lucide React for icons&lt;br&gt;
canvas-confetti for the fake “victory”&lt;br&gt;
Key Technical Ideas&lt;br&gt;
🫖 Teapot Avoidance Logic&lt;/p&gt;

&lt;p&gt;The teapot constantly tracks the cursor position and moves away when you get close.&lt;/p&gt;

&lt;p&gt;Global mousemove listener&lt;br&gt;
Distance-based reaction&lt;br&gt;
Increasing difficulty (aka frustration scaling)&lt;br&gt;
☕ Pouring System&lt;/p&gt;

&lt;p&gt;Click and hold = pouring tea.&lt;/p&gt;

&lt;p&gt;State-driven pouring (isPouring)&lt;br&gt;
Interval loop updates progress + triggers effects&lt;br&gt;
Tea stream rendered via SVG/Canvas component&lt;br&gt;
🔊 Procedural Audio (no files!)&lt;/p&gt;

&lt;p&gt;Used the Web Audio API to generate sound in real-time:&lt;/p&gt;

&lt;p&gt;OscillatorNode&lt;br&gt;
GainNode&lt;/p&gt;

&lt;p&gt;So the pouring sound is actually synthesized, not imported.&lt;/p&gt;

&lt;p&gt;🎬 Animation System&lt;/p&gt;

&lt;p&gt;Using motion/react:&lt;/p&gt;

&lt;p&gt;Spring-based transitions (for smooth but playful movement)&lt;br&gt;
AnimatePresence for UI elements appearing/disappearing&lt;br&gt;
Teapot movement feels slightly alive (and annoying)&lt;br&gt;
🧠 State &amp;amp; “Frustration Engine”&lt;/p&gt;

&lt;p&gt;Tracked things like:&lt;/p&gt;

&lt;p&gt;Mouse position&lt;br&gt;
Pouring state&lt;br&gt;
Progress&lt;br&gt;
Hidden “frustration level”&lt;/p&gt;

&lt;p&gt;As frustration increases:&lt;/p&gt;

&lt;p&gt;Teapot reacts faster&lt;br&gt;
UI becomes less trustworthy&lt;br&gt;
Success becomes… questionable&lt;br&gt;
🎨 Design Language&lt;/p&gt;

&lt;p&gt;Theme: Elegant Frustration&lt;/p&gt;

&lt;p&gt;Soft tea-inspired palette (porcelain, tea-brown, warm tones)&lt;br&gt;
Serif typography → feels calm &amp;amp; refined&lt;br&gt;
But behavior → chaotic, uncooperative, slightly evil&lt;/p&gt;

&lt;p&gt;The contrast is the joke.&lt;/p&gt;

&lt;p&gt;Prize Category&lt;/p&gt;

&lt;p&gt;🏆 Community Favorite&lt;/p&gt;

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

&lt;p&gt;Highly relatable (we’ve all fought UI like this)&lt;br&gt;
Shareable (“I lost to a teapot” energy)&lt;br&gt;
Simple concept, but strong emotional reaction (frustration + laughter)&lt;/p&gt;

&lt;p&gt;Also… I think everyone deserves to experience being outplayed by a teapot at least once.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;/p&gt;

&lt;p&gt;This project is basically a tribute to:&lt;/p&gt;

&lt;p&gt;forms that almost submit&lt;br&gt;
buttons that move away&lt;br&gt;
bugs that disappear when you debug&lt;br&gt;
and systems that almost work&lt;/p&gt;

&lt;p&gt;You did everything right.&lt;br&gt;
Productivity: 0%.&lt;/p&gt;

&lt;p&gt;If you tried it…&lt;br&gt;
be honest:&lt;/p&gt;

&lt;p&gt;Did you actually think you could win? 😭&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Choose Your Burnout</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Thu, 02 Apr 2026 06:25:15 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/choose-your-burnout-2b9m</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/choose-your-burnout-2b9m</guid>
      <description>&lt;p&gt;This is a submission for the DEV April Fools Challenge&lt;/p&gt;

&lt;p&gt;Choose Your Burnout&lt;br&gt;
The inevitable simulation of modern work culture.&lt;br&gt;
What I Built&lt;/p&gt;

&lt;p&gt;I built a game that solves absolutely nothing.&lt;/p&gt;

&lt;p&gt;Choose Your Burnout is a dark, choice-based simulation where every path leads to the same destination: a slow, optimized collapse.&lt;/p&gt;

&lt;p&gt;You start by selecting your career:&lt;/p&gt;

&lt;p&gt;The Corporate Labyrinth&lt;br&gt;
The Disruptive Alchemist (Startup)&lt;br&gt;
The Freelance Mirage&lt;br&gt;
The Academic Basement&lt;br&gt;
The Gig Economy Engine&lt;/p&gt;

&lt;p&gt;From there, you make decisions that trade:&lt;/p&gt;

&lt;p&gt;Sanity&lt;br&gt;
Sleep&lt;br&gt;
Energy&lt;/p&gt;

&lt;p&gt;…for:&lt;/p&gt;

&lt;p&gt;Money&lt;br&gt;
Ego&lt;br&gt;
and the illusion of progress&lt;/p&gt;

&lt;p&gt;There is no winning state.&lt;/p&gt;

&lt;p&gt;Only different versions of “this seemed like a good idea at the time.”&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;🔗 Live Demo:&lt;br&gt;
[👉&lt;a href="https://ai.studio/apps/321d42d6-cfd6-4624-89dc-ed8934b60f87?fullscreenApplet=true" rel="noopener noreferrer"&gt;https://ai.studio/apps/321d42d6-cfd6-4624-89dc-ed8934b60f87?fullscreenApplet=true&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;Code&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository:&lt;br&gt;
[👉 &lt;a href="https://github.com/aisyahz/Choose-Your-BurnOut.git" rel="noopener noreferrer"&gt;https://github.com/aisyahz/Choose-Your-BurnOut.git&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;How I Built It&lt;/p&gt;

&lt;p&gt;This project is powered by:&lt;/p&gt;

&lt;p&gt;React + Vite – for fast iteration and a clean component structure&lt;br&gt;
Tailwind CSS – for brutalist, high-contrast UI control&lt;br&gt;
Framer Motion (motion/react) – for cinematic transitions, glitches, and subtle tension&lt;br&gt;
SVG + layered rendering – to build the “Digital Mask” face system&lt;br&gt;
The Burnout Engine&lt;/p&gt;

&lt;p&gt;At the center of the experience is a reactive face:&lt;/p&gt;

&lt;p&gt;A pseudo-3D Digital Mask that evolves based on your stats.&lt;/p&gt;

&lt;p&gt;Sleep ↓ → eyes droop and blink irregularly&lt;br&gt;
Sanity ↓ → asymmetry, glitches, red flickers&lt;br&gt;
Energy ↓ → head tilts, movement slows&lt;br&gt;
Ego ↑ → forced, unsettling smile&lt;br&gt;
Money ↓ → structural fragmentation&lt;/p&gt;

&lt;p&gt;It doesn’t just display stats.&lt;br&gt;
It becomes them.&lt;/p&gt;

&lt;p&gt;Key Features&lt;br&gt;
🧠 The Burnout Engine&lt;/p&gt;

&lt;p&gt;A living, degrading face that reacts to every decision.&lt;/p&gt;

&lt;p&gt;🧭 Thematic Career Paths&lt;/p&gt;

&lt;p&gt;Each path has its own visual and psychological identity:&lt;/p&gt;

&lt;p&gt;Corporate → structured, grid-like, suffocating&lt;br&gt;
Startup → chaotic, pulsing, unstable&lt;br&gt;
Freelance → fragmented, isolated&lt;br&gt;
Academic → slow decay, heavy inertia&lt;br&gt;
Gig → fast, repetitive, algorithm-driven&lt;br&gt;
🧪 Premium Glitch Aesthetic&lt;/p&gt;

&lt;p&gt;A sculpted dark UI with:&lt;/p&gt;

&lt;p&gt;chromatic aberration&lt;br&gt;
flickering overlays&lt;br&gt;
system logs&lt;br&gt;
subtle instability&lt;/p&gt;

&lt;p&gt;Everything feels… almost under control.&lt;/p&gt;

&lt;p&gt;📸 The Screenshot Weapon&lt;/p&gt;

&lt;p&gt;At the end, you receive a final report:&lt;/p&gt;

&lt;p&gt;A dramatic “digital eulogy” of your decisions.&lt;/p&gt;

&lt;p&gt;Designed to be shared.&lt;br&gt;
Designed to hurt.&lt;/p&gt;

&lt;p&gt;The Vibe&lt;/p&gt;

&lt;p&gt;Polished.&lt;br&gt;
Cold.&lt;br&gt;
Slightly accusatory.&lt;/p&gt;

&lt;p&gt;It looks like a productivity tool.&lt;br&gt;
It behaves like a breakdown.&lt;/p&gt;

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

&lt;p&gt;I wanted to explore a simple idea:&lt;/p&gt;

&lt;p&gt;What if we treated burnout like a system…&lt;br&gt;
and optimized it?&lt;/p&gt;

&lt;p&gt;Not to fix it.&lt;br&gt;
Just to measure it. Beautifully.&lt;/p&gt;

&lt;p&gt;Prize Category&lt;br&gt;
🎯 Community Favorite&lt;/p&gt;

&lt;p&gt;This project is designed to be:&lt;/p&gt;

&lt;p&gt;instantly understandable&lt;br&gt;
visually memorable&lt;br&gt;
screenshot-worthy&lt;br&gt;
painfully relatable&lt;br&gt;
Final Line&lt;/p&gt;

&lt;p&gt;“You did everything right.”&lt;br&gt;
Productivity: 0%&lt;/p&gt;

&lt;p&gt;Hashtags&lt;/p&gt;

&lt;h1&gt;
  
  
  ChooseYourBurnout #GameDev #IndieGame #UIUX #BurnoutEngine #DigitalArt #WebDev
&lt;/h1&gt;

</description>
      <category>devchallenge</category>
      <category>418challenge</category>
      <category>showdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>One security alert changed how I think about dependencies</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Wed, 01 Apr 2026 02:46:40 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/one-security-alert-changed-how-i-think-about-dependencies-5bgf</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/one-security-alert-changed-how-i-think-about-dependencies-5bgf</guid>
      <description>&lt;p&gt;In 2026, we saw something that many developers don’t expect to deal with early in their career:&lt;/p&gt;

&lt;p&gt;👉 A supply chain attack on a popular npm package.&lt;/p&gt;

&lt;p&gt;This package is widely used for making HTTP requests — something almost every frontend project depends on.&lt;/p&gt;

&lt;p&gt;⚠️ What happened?&lt;/p&gt;

&lt;p&gt;A malicious version was briefly published to npm.&lt;/p&gt;

&lt;p&gt;For projects using:&lt;/p&gt;

&lt;p&gt;"package-name": "^x.x.x"&lt;/p&gt;

&lt;p&gt;npm could automatically install a newer version — including the compromised one — during npm install.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;p&gt;👉 You don’t need to change your code&lt;br&gt;
👉 You don’t need to update anything manually&lt;br&gt;
👉 Just installing dependencies could pull in malicious code&lt;/p&gt;

&lt;p&gt;🧠 What I learned&lt;/p&gt;

&lt;p&gt;This incident made me realize:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Dependency management is security&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Using ^ feels harmless… until it isn’t.&lt;/p&gt;

&lt;p&gt;Auto-upgrading dependencies can introduce:&lt;/p&gt;

&lt;p&gt;breaking changes&lt;br&gt;
vulnerabilities&lt;br&gt;
or even malicious code&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Not all “vulnerabilities” are equal&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After running npm audit, there were many warnings.&lt;/p&gt;

&lt;p&gt;But the real question is:&lt;/p&gt;

&lt;p&gt;👉 Which ones actually matter?&lt;/p&gt;

&lt;p&gt;Some are dev-only tools&lt;br&gt;
Some are indirect dependencies&lt;br&gt;
Some have no real runtime impact&lt;/p&gt;

&lt;p&gt;Understanding context is more important than blindly fixing everything.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Don’t rush to “fix everything”&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It’s tempting to run:&lt;/p&gt;

&lt;p&gt;npm audit fix&lt;/p&gt;

&lt;p&gt;But in real projects:&lt;/p&gt;

&lt;p&gt;it may introduce breaking changes&lt;br&gt;
it may conflict with production versions&lt;br&gt;
it may override controlled dependencies&lt;/p&gt;

&lt;p&gt;Sometimes the correct action is:&lt;br&gt;
👉 do nothing — and escalate properly&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Align with production, not assumptions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Instead of upgrading to the “latest version”, the safer move was:&lt;/p&gt;

&lt;p&gt;👉 Pin to a known safe version already used in production&lt;/p&gt;

&lt;p&gt;🛡️ Final takeaway&lt;/p&gt;

&lt;p&gt;Security isn’t just about backend or infrastructure.&lt;/p&gt;

&lt;p&gt;Sometimes it’s as simple as:&lt;/p&gt;

&lt;p&gt;👉 a single line in package.json&lt;/p&gt;

&lt;p&gt;"dependency": "^x.x.x"&lt;br&gt;
💡 As developers, we should:&lt;br&gt;
Be careful with version ranges (^, ~)&lt;br&gt;
Understand what our dependencies actually do&lt;br&gt;
Treat npm install as a potential risk surface&lt;br&gt;
Think before upgrading — not just react&lt;br&gt;
🚀 Personal note&lt;/p&gt;

&lt;p&gt;This was one of those moments where I realized:&lt;/p&gt;

&lt;p&gt;Being a developer is not just about writing code…&lt;br&gt;
It’s about understanding the system, the risks, and the impact of small decisions.&lt;/p&gt;

&lt;h1&gt;
  
  
  SoftwareEngineering #WebDevelopment #FrontendDeveloper #JavaScript #ReactJS #NodeJS
&lt;/h1&gt;

</description>
      <category>javascript</category>
      <category>npm</category>
      <category>security</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My SV Was Right Again… And I Finally Get It</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Mon, 30 Mar 2026 04:01:35 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/my-sv-was-right-again-and-i-finally-get-it-3ja9</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/my-sv-was-right-again-and-i-finally-get-it-3ja9</guid>
      <description>&lt;p&gt;I had one of those moments today.&lt;/p&gt;

&lt;p&gt;The kind where you think you're solving the requirement…&lt;br&gt;
but your senior is actually thinking 3 steps ahead.&lt;/p&gt;

&lt;p&gt;At first, I was focused on:&lt;/p&gt;

&lt;p&gt;👉 “Can we do this feature or not?”&lt;/p&gt;

&lt;p&gt;Simple.&lt;/p&gt;

&lt;p&gt;User deletes a Workgroup → system reassigns everything to default.&lt;br&gt;
Done. Works. Ship it. 🚀&lt;/p&gt;

&lt;p&gt;Then my SV raised a concern.&lt;/p&gt;

&lt;p&gt;Not about implementation.&lt;br&gt;
But about impact.&lt;/p&gt;

&lt;p&gt;😶 The moment it hit me&lt;/p&gt;

&lt;p&gt;What if the user made a mistake?&lt;/p&gt;

&lt;p&gt;They delete a Workgroup…&lt;br&gt;
everything silently moves to default…&lt;/p&gt;

&lt;p&gt;Then later:&lt;/p&gt;

&lt;p&gt;“Eh… can I revert back?”&lt;/p&gt;

&lt;p&gt;And suddenly you realize:&lt;/p&gt;

&lt;p&gt;❌ No history&lt;br&gt;
❌ No undo&lt;br&gt;
❌ No tracking&lt;br&gt;
❌ No easy recovery&lt;/p&gt;

&lt;p&gt;💥 The real problem&lt;/p&gt;

&lt;p&gt;👉 We allowed a destructive action without a safety net&lt;/p&gt;

&lt;p&gt;😭 Who handles it next?&lt;/p&gt;

&lt;p&gt;Not the system.&lt;/p&gt;

&lt;p&gt;👉 Support team&lt;br&gt;
👉 Developer (me 🥲)&lt;br&gt;
👉 SV&lt;/p&gt;

&lt;p&gt;User:&lt;/p&gt;

&lt;p&gt;“Can help fix my data?”&lt;/p&gt;

&lt;p&gt;Me:&lt;/p&gt;

&lt;p&gt;“...let me open DB manually”&lt;/p&gt;

&lt;p&gt;🧠 That’s when it clicked&lt;/p&gt;

&lt;p&gt;Being a developer is not just:&lt;/p&gt;

&lt;p&gt;👉 Can we build this?&lt;/p&gt;

&lt;p&gt;It’s:&lt;/p&gt;

&lt;p&gt;👉 Should we build this?&lt;/p&gt;

&lt;p&gt;🔥 Why this matters (real world)&lt;/p&gt;

&lt;p&gt;Big systems don’t allow silent data movement.&lt;/p&gt;

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

&lt;p&gt;data ownership matters&lt;br&gt;
audit trail matters&lt;br&gt;
mistakes are expensive&lt;br&gt;
users don’t always realize impact&lt;br&gt;
🎯 What I learned today&lt;/p&gt;

&lt;p&gt;There are always options:&lt;/p&gt;

&lt;p&gt;Option A — Safe&lt;/p&gt;

&lt;p&gt;Block deletion if in use&lt;/p&gt;

&lt;p&gt;Option B — Convenient&lt;/p&gt;

&lt;p&gt;Auto reassign (risky)&lt;/p&gt;

&lt;p&gt;Option C — Thoughtful&lt;/p&gt;

&lt;p&gt;Allow it, but:&lt;/p&gt;

&lt;p&gt;show impact&lt;br&gt;
warn user&lt;br&gt;
track changes&lt;br&gt;
🧠 The real upgrade&lt;/p&gt;

&lt;p&gt;Today I didn’t learn new code.&lt;/p&gt;

&lt;p&gt;I learned how to think like:&lt;/p&gt;

&lt;p&gt;👉 system owner&lt;br&gt;
👉 not just developer&lt;/p&gt;

&lt;p&gt;🙌 Final thought&lt;/p&gt;

&lt;p&gt;Your senior isn’t blocking you.&lt;/p&gt;

&lt;p&gt;They’re protecting the system&lt;br&gt;
from problems you haven’t seen yet.&lt;/p&gt;

&lt;p&gt;And yeah…&lt;/p&gt;

&lt;p&gt;My SV was right. Again 😂🔥&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Before the Code, There Was Curiosity - The Mind of a Woman Developer</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Tue, 10 Mar 2026 16:04:00 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/before-the-code-there-was-curiosity-the-mind-of-a-woman-developer-2mln</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/before-the-code-there-was-curiosity-the-mind-of-a-woman-developer-2mln</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Frontend Art&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Show us your Art
&lt;/h2&gt;

&lt;p&gt;🌌 &lt;strong&gt;Live Interactive Experience&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Explore the installation here:&lt;br&gt;&lt;br&gt;
👉 &lt;a href="https://womenmind.netlify.app" rel="noopener noreferrer"&gt;https://womenmind.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This piece is designed to be experienced interactively.&lt;br&gt;&lt;br&gt;
Users navigate a living neural constellation where each node represents a cognitive force that shapes how developers think and create.&lt;/p&gt;

&lt;p&gt;The journey begins with curiosity and expands into a constellation of ideas, ultimately connecting modern developer mindsets to the pioneers who helped shape computing history.&lt;/p&gt;

&lt;p&gt;The artwork combines:&lt;/p&gt;

&lt;p&gt;• interactive constellations&lt;br&gt;&lt;br&gt;
• neural network metaphors&lt;br&gt;&lt;br&gt;
• cinematic motion&lt;br&gt;&lt;br&gt;
• generative particle systems  &lt;/p&gt;

&lt;p&gt;The goal is to transform abstract developer traits into something &lt;strong&gt;visual, explorable, and alive&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;Technology history is filled with brilliant pioneers whose contributions shaped modern computing. Many of these innovators—like Ada Lovelace, Grace Hopper, and others—pushed the boundaries of what technology could become.&lt;/p&gt;

&lt;p&gt;This project was inspired by a question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if we could visualize the mindset behind innovation itself?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of representing developers through resumes or technical skills, I wanted to represent the &lt;em&gt;cognitive forces&lt;/em&gt; that drive innovation:&lt;/p&gt;

&lt;p&gt;• curiosity that sparks discovery&lt;br&gt;&lt;br&gt;
• creativity that imagines new possibilities&lt;br&gt;&lt;br&gt;
• logic that structures ideas into systems&lt;br&gt;&lt;br&gt;
• empathy that keeps technology human-centered&lt;br&gt;&lt;br&gt;
• collaboration that turns ideas into reality  &lt;/p&gt;

&lt;p&gt;By visualizing these forces as a living constellation, the experience becomes less about individual achievement and more about &lt;strong&gt;shared lineage and collective progress in technology&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The constellation metaphor also reflects how ideas travel through time—how today's developers are influenced by the pioneers who came before them.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Code
&lt;/h2&gt;

&lt;p&gt;The full source code for this project is available here:&lt;/p&gt;

&lt;p&gt;🔗 GitHub Repository&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/aisyahz/women-mind-developer" rel="noopener noreferrer"&gt;https://github.com/aisyahz/women-mind-developer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Key technologies used:&lt;/p&gt;

&lt;p&gt;• Next.js 15 (App Router)&lt;br&gt;&lt;br&gt;
• React 19&lt;br&gt;&lt;br&gt;
• TypeScript&lt;br&gt;&lt;br&gt;
• Framer Motion for cinematic animation&lt;br&gt;&lt;br&gt;
• SVG + Canvas rendering for constellation visualization&lt;br&gt;&lt;br&gt;
• Tailwind CSS for styling  &lt;/p&gt;

&lt;p&gt;Core component:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;NeuralConstellation.tsx&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This component orchestrates the constellation system, including:&lt;/p&gt;

&lt;p&gt;• dynamic node rendering&lt;br&gt;&lt;br&gt;
• orbital particle systems&lt;br&gt;&lt;br&gt;
• neural thread connections&lt;br&gt;&lt;br&gt;
• curiosity-triggered expansion animation&lt;br&gt;&lt;br&gt;
• insight shard discovery system  &lt;/p&gt;

&lt;p&gt;The project focuses on combining &lt;strong&gt;interactive storytelling with modern web animation techniques&lt;/strong&gt; to create an experience closer to digital art than traditional UI.&lt;/p&gt;

&lt;p&gt;A cinematic interactive constellation exploring curiosity, creativity, and the shared lineage of women in technology.&lt;/p&gt;

&lt;h1&gt;
  
  
  wecoded
&lt;/h1&gt;

&lt;h1&gt;
  
  
  frontend
&lt;/h1&gt;

&lt;h1&gt;
  
  
  webdev
&lt;/h1&gt;

&lt;h1&gt;
  
  
  javascript
&lt;/h1&gt;

&lt;h1&gt;
  
  
  showdev
&lt;/h1&gt;

</description>
      <category>wecoded</category>
      <category>devchallenge</category>
      <category>frontend</category>
      <category>css</category>
    </item>
    <item>
      <title>One Sentence From My Senior Engineer Changed How I Think About Software</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Mon, 09 Mar 2026 03:36:02 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/one-sentence-from-my-senior-engineer-changed-how-i-think-about-software-4oe3</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/one-sentence-from-my-senior-engineer-changed-how-i-think-about-software-4oe3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  One Sentence From My Senior Engineer Changed How I Think About Software
&lt;/h2&gt;

&lt;p&gt;When I first started working as a developer, my knowledge was everywhere.&lt;/p&gt;

&lt;p&gt;Some notes were in notebooks.&lt;br&gt;
Some were in sticky notes.&lt;br&gt;
Some were in screenshots.&lt;br&gt;
Some were buried inside ChatGPT conversations.&lt;/p&gt;

&lt;p&gt;And when I needed to remember how something worked… I had to &lt;strong&gt;search through chaos.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the time, I thought this was normal. I was learning fast, solving problems, writing code, fixing bugs. I believed the important part was simply &lt;strong&gt;getting things to work&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Then one small comment from my senior engineer changed how I think about development.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Moment I Realized Something Was Missing
&lt;/h2&gt;

&lt;p&gt;One day my senior reviewed how I tracked development information and said something simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Your notes are scattered.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It wasn’t criticism in a harsh way. It was more like an observation from someone who had spent &lt;strong&gt;20 years designing systems and architectures&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I started paying attention to how she worked.&lt;/p&gt;

&lt;p&gt;Everything she did had structure.&lt;/p&gt;

&lt;p&gt;Documentation.&lt;br&gt;
Functional specifications.&lt;br&gt;
Technical notes.&lt;br&gt;
System flow explanations.&lt;/p&gt;

&lt;p&gt;When she needed to revisit something months later, she didn’t search randomly.&lt;/p&gt;

&lt;p&gt;She &lt;strong&gt;knew exactly where the information lived&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That moment made me realize something important.&lt;/p&gt;

&lt;p&gt;Being a developer is not just about writing code.&lt;/p&gt;

&lt;p&gt;It’s about &lt;strong&gt;building systems that your future self and your team can understand&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Learning to Think Like an Engineer
&lt;/h2&gt;

&lt;p&gt;As a junior developer, most of my energy went into solving immediate problems:&lt;/p&gt;

&lt;p&gt;• Why is this API failing?&lt;br&gt;
• Why is the database returning this value?&lt;br&gt;
• Why is this UI component breaking?&lt;/p&gt;

&lt;p&gt;But experienced engineers think differently.&lt;/p&gt;

&lt;p&gt;They think about:&lt;/p&gt;

&lt;p&gt;• traceability&lt;br&gt;
• documentation&lt;br&gt;
• architecture decisions&lt;br&gt;
• long-term maintainability&lt;/p&gt;

&lt;p&gt;I started reorganizing everything.&lt;/p&gt;

&lt;p&gt;Instead of scattered notes, I began structuring information by:&lt;/p&gt;

&lt;p&gt;Development tasks&lt;br&gt;
System flows&lt;br&gt;
Backend services&lt;br&gt;
Frontend behaviors&lt;br&gt;
Database logic&lt;/p&gt;

&lt;p&gt;Even ideas from debugging sessions or conversations with colleagues were captured and categorized.&lt;/p&gt;

&lt;p&gt;Slowly, things started to change.&lt;/p&gt;

&lt;p&gt;When I returned to a problem weeks later, I could understand it immediately.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Quiet Skill Many Developers Ignore
&lt;/h2&gt;

&lt;p&gt;Something I noticed while working in tech is that &lt;strong&gt;documentation is often underestimated&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Many developers focus only on writing code.&lt;/p&gt;

&lt;p&gt;But good documentation does something powerful.&lt;/p&gt;

&lt;p&gt;It turns knowledge into something &lt;strong&gt;shareable and reusable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It helps teammates understand decisions.&lt;/p&gt;

&lt;p&gt;It helps future developers maintain systems.&lt;/p&gt;

&lt;p&gt;And most importantly, it helps &lt;strong&gt;you grow faster&lt;/strong&gt;, because you can see patterns in your own learning.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Means for Underrepresented Developers
&lt;/h2&gt;

&lt;p&gt;For many of us entering tech without traditional guidance, we often learn through trial and error.&lt;/p&gt;

&lt;p&gt;We pick up skills piece by piece.&lt;/p&gt;

&lt;p&gt;But mentorship — even small moments of guidance — can change everything.&lt;/p&gt;

&lt;p&gt;One sentence from a senior engineer made me rethink how I approach my entire workflow.&lt;/p&gt;

&lt;p&gt;Not because she gave a lecture.&lt;/p&gt;

&lt;p&gt;But because she demonstrated what &lt;strong&gt;experience looks like in practice&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Lesson I Carry Forward
&lt;/h2&gt;

&lt;p&gt;Today, I still make mistakes.&lt;/p&gt;

&lt;p&gt;I still get stuck debugging.&lt;/p&gt;

&lt;p&gt;I still ask questions.&lt;/p&gt;

&lt;p&gt;But one thing changed permanently.&lt;/p&gt;

&lt;p&gt;I no longer see development as just writing code.&lt;/p&gt;

&lt;p&gt;I see it as &lt;strong&gt;building systems of knowledge&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And sometimes the biggest growth in your career doesn't come from a complex algorithm or a new framework.&lt;/p&gt;

&lt;p&gt;Sometimes it comes from a simple moment when someone more experienced quietly shows you a better way to think.&lt;/p&gt;

&lt;p&gt;And you decide to learn from it.&lt;/p&gt;




&lt;p&gt;If you're early in your developer journey, here's something I wish someone told me earlier:&lt;/p&gt;

&lt;p&gt;Write code, yes.&lt;/p&gt;

&lt;p&gt;But also write down &lt;strong&gt;why the code exists&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Your future self will thank you.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Fri, 06 Mar 2026 14:39:19 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/-9l9</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/-9l9</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/devteam" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&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%2Forganization%2Fprofile_image%2F1%2Fd908a186-5651-4a5a-9f76-15200bc6801f.jpg" alt="The DEV Team" width="800" height="800"&gt;
      &lt;div class="ltag__link__user__pic"&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%2Fuser%2Fprofile_image%2F264%2Fb75f6edf-df7b-406e-a56b-43facafb352c.jpg" alt="" width="400" height="400"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/devteam/join-the-notion-mcp-challenge-1500-in-prizes-73e" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Join the Notion MCP Challenge: $1,500 in Prizes!&lt;/h2&gt;
      &lt;h3&gt;Jess Lee for The DEV Team ・ Mar 4&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#notionchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#mcp&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>notionchallenge</category>
      <category>devchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Fri, 06 Mar 2026 08:20:23 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/-2oo9</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/-2oo9</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/siti_aisyahmatzainal_73" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F3567868%2F82e50cf9-ac15-48e0-923f-2a537a7f884f.jpeg" alt="siti_aisyahmatzainal_73"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/siti_aisyahmatzainal_73/furever-care-ai-turning-pet-health-observations-into-vet-ready-timelines-with-notion-ai-2n41" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;🐾FurEver Care AI — Turning Pet Health Observations into Vet-Ready Timelines with Notion + AI&lt;/h2&gt;
      &lt;h3&gt;Siti Aisyah Mat Zainal ・ Mar 6&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#notionchallenge&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#ai&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#mcp&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devchallenge&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>notionchallenge</category>
      <category>webdev</category>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>🐾FurEver Care AI — Turning Pet Health Observations into Vet-Ready Timelines with Notion + AI</title>
      <dc:creator>Siti Aisyah Mat Zainal</dc:creator>
      <pubDate>Fri, 06 Mar 2026 08:00:28 +0000</pubDate>
      <link>https://dev.to/siti_aisyahmatzainal_73/furever-care-ai-turning-pet-health-observations-into-vet-ready-timelines-with-notion-ai-2n41</link>
      <guid>https://dev.to/siti_aisyahmatzainal_73/furever-care-ai-turning-pet-health-observations-into-vet-ready-timelines-with-notion-ai-2n41</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FurEver Care AI is an AI-assisted pet health observation system built with Next.js, Notion, and Google Genkit + Gemini.&lt;/p&gt;

&lt;p&gt;The system helps caregivers:&lt;/p&gt;

&lt;p&gt;• record daily health observations&lt;br&gt;
• detect wellness patterns&lt;br&gt;
• generate structured veterinary summaries&lt;/p&gt;

&lt;p&gt;By turning simple daily notes into structured Notion records, the system helps veterinarians understand symptom timelines more clearly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I Built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project continues from my previous FurEver Log challenge entry.&lt;/p&gt;

&lt;p&gt;In this version, I expanded the idea into a full system that combines:&lt;/p&gt;

&lt;p&gt;• structured observation logging&lt;br&gt;
• AI pattern analysis&lt;br&gt;
• veterinary briefing tools&lt;/p&gt;

&lt;p&gt;The goal is simple: help caregivers capture daily observations, organize them in Notion, and generate vet-ready summaries automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When a pet becomes sick, something unexpected happens.&lt;/p&gt;

&lt;p&gt;You become a full-time observer.&lt;/p&gt;

&lt;p&gt;You start noticing things you never paid attention to before:&lt;/p&gt;

&lt;p&gt;• How much they eat&lt;br&gt;
• Whether they still play&lt;br&gt;
• If they used the litter box&lt;br&gt;
• How long they stay inside it&lt;br&gt;
• Whether their breathing feels faster&lt;br&gt;
• If their energy feels “different”&lt;/p&gt;

&lt;p&gt;But when the veterinarian asks questions like:&lt;/p&gt;

&lt;p&gt;“When did the appetite change?”&lt;br&gt;
“How many times did vomiting occur?”&lt;br&gt;
“Has the energy been declining over the last few days?”&lt;/p&gt;

&lt;p&gt;Many caregivers struggle to answer accurately.&lt;/p&gt;

&lt;p&gt;Not because they don't care.&lt;/p&gt;

&lt;p&gt;But because stress makes memory unreliable.&lt;/p&gt;

&lt;p&gt;Information ends up scattered across:&lt;/p&gt;

&lt;p&gt;• chat messages&lt;br&gt;
• photos&lt;br&gt;
• notes apps&lt;br&gt;
• memory&lt;br&gt;
• vet receipts&lt;/p&gt;

&lt;p&gt;Reconstructing the timeline becomes incredibly difficult.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Inspiration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This project was inspired by caring for my cat Abu.&lt;/p&gt;

&lt;p&gt;When Abu got sick, I started writing small daily observations:&lt;/p&gt;

&lt;p&gt;• appetite&lt;br&gt;
• energy&lt;br&gt;
• vomiting&lt;br&gt;
• medications&lt;br&gt;
• vet notes&lt;/p&gt;

&lt;p&gt;But those records were scattered everywhere.&lt;/p&gt;

&lt;p&gt;And when things became serious, I realized something painful:&lt;/p&gt;

&lt;p&gt;The most important information about Abu's health was the hardest to organize.&lt;/p&gt;

&lt;p&gt;So I built FurEver Care AI.&lt;/p&gt;

&lt;p&gt;A system that helps caregivers turn everyday care observations into structured health timelines and vet communication tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What FurEver Care AI Does&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FurEver Care AI is a Notion-powered health observation system for pet caregivers.&lt;/p&gt;

&lt;p&gt;It transforms daily observations into structured health records and AI-assisted insights.&lt;/p&gt;

&lt;p&gt;Features&lt;br&gt;
🫀 Vitals Tracking&lt;/p&gt;

&lt;p&gt;A real-time heart rate timer allows caregivers to tap along with their pet’s pulse to automatically calculate BPM.&lt;/p&gt;

&lt;p&gt;This allows monitoring heart rate changes without needing special equipment.&lt;/p&gt;

&lt;p&gt;🚽 Bathroom Monitoring&lt;/p&gt;

&lt;p&gt;Daily tracking for important health signals:&lt;/p&gt;

&lt;p&gt;• Poo presence&lt;br&gt;
• Pee frequency&lt;br&gt;
• Time spent in litter box&lt;br&gt;
• Straining or accidents&lt;/p&gt;

&lt;p&gt;These are often early indicators of illness but are rarely documented consistently.&lt;/p&gt;

&lt;p&gt;📓 Daily Health Logs&lt;/p&gt;

&lt;p&gt;Caregivers record:&lt;/p&gt;

&lt;p&gt;• appetite level&lt;br&gt;
• energy level&lt;br&gt;
• symptoms&lt;br&gt;
• medications&lt;br&gt;
• observations&lt;br&gt;
• notes&lt;/p&gt;

&lt;p&gt;Each entry becomes a timestamped health record inside Notion.&lt;/p&gt;

&lt;p&gt;🧠 AI Risk Assessment&lt;/p&gt;

&lt;p&gt;Using Google Genkit + Gemini, the system evaluates each log and assigns a status:&lt;/p&gt;

&lt;p&gt;• Normal&lt;br&gt;
• Monitor&lt;br&gt;
• Urgent&lt;/p&gt;

&lt;p&gt;This helps caregivers quickly understand when a pattern might require attention.&lt;/p&gt;

&lt;p&gt;Important note:&lt;/p&gt;

&lt;p&gt;The AI does not diagnose illness or recommend treatment.&lt;br&gt;
It only organizes observations.&lt;/p&gt;

&lt;p&gt;📊 Trend Detection&lt;/p&gt;

&lt;p&gt;The system compares recent logs and identifies patterns like:&lt;/p&gt;

&lt;p&gt;• declining appetite&lt;br&gt;
• persistent vomiting&lt;br&gt;
• energy drops&lt;/p&gt;

&lt;p&gt;These patterns appear as AI observations for the caregiver.&lt;/p&gt;

&lt;p&gt;📈 Health Trend Visualizer&lt;/p&gt;

&lt;p&gt;One challenge with daily observations is that patterns are difficult to see in plain text.&lt;/p&gt;

&lt;p&gt;A small appetite change today may not feel important.&lt;/p&gt;

&lt;p&gt;But across several days, a pattern might emerge.&lt;/p&gt;

&lt;p&gt;To help detect gradual changes, I added a Health Trend Visualizer.&lt;/p&gt;

&lt;p&gt;The chart maps:&lt;/p&gt;

&lt;p&gt;• appetite levels&lt;br&gt;
• energy levels&lt;/p&gt;

&lt;p&gt;across recent logs.&lt;/p&gt;

&lt;p&gt;If a specific pet is selected (for example Abu), the system switches to a Pet-Specific Trend View showing recovery or decline over time.&lt;/p&gt;

&lt;p&gt;If no pet filter is applied, the chart shows a global overview of recent observations.&lt;/p&gt;

&lt;p&gt;This turns simple logs into visual wellness trajectories.&lt;/p&gt;

&lt;p&gt;📄 Vet Brief Generator&lt;/p&gt;

&lt;p&gt;Before a veterinary visit, caregivers can generate a structured briefing document containing:&lt;/p&gt;

&lt;p&gt;• symptom timeline&lt;br&gt;
• observation patterns&lt;br&gt;
• medication history&lt;br&gt;
• AI-generated questions to ask the vet&lt;/p&gt;

&lt;p&gt;The brief can also be exported as a professional PDF for clinic visits.&lt;/p&gt;

&lt;p&gt;🤍 Care Moments&lt;/p&gt;

&lt;p&gt;Illness monitoring can be emotionally exhausting.&lt;/p&gt;

&lt;p&gt;So the app also allows recording small care moments, such as:&lt;/p&gt;

&lt;p&gt;• extra cuddle time&lt;br&gt;
• quiet companionship&lt;br&gt;
• comfort routines&lt;/p&gt;

&lt;p&gt;Because caregiving isn’t only clinical.&lt;/p&gt;

&lt;p&gt;It’s emotional.&lt;/p&gt;

&lt;p&gt;Screenshots&lt;br&gt;
Daily Health Log&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%2F3xtbf8xrukcu982rv98d.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%2F3xtbf8xrukcu982rv98d.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI Insights Dashboard&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%2Fa3y6g3ej92pr2t76hysl.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%2Fa3y6g3ej92pr2t76hysl.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Health Trend Visualizer&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%2F7s8r90xhlb0q0g4vq3as.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%2F7s8r90xhlb0q0g4vq3as.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vet Assistant&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%2F441xtrfvhryhq083ts0x.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%2F441xtrfvhryhq083ts0x.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Live Demo&lt;/p&gt;

&lt;p&gt;You can test the application here:&lt;/p&gt;

&lt;p&gt;Demo:&lt;br&gt;
&lt;a href="https://furever-careai.netlify.app/" rel="noopener noreferrer"&gt;https://furever-careai.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Try the following flow:&lt;/p&gt;

&lt;p&gt;1️⃣ Record a Daily Health Log&lt;br&gt;
2️⃣ View the record syncing to Notion&lt;br&gt;
3️⃣ Run AI wellness analysis&lt;br&gt;
4️⃣ View the health trend chart&lt;br&gt;
5️⃣ Generate a Vet Brief&lt;br&gt;
6️⃣ Export the summary as PDF&lt;/p&gt;

&lt;p&gt;Video Demo&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
        &lt;div class="c-embed__cover"&gt;
          &lt;a href="https://jumpshare.com/share/Ecmh023fSwTj4Ot16cNq" class="c-link align-middle" rel="noopener noreferrer"&gt;
            &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpreviews.jumpshare.com%2Fthumb%2F4ea2c443a4623ad282087187a00fc426bb3185e9f1b75e869293bd7466fb8bd7a6fca7a3a70d524145644c9f82d691a7070f1eeafe988b5c9b76f97551d869c4332c8436f45df0bcbcdbfa73530b5ca0912220c53f54566b7f4c7a1691b2ff4b" height="auto" class="m-0"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="c-embed__body"&gt;
        &lt;h2 class="fs-xl lh-tight"&gt;
          &lt;a href="https://jumpshare.com/share/Ecmh023fSwTj4Ot16cNq" rel="noopener noreferrer" class="c-link"&gt;
            demo
          &lt;/a&gt;
        &lt;/h2&gt;
        &lt;div class="color-secondary fs-s flex items-center"&gt;
            &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fsc.jumpshare.com%2Fres%2Fimages%2Fnew_static%2Ffavicon%2Ffavicon-32x32.ico"&gt;
          jumpshare.com
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;




&lt;p&gt;Suggested walkthrough:&lt;/p&gt;

&lt;p&gt;Record a Daily Health Log&lt;/p&gt;

&lt;p&gt;Show the entry syncing into Notion&lt;/p&gt;

&lt;p&gt;Run AI wellness analysis&lt;/p&gt;

&lt;p&gt;Show trend visualization&lt;/p&gt;

&lt;p&gt;Generate a Vet Brief&lt;/p&gt;

&lt;p&gt;Export the report as PDF&lt;/p&gt;

&lt;p&gt;Repository&lt;/p&gt;

&lt;p&gt;GitHub:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/aisyahz/FurEver-Care-AI--Pet-Health-Copilot-" rel="noopener noreferrer"&gt;https://github.com/aisyahz/FurEver-Care-AI--Pet-Health-Copilot-&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project includes:&lt;/p&gt;

&lt;p&gt;• Notion API integration&lt;br&gt;
• Genkit AI workflows&lt;br&gt;
• real-time observation logging&lt;br&gt;
• wellness trend visualization&lt;br&gt;
• vet briefing generation&lt;br&gt;
• PDF export&lt;/p&gt;

&lt;p&gt;System Architecture&lt;/p&gt;

&lt;p&gt;The system follows a simple architecture:&lt;/p&gt;

&lt;p&gt;Caregiver Input (Next.js UI)&lt;br&gt;
↓&lt;br&gt;
API Routes&lt;br&gt;
↓&lt;br&gt;
Notion Database (Source of Truth)&lt;br&gt;
↓&lt;br&gt;
AI Analysis (Genkit + Gemini)&lt;br&gt;
↓&lt;br&gt;
Insights Dashboard + Vet Brief&lt;/p&gt;

&lt;p&gt;This keeps the caregiver in control of the raw data while AI assists with interpretation.&lt;/p&gt;

&lt;p&gt;How I Used Notion MCP&lt;/p&gt;

&lt;p&gt;Notion MCP enables AI agents to interact directly with structured Notion databases.&lt;/p&gt;

&lt;p&gt;In this project, Notion serves as the source of truth for all health records.&lt;/p&gt;

&lt;p&gt;Using MCP, the AI agent can:&lt;/p&gt;

&lt;p&gt;• read Daily Health Logs&lt;br&gt;
• analyze recent entries&lt;br&gt;
• tag records as Normal / Monitor / Urgent&lt;br&gt;
• generate follow-up caregiving tasks&lt;br&gt;
• create structured Vet Visit Briefs&lt;/p&gt;

&lt;p&gt;All outputs are written back into Notion, keeping the system transparent and editable.&lt;/p&gt;

&lt;p&gt;This makes the system human-in-the-loop rather than AI-controlled.&lt;/p&gt;

&lt;p&gt;Challenges I Faced&lt;/p&gt;

&lt;p&gt;One challenge was ensuring the Notion database remained the single source of truth.&lt;/p&gt;

&lt;p&gt;Because AI observations are written back into the same database, the schema had to be carefully designed so that:&lt;/p&gt;

&lt;p&gt;• caregiver inputs remain editable&lt;br&gt;
• AI fields remain distinguishable&lt;br&gt;
• system metadata does not interfere with manual records&lt;/p&gt;

&lt;p&gt;Another challenge involved managing AI rate limits when generating vet summaries and analysis.&lt;/p&gt;

&lt;p&gt;To avoid excessive API usage, the system analyzes only the most relevant recent health logs.&lt;/p&gt;

&lt;p&gt;Why Notion Works So Well Here&lt;/p&gt;

&lt;p&gt;Notion provides:&lt;/p&gt;

&lt;p&gt;• structured databases&lt;br&gt;
• flexible schema design&lt;br&gt;
• relational data&lt;br&gt;
• API access&lt;br&gt;
• AI workflow compatibility&lt;/p&gt;

&lt;p&gt;This makes it ideal for human-centered caregiving systems.&lt;/p&gt;

&lt;p&gt;Instead of replacing human judgment, the system:&lt;/p&gt;

&lt;p&gt;• organizes observations&lt;br&gt;
• highlights patterns&lt;br&gt;
• improves communication with professionals&lt;/p&gt;

&lt;p&gt;The Bigger Goal&lt;/p&gt;

&lt;p&gt;This project isn't about replacing veterinary care.&lt;/p&gt;

&lt;p&gt;It's about solving a quieter problem:&lt;/p&gt;

&lt;p&gt;When someone is caring for a sick animal, the hardest part is remembering everything accurately.&lt;/p&gt;

&lt;p&gt;FurEver Care AI helps caregivers turn daily observations into reliable timelines, allowing veterinarians to focus on treatment instead of reconstructing history.&lt;/p&gt;

&lt;p&gt;And maybe, just maybe, it helps caregivers feel a little less overwhelmed.&lt;/p&gt;

&lt;p&gt;Inspired by Abu&lt;/p&gt;

&lt;p&gt;FurEver Care AI was inspired by caring for a cat named Abu.&lt;/p&gt;

&lt;p&gt;Abu reminded me that careful observation, patience, and presence matter more than perfect records.&lt;/p&gt;

&lt;p&gt;This project simply tries to make those observations easier to keep.&lt;/p&gt;

&lt;p&gt;If it helps even one caregiver communicate their pet's condition more clearly to a veterinarian, then it has already served its purpose.&lt;/p&gt;

</description>
      <category>notionchallenge</category>
      <category>ai</category>
      <category>mcp</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
