← Home
Swarma
I’m old school fringe consumer tech.
Which means I used…
- Path for social media,
- Songza for music, and
- Foursquare—now Swarm—for lifelogging.
I’ve also deepened my commitment to Google hardware over the years—first Home, then Pixel phone, and now Pixel Watch. But there’s no Swarm app on Wear OS, which leaves the 89 of us in this cross-sectional segment with a choice: beg a Swarm product manager on X to prioritize it, or vibe-code it myself. Challenge accepted. I call it Swarma.
This is my third or fourth vibe-coding project with Claude as co-pilot: I’ve done APIs, web apps, Jekyll integrations. The pattern is familiar by now: describe what you want, iterate, ship. But this time the platform was completely new to me: Android Studio, Kotlin, Jetpack Compose, Wear OS.
The core app logic—hitting the Foursquare Places API, grabbing nearby venues, displaying a scrollable list, etc.—came together relatively easily. Claude handled the Kotlin syntax, the Compose UI components, the API calls. Same as it would in JavaScript or Python.
What wasn’t interchangeable was everything around the code:
- Environment. Android Studio generated a project that immediately failed to build. A Gradle plugin version didn’t exist. My corporate VPN was silently blocking downloads via SSL inspection. The Wear OS template ships with the wrong UI library. The app crashed on first launch for missing permissions that the compiler never warned me about. None of these are code problems—they’re platform plumbing. A co-pilot helps you diagnose them, but you have to know the right questions to ask.
- UX decisions. The Foursquare API treats the radius parameter as a suggestion, not a hard limit—venues were populating 8km away when I’d asked for 300 meters. That’s a product decision dressed up as a technical one: do you trust the API’s ranking, or enforce your own filter? On a tiny watch screen where you can see maybe five venues, the answer is obvious—but a co-pilot doesn’t have the product context to make that call for you.
- OAuth on a browserless device. The app needs Foursquare authentication, which means OAuth, which means a browser. Wear OS doesn’t have one. My first design had a token field where I banged in 48 characters on the watch keyboard—either comical or infuriating depending on your mood. Process of elimination led me to a companion phone app: it opens a WebView, intercepts the OAuth redirect, and sends the token to the watch via Bluetooth. Minimal, one-time setup. This is the kind of problem that can’t be vibe-coded. No amount of prompting produces the right architecture—you have to understand the constraints of the device and the expectations of the user.
Vibe-coding scales to unfamiliar platforms as long as you can decompose the problem. The AI handles syntax and boilerplate. The hard parts of building aren’t code anymore—they’re environment, architecture, product judgment, platform constraints. The bottleneck has moved from implementation to judgment.
Swarma v1.0, coming soon to the Play Store.
The whole thing—from opening Android Studio for the first time to checking into a Foursquare venue from my watch—took one afternoon (a.k.a. naptime).
Swarm lives on the Pixel Watch 🤘
— ᴘ. ᴍ. ʙ.
First published: 2026-03-29 | tweet | cast | subscribe
tech
product
← back to all posts