<?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: yizhuw</title>
    <description>The latest articles on DEV Community by yizhuw (@yizhuw_3c364adc9b7ba3c4db).</description>
    <link>https://dev.to/yizhuw_3c364adc9b7ba3c4db</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%2F3620715%2F51d3e49e-586e-4726-b272-8bc4da815d80.png</url>
      <title>DEV Community: yizhuw</title>
      <link>https://dev.to/yizhuw_3c364adc9b7ba3c4db</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yizhuw_3c364adc9b7ba3c4db"/>
    <language>en</language>
    <item>
      <title>Dr.Nut</title>
      <dc:creator>yizhuw</dc:creator>
      <pubDate>Mon, 08 Dec 2025 05:21:31 +0000</pubDate>
      <link>https://dev.to/yizhuw_3c364adc9b7ba3c4db/drnut-30f2</link>
      <guid>https://dev.to/yizhuw_3c364adc9b7ba3c4db/drnut-30f2</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built Forest OS, a cross-platform "digital sanctuary" designed to gamify mental health and mindfulness. In a world of high-stress and constant notifications, Forest OS provides a slow-living simulation where taking care of a virtual squirrel mirrors the act of taking care of oneself.&lt;br&gt;
The app combines the charm of a virtual pet (Tamagotchi-style) with evidence-based psychological tools like CBT (Cognitive Behavioral Therapy) and breathing exercises.&lt;br&gt;
The core theme is "Healing &amp;amp; Connection."&lt;br&gt;
Instead of a boring checklist app, users enter a breathing ecosystem where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Energy Loop&lt;/strong&gt;: You earn energy by completing real-world self-care tasks (drinking water, looking at clouds).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exploration&lt;/strong&gt;: When you are well-rested, the squirrel travels to the forest and brings back "Mental Health Gifts" (insights or mini-games).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community&lt;/strong&gt;: A "Tree Hollow" drift bottle system allows users to share worries anonymously.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo and Video Link
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/zyun0004/DrNutUno" rel="noopener noreferrer"&gt;https://github.com/zyun0004/DrNutUno&lt;/a&gt;&lt;br&gt;
&lt;a href="https://drive.google.com/file/d/11TjAAOeOFA-h2fIqtbHXsjVbZO0g058H/view?usp=sharing" rel="noopener noreferrer"&gt;https://drive.google.com/file/d/11TjAAOeOFA-h2fIqtbHXsjVbZO0g058H/view?usp=sharing&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-Platform Magic
&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%2Fzp3tzxmjpm1pm9cdrzd0.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%2Fzp3tzxmjpm1pm9cdrzd0.png" alt=" " width="800" height="485"&gt;&lt;/a&gt;&lt;br&gt;
The app is designed with a "Write Once, Heal Anywhere" philosophy.&lt;br&gt;
Using a single codebase, I created a consistent, fluid experience that adapts to different screen sizes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Responsive Canvas&lt;/strong&gt;: The "Drift Bottle" feature uses a cross-platform drawing canvas that works seamlessly on touch devices (iOS/Android).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adaptive UI&lt;/strong&gt;: The CustomTabbar and HomeIsland layouts dynamically adjust to safe areas (notches) and varying aspect ratios, ensuring the immersive art style isn't broken by system UI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified Animation Engine&lt;/strong&gt;: I utilized Lottie for complex vector animations (the squirrel's expressions, weather changes), ensuring 60fps performance across all platforms without heavy asset fragmentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Interactive Features
&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%2Ftwp3mej4ceic6b1otomc.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%2Ftwp3mej4ceic6b1otomc.png" alt=" " width="800" height="493"&gt;&lt;/a&gt;&lt;br&gt;
I focused heavily on Tactile Interaction to make the app feel alive:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Physics-Based Blind Box&lt;/strong&gt;: In the Gift section, users interact with a rope connected to a giant acorn. I implemented a spring physics logic where the rope stretches and bounces back based on touch gestures, creating a satisfying "pull" feel before the reward pops open.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Crush Your Anxiety" Minigame&lt;/strong&gt;: When users receive a "Worry Nut" (representing a negative thought), they must physically tap rapidly to crack the hard shell, revealing a comforting CBT truth inside. It turns abstract anxiety management into a physical action.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Haptic Feedback Integration&lt;/strong&gt;: Every interaction—from high-fiving the squirrel to stamping a letter—triggers precise haptic feedback (vibration), adding a sensory layer to the digital experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Day/Night Cycle&lt;/strong&gt;: Tapping the sun/moon instantly toggles the entire app's theme and the squirrel's behavior (active vs. sleeping), utilizing CSS variables and reactive state management for smooth transitions.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Wow Factor
&lt;/h2&gt;

&lt;p&gt;The aspect I am most proud of is the "Atmospheric Immersion."&lt;br&gt;
Most utility apps feel static. Forest OS breathes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visuals&lt;/strong&gt;: The background features particle systems (falling leaves, floating dust in light beams) and a "breathing" light effect that mimics a resting heart rate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SOS Panic Mode&lt;/strong&gt;: I built a dedicated "Emergency" layer. When a user feels overwhelmed, they can trigger an overlay that guides them through a 4-7-8 breathing technique with synchronized visual cues and vibrations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emotional AI&lt;/strong&gt;: The squirrel reacts to the user's frequency of visits. It gets lonely, writes letters, or offers gifts based on the "Friendship Level" algorithm, creating a genuine emotional bond.
It's not just an app; it's a pocket-sized forest that reminds you to breathe. 🌿🐿️&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Interactive Screenshot
&lt;/h2&gt;

&lt;p&gt;This is an interactive screenshot of different interfaces.&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%2F96x4xzgl98beb3g3ei5w.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%2F96x4xzgl98beb3g3ei5w.png" alt=" " width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2e8nrb0wzti2arpv65q.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%2Fh2e8nrb0wzti2arpv65q.png" alt=" " width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffij5d0fqah3osit6ycaz.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%2Ffij5d0fqah3osit6ycaz.png" alt=" " width="800" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>unoplatformchallenge</category>
      <category>dotnet</category>
      <category>crossplatform</category>
    </item>
  </channel>
</rss>
