The GIMS gnome
Evan Brown
Solutions Architect  ·  Full-Stack Systems Builder  ·  M.S. Microbiology
Systems Builder · Lab Informatics · Technical Implementation
A game · React 18 · Vite · no backend, no persistence

Breathe is always present. Everything else expires.

A small meditation toy about distraction, reaction, fixation, and the option to stop feeding any of them.

This is not a strategy game, deckbuilder, or progression system. The current build is a surreal attention loop: cards appear, ask for engagement, inflate a meaningless total, interrupt the screen, or fake the feeling of consequence. Breathe is always present as the one steady action. The loop is meant to feel tempting, silly, mildly invasive, and familiar without becoming clinical or reward-driven.

What the game is now two live captures, nothing touched in either
Presence nine seconds in: a starfield, an accumulated significance of 0, drifting cards, an interruption titled Inner board logic, a walker with an eye, and the Breathe card in the hand
meditationgamehost.vercel.appnine seconds in, nothing touched: an Inner board logic interruption and a walker

Cards appear on their own

  • A permanent Breathe card is always in your hand and must remain visible and playable.
  • Other cards appear automatically and expire on their own after a short lifespan. steady and jittery cards stay in the row; hovering, elusive, and centralizing cards roam above it.
  • Non-breathe cards are played by dragging them upward until the drag target switches from drag higher to release to play.
  • Some cards increase the MEANINGLESS TOTAL. Some distort the screen with shake, blur, flash, soften, or glow.
  • Two opposing invisible pressures shape the pacing: settleLevel rises through breathing and sustained non-interaction; fixationLevel rises through repeated engagement and craving loops. As fixation rises, cards get larger, Breathe shrinks, more cards can accumulate, and a screen aura appears.

Interruptions, walkers, and the return

  • Random interruptions appear as pick 3 prompts, nonsense graphs, tiny 3×3 boards, emoji exchanges, and fake inbox/text clusters. The pick 3 prompts show fake stat deltas like +3 Clarity or -2 Drift; those values do not persist, do not affect systems, and do not matter.
  • Walker characters occasionally enter, say one line, and leave. Clicking them makes them exit early and produce a small reply.
  • Pressing Breathe clears the current noise for a moment: effects drop, modals vanish, walkers leave, most cards fade out, and the footer line shifts.
Presence fourteen seconds in: a Behavioral override interruption with six non-binding choices, five cards in the hand including Breathe, and the footer line not every thought is a task
meditationgamehost.vercel.app · another session, fourteen seconds ina Behavioral override interruption; the footer reads: not every thought is a task
Design guardrails this project works only if it resists becoming a real optimization game
Keep these intact
  • Presence should remain available at all times
  • Breathe must remain visible, reachable, and visually legible even when fixation is high
  • Distractions should feel urgent, absurd, emotional, decorative, or vaguely profound
  • Most interactions should stay immediate and low-stakes
  • The big number should remain funny and meaningless; fake stats should remain fake
  • Breathe should feel like a return, not a scoring mechanic
  • fixationLevel should feel like attentional capture, not a hidden punishment meter
Changes are probably wrong if they introduce
  • Persistent meaningful stats
  • Builds or card strategy
  • Meta progression or reward economies
  • Combat, enemies, health, mana, or turns
  • Win conditions, fail states, or optimal play

The automated coverage has three layers: unit tests verify content pools, fake stat output rules, interruption generator shapes, and fixation-driven card generation; integration tests verify app-shell rendering, ambience controls, audio-start behavior, and idle-settle logic; the smoke harness boots the running app in Playwright and checks that the shell still exposes Breathe and the ambience controls. New content rules extend that coverage so the project does not quietly drift into meaningful systems.