Project — A trackpad with character.
Touchgasm is our project for playing with a Mac's trackpad. Touch, movement and gestures trigger sounds, while the selected pack changes the character of the interaction — from a cat's purr to a goat's bleat.
The native app runs in the menu bar. It lets you choose a pack, set the volume and view touch statistics. The web component adds a pack library and a custom pack builder. The project is still in development.
Scope of work
A native macOS app, project website, pack library and a generator that combines recordings, gestures and artwork into an importable pack.
- Sound responses to trackpad gestures
- Pack selection, volume control and touch statistics
- Custom packs created in the browser and imported from ZIP
Technology and implementation
The macOS app is being built with Swift and SwiftUI. The web component uses Laravel and JavaScript. The generator processes recordings and artwork locally in the browser and produces a ZIP archive with a manifest and media files.
The app, close at hand.
Choose sounds and their volume from the app menu. An optional statistics panel shows trackpad contact, finger count, intensity and gesture speed.
Your own pack in three steps.
In the “Sounds” step, add recordings for gestures: a short tap, a hold, vertical and horizontal movement, or pinching in and out. You can choose separate responses for each gesture or a gradually increasing intensity mode. Advanced mappings account for finger count, zones and response priority.
In the “Appearance” step, add a pack icon and a trackpad image. Define rectangular zones on the image and assign recordings to them. Artwork is optional — a pack can contain sounds alone.
In the “Save” step, enter a name, choose colours and add authors and recording sources. The generator checks the configuration and prepares a ZIP with a manifest and files. Import the finished pack into the app.
Recordings and artwork stay in the browser while you create a pack. The generator does not upload them or preserve unsaved work after a refresh — you download the result to your computer.
Open pack generator — in a new tab




