Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ stims Public

This project is a library of interactive webtoys designed to provide neurodiverse individuals with engaging and stimulating experiences. Each webtoy in the collection uses sound, visuals, and interactivity to create dynamic environments that can be customized and explored in a playful way

License

Notifications You must be signed in to change notification settings

zz-plant/stims

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stim Webtoys Library

Welcome to the Stim Webtoys Library, hosted at no.toil.fyi. This is a collection of interactive web-based toys designed to provide some fun sensory stimulation. They’re built with Three.js, WebGL, and live audio interaction for anyone who enjoys engaging, responsive visuals. These are great for casual play, or as a form of sensory exploration, especially for neurodiverse folks.

Quick Start

  1. Clone the repo and cd into it.
  2. Use Node.js 22: run nvm use if you have nvm installed.
  3. Install dependencies with npm install.
  4. Start the dev server with npm run dev and open http://localhost:5173 in your browser.

Getting Started

What You’ll Need:

  • A Modern Web Browser: Anything that supports WebGL should work (think Chrome, Firefox, Edge).
  • Microphone Access: A lot of these toys respond to sound, so you’ll want to enable that.
  • Touch Devices: Some toys are enhanced by touch, but that’s optional.

How to Play:

Head to no.toil.fyi and jump right in. The toys respond to sound, touch, and other inputs to create a chill or stimulating experience. If you’d rather play locally, follow the steps in Local Setup to run the dev server and open the toys at http://localhost:5173.

Toys in the Collection

Toy Description
3D Toy Dive into a twisting 3D tunnel that responds to sound.
Star Guitar Visualizer A visual journey inspired by an iconic music video, synced to your music.
Defrag Visualizer A nostalgic, sound-reactive visualizer evoking old defragmentation screens.
Evolutionary Weirdcore Watch surreal landscapes evolve with fractals and glitches that react to music.
Multi-Capability Visualizer Shapes and lights move with both sound and device motion.
Trippy Synesthetic Visualizer Blend audio and visuals in a rich synesthetic experience.
Pattern Recognition Visualizer See patterns form dynamically in response to sound.
SVG + Three.js Visualizer A hybrid visualizer blending 2D and 3D elements, reacting in real time.
Dreamy Spectrograph A relaxing spectrograph that moves gently with your audio.
Interactive Word Cloud Speak and watch the word cloud react and shift with your voice.
Cube Wave A grid of cubes that rise and fall with your audio.
Particle Orbit Thousands of particles swirling faster as the music intensifies.
Spiral Burst Colorful spirals rotate and expand with every beat.
Bouncy Spheres Lines of spheres bounce and change color with audio.
Rainbow Tunnel Fly through colorful rings that spin to your music.
Star Field A field of shimmering stars reacts to the beat.

What’s in the Pipeline

WebGL Compatibility

  • Issue: Some users with older or unsupported browsers/devices might run into issues.
  • Fix: Add fallback options or messages for users without WebGL support.

Performance Tweaks

  • Issue: Some toys are heavy on resources and might lag on lower-end devices.
  • Fix: Add settings to adjust visual quality (e.g., reduce particle count or resolution).

Audio Permissions

  • Issue: Not much feedback when audio permissions are denied or unavailable.
  • Fix: Add error messages or alternative audio input options when microphone access isn’t granted.

Touch Responsiveness

  • Issue: Some toys are touch-sensitive, but they don’t always work well on mobile.
  • Fix: Improve multi-touch support and make the toys more mobile-friendly.

Local Setup

To play with the toys locally you’ll need to run them from a local web server. Opening the HTML files directly won’t work because the TypeScript modules and JSON fetches can’t load over file://. Here’s the quick setup:

  1. Clone the repository:

    git clone https://github.com/zz-plant/stims.git
    cd stims
  2. Use Node.js 22 (see .nvmrc). If you have nvm installed, run nvm use.

  3. Install dependencies:

    npm install
  4. Start the development server:

    npm run dev

Open http://localhost:5173 in your browser.

To serve a static build instead of the dev server, run:

npm run build
python3 -m http.server dist

Then open http://localhost:8000.

All JavaScript dependencies are installed via npm and bundled locally with Vite, so everything works offline without hitting a CDN.

Running Tests

This project uses Jest for its test suite. To install dependencies and run the tests:

  1. Install dependencies:

    npm install
  2. Run the tests:

    npm test

Linting and Formatting

Before committing, run npm run lint to check code style and npm run format to automatically format your files. This keeps the project consistent.


License

This project is released under the Unlicense, so you’re free to copy, modify, sell, and distribute it however you like. Do whatever you want with it—there are no restrictions.

Feel free to add more toys, tweak the visuals, or contribute in any way.

About

This project is a library of interactive webtoys designed to provide neurodiverse individuals with engaging and stimulating experiences. Each webtoy in the collection uses sound, visuals, and interactivity to create dynamic environments that can be customized and explored in a playful way

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published