COMPONENT

Tiny Wins — habit garden

A cute weekly habit tracker whose little plant grows with your completed habits. Accessible toggle buttons and calculated totals.

LIVE PREVIEW Isolated & interactive
<!-- Original layout, SVG/CSS artwork and JavaScript © 2026 XXC Templates. MIT License.
Illustrative sample content and data; no real accounts, purchases or bookings. -->
<main>
  <header class="intro">
    <div>
      <div class="kicker">TINY WINS / A LITTLE EVERY DAY</div>
      <h1>Grow at your own pace.</h1>
      <p>Tap a day to mark a small win. This demo keeps progress only while the page is open.</p>
    </div>
  </header>
  <section class="habit-shell">
    <div class="plant panel">
      <svg viewBox="0 0 180 190" role="img" aria-label="A plant growing with your progress">
        <path d="M65 135H115L106 181H74Z" fill="#c9977b" />
        <path d="M90 139V70" stroke="#6c9257" stroke-width="5" />
        <g id="leaves" fill="#85ac70">
          <path d="M90 117Q43 120 52 85Q84 83 90 117Z" />
          <path d="M90 99Q133 98 130 65Q96 67 90 99Z" />
          <path d="M90 81Q65 65 81 42Q109 60 90 81Z" />
        </g>
        <circle cx="83" cy="158" r="2" fill="#654631" />
        <circle cx="97" cy="158" r="2" fill="#654631" />
        <path d="M85 165Q90 170 95 165" fill="none" stroke="#654631" stroke-width="2" /></svg
      ><strong id="total">0 / 21 little wins</strong>
      <p>Progress is a practice.</p>
    </div>
    <div class="habit-table panel">
      <div class="week-head">
        <span></span><span>M</span><span>T</span><span>W</span><span>T</span><span>F</span
        ><span>S</span><span>S</span>
      </div>
      <div class="habit-row">
        <span>Drink water</span
        ><button id="change" data-day="0-0" aria-pressed="false" aria-label="Drink water, day 1">
          ·</button
        ><button data-day="0-1" aria-pressed="false" aria-label="Drink water, day 2">·</button
        ><button data-day="0-2" aria-pressed="false" aria-label="Drink water, day 3">·</button
        ><button data-day="0-3" aria-pressed="false" aria-label="Drink water, day 4">·</button
        ><button data-day="0-4" aria-pressed="false" aria-label="Drink water, day 5">·</button
        ><button data-day="0-5" aria-pressed="false" aria-label="Drink water, day 6">·</button
        ><button data-day="0-6" aria-pressed="false" aria-label="Drink water, day 7">·</button>
      </div>
      <div class="habit-row">
        <span>Read a little</span
        ><button data-day="1-0" aria-pressed="false" aria-label="Read a little, day 1">·</button
        ><button data-day="1-1" aria-pressed="false" aria-label="Read a little, day 2">·</button
        ><button data-day="1-2" aria-pressed="false" aria-label="Read a little, day 3">·</button
        ><button data-day="1-3" aria-pressed="false" aria-label="Read a little, day 4">·</button
        ><button data-day="1-4" aria-pressed="false" aria-label="Read a little, day 5">·</button
        ><button data-day="1-5" aria-pressed="false" aria-label="Read a little, day 6">·</button
        ><button data-day="1-6" aria-pressed="false" aria-label="Read a little, day 7">·</button>
      </div>
      <div class="habit-row">
        <span>Get outside</span
        ><button data-day="2-0" aria-pressed="false" aria-label="Get outside, day 1">·</button
        ><button data-day="2-1" aria-pressed="false" aria-label="Get outside, day 2">·</button
        ><button data-day="2-2" aria-pressed="false" aria-label="Get outside, day 3">·</button
        ><button data-day="2-3" aria-pressed="false" aria-label="Get outside, day 4">·</button
        ><button data-day="2-4" aria-pressed="false" aria-label="Get outside, day 5">·</button
        ><button data-day="2-5" aria-pressed="false" aria-label="Get outside, day 6">·</button
        ><button data-day="2-6" aria-pressed="false" aria-label="Get outside, day 7">·</button>
      </div>
      <div class="toolbar"><button id="reset">Reset this week</button></div>
      <output id="status" class="status" aria-live="polite"></output>
    </div>
  </section>
</main>
Revision history · 1 versions
v12026-10-05 17:12:57 UTC

Keep the ideas flowing.

Explore the library
HELP KEEP THE WORKSHOP USEFUL

Report this creation

ONE QUICK CHECK

Continue?