Departed Spring 2025
Aura
the wrist · WatchOS app · Archived
[image: Apple Watch on a wrist playing a short-form video full-bleed, with a finger tapping the screen to skip to the next clip]
Departure
School banned phones and my hand kept reaching for an empty pocket. What I actually missed wasn't messages — it was the dopamine scroll. The Apple Watch was the only screen they couldn't take, so I built TikTok for my wrist: one short clip at a time, no recommender, no back button. Tap to skip, or double-pinch the fingers and roll the dice again.
Approach
- SwiftUI
- WatchOS
- AVFoundation
- Manifest v3
Phones banned at school — wrist only. No TikTok SDK, so the content has to be sideloaded.
Field log
Spring 2025 — empty pocket
First week of the phone ban. Hand reaching down, finding nothing, every fifteen minutes. The thing the iPhone had been carrying for me was a small, repeatable hit — and the watch was still on my wrist.
[image: Two icons side by side — a smartphone crossed out, and an Apple Watch with a play button on its screen]
What got banned. What didn't. The frame
TikTok for the wrist. One short clip at a time, no recommender, no profile, no back button. The whole app is the next clip.
Day 1 — the Chrome extension
Manifest v3 extension that watched TikTok's network tab, peeled the MP4 URLs the page was already loading, and saved them to a folder I'd later drag into the Xcode bundle. No API, no auth — just a content script reading what the browser already had.
[image: Custom Chrome extension panel scraping a TikTok video URL out of a tab and offering an MP4 download for sideloading]
The pipeline upstream of Xcode — TikTok in, MP4 out. ContentView
SwiftUI view with a single video player filling the watch face edge-to-edge. AVPlayer chewed through the bundled MP4s in order. The screen is too small for a swipe — the tap is the entire interface.
Two gestures
Tap on the face for the next clip. Double-pinch the index and thumb for the same — watchOS surfaces the gesture as an event, so I could roll the dice with my arm flat on the desk and the watch face barely visible from across the aisle.
[image: Apple Watch double-tap-of-wrist gesture diagram — index finger and thumb pinching twice on the same hand triggers a next-video advance]
The one-handed advance. No screen contact required. Live, in class
Wore it through a lecture and made it through four clips before I caught myself. The itch was being scratched — compressed to a 1.7-inch rectangle and lossier MP4s, but the loop was intact: tap, end, next, roll the dice again.
From the gallery
[image: Apple Watch on a wrist running Aura in a high school chemistry classroom — periodic table visible on the back wall, watch face mid-clip, arm resting on a lab bench]
[image: Three logos in a row connected by arrows — Google Chrome, SwiftUI on watchOS, and Apple's AVFoundation — showing the data flow from scrape to bundle to playback]
What I came back with
Wrist-scroll, on-device
Lesson from the terrain
The Apple Watch can carry surprisingly little video — small screen, busy battery, an AVPlayer never built for autoplay loops — but it can carry enough to scratch the itch. The architecture was indefensible: a Chrome extension scraping someone else's CDN, MP4s sideloaded into a bundle, zero recommendation logic, no way back. The loop still closed — tap, end, next — and that turned out to be the whole product.
Cross-links
This fed into / from