Inspiration
Most of us make decisions with a spreadsheet open and a body we've stopped listening to. Sensie started from a simple observation made from decades of coaching work: people already know how they feel about a decision. They just can't access it on demand, and no app asks.
In our founder's words: "I had to do 20 years of therapy to get the most simple thing. That simple thing is being able to trust self. Can I trust the anger, the fear, the sadness? When I don't trust them, I push them away. When I trust them, it opens up this whole kaleidoscope of possibilities." Notice sooner. Choose better.
We wanted a check-in that takes less time than opening a journal. No camera, no wearable, no 40-question survey. Just hold your phone, think about the statement, flick your wrist, and get an honest read. We call that a vibecheck.
One early tester was heading into a high-stakes meeting convinced the other side was "a dragon on the hill." Big ego, hard to work with, a fight waiting to happen. Before walking in, he ran a three-second check-in. His body flagged it as a story, not a read on the person. He let it go, walked in open, and found a collaborator. It turned into one of his best deals.
We watched early testers catch stories like that again and again, just by pausing to check in with their body. Then AI agents started making decisions alongside us, and the idea got bigger. What if your agent could take that same pause? Before it acts on your behalf, it asks your body, and you answer with a three-second gesture instead of typing a word.
What it does
SomaCheck turns a 3-second phone gesture into a signal. You hold the phone, hold a first-person statement in mind ("I feel clear about what deserves my attention right now"), and flick your wrist. The app reads the motion, compares it against your own personal calibration, and returns Aligned or Unaligned with a confidence. It's not a diagnosis and it's not a decision. It's a signal worth noticing.
Vibe check anything, from anywhere:
- In the app. Calibrate once, then check any statement you type, any time: hold the phone, flick your wrist three times (a gong sounds on each flick), and the verdict lands. Tell it whether it got you right and it learns your signal over time. If the read is Unaligned, choose Apollo, a 2-3 minute voice-guided breathing reset, or go deeper with a 20-25 minute guided integration session that works on the trigger itself. Journey shows your timeline, streaks and patterns over time.
- From your AI agent (MCP). Connect Claude Code, Codex, or Claude.ai with one command. Your agent gets six tools, including request_vibecheck, which sends one consented statement to your phone and waits up to 45 seconds for the exact result. The agent is told to treat it as a signal, not a verdict, and to say what it changes.
- From any product (API). The Statement API lets anything - a Slack bot, a survey, a calendar reminder, a friend's text - say "offer this person this statement" and receive the embodied answer back with a signed share link and a webhook.
- World Vibe. Public topics anyone can vibecheck from a QR or link. Your own answer is private; the group split unlocks once five unique people have checked in. No tracking, no cookies, no identity shown.
How we built it
- iOS app: Swift + SwiftUI with CoreMotion, running Sensie's patented gesture and calibration algorithms, an ElevenLabs-powered voice agent for the Apollo reset, built with XcodeGen and fastlane, CI on GitHub Actions macOS runners.
- Backend: Supabase Postgres and Deno/TypeScript Edge Functions. One request-and-consent layer serves the app, the MCP and the API.
- MCP: @somacheck/vibecheck on npm (built on the official MCP TypeScript SDK) for local use with Claude Code and Codex, and a hosted Streamable-HTTP server at mcp.somacheck.com behind OAuth 2.1 for Claude.ai. Same six tools on both paths. Published from CI with GitHub OIDC trusted publishing, no long-lived tokens.
- Web: somacheck.com (marketing + docs) and go.somacheck.com (World Vibe portal, universal links, share fallbacks) on GitHub Pages - zero analytics, zero cookies by design.
- Process: a small human team plus a multi-model agent fleet (Claude, GPT, DeepSeek, MiniMax, GLM, Kimi) with adversarial cross-model reviews before anything merges. Those reviews caught a billing race and a data-integrity bug before any customer did.
Challenges we ran into
- Our signal can identify sources of stress before a person is aware of it, this led to potentially creating conflict for people, them wondering if there was algorithmic-fuckery going on or if the topic really was a source of stress. So we had to create a unique realtime continuous auditory feedback system that lets a person hear their emotional state in realtime.
- Presentation integrity. Our first live API round trip exposed a real edge case where a routine check-in could have been matched to the wrong statement. We now require the text shown on the phone to match the statement being answered, exactly, before a result is delivered.
- Tests that lie. An earlier build passed 6/6 end-to-end tests while a key screen could never appear, because every test hit the backend over HTTP and none exercised the real client path. Rule now: cover the real client path or the test is theatre.
- Two deployment paths, one truth. Keeping the local npm MCP and the hosted OAuth MCP behaviourally identical (same tools, same fail-closed behaviour for unauthenticated calls) took more discipline than building either one.
- Outside testers found what we couldn't. Five independent testers ran a cold end-to-end before launch and found a silent failure our own tests never surfaced. That's why every release now has a written threat model with failure cases that must fail.
- CI economics. macOS runners without path filters burned the org's entire Actions budget in a day. We fixed the filters and added a push-cadence gate.
Accomplishments that we're proud of
- A 3-second, no-hardware check-in that runs against your own calibration, built on tens of thousands of recorded sessions and nine PhD-led research trials, on two granted US patents.
- Over a thousand automated tests green on the 1.0 release candidate, with a freeze list that requires the founder's personal sign-off on any change to the sensing code.
- A working, consent-first MCP integration: 13 npm releases since July 29, hosted OAuth server live, and real people using it - 34 linked agents across 12 users at the time of writing.
- The Statement API in production, with metering, signed share links and webhooks, so every growth surface (agents, share-by-text, surveys, Slack, Siri, World Vibe) is a client of one door.
- World Vibe live with QR-to-answer in under a minute and honest group results (suppressed until five people have answered).
- Researched with PhDs from Oxford, UC Berkeley, and Northwestern, with research trials pending at Mayo Clinic and UC Berkeley.
What we learned
- The gesture is the easy part. Consent, cadence and honesty about what a signal means are the product.
- People will let an agent ask them a question they'd never ask themselves, as long as the agent can't see the raw data and the person can revoke it in one tap.
- Binary is kinder than a scale. Aligned/Unaligned plus confidence made results readable in a second; anything more invited over-interpretation.
- "Free for individuals" is a feature, not a sacrifice. It lets clinics, teams and developers be the ones who pay.
What's next
- Now live on the App Store: SomaCheck: Vibecheck (https://apps.apple.com/us/app/somacheck-vibecheck/id6792978184), with the RevenueCat-powered SomaCheck Pro tier.
- Listing the vibecheck MCP on the official registry, Smithery and the Claude connector directory.
- Share-a-vibecheck by SMS/WhatsApp, an "embodied answer" question type for surveys, /vibecheck in Slack, and "Hey Siri, vibecheck."
- World Vibe topics for public moments, including a board where anyone can vibe check what the other Shipaton teams are building.
- Care-provider dashboards so clinicians can see the weeks between sessions.
- An agent that proposes the statement from context it already holds, so the check-in meets you at the moment it matters.
Built With
- apns
- audiokit
- claude
- core-haptics
- coreml
- coremotion
- deno
- elevenlabs
- fastlane
- github
- github-actions
- ios
- mcp
- mixpanel
- model-context-protocol
- npm
- oauth2
- openai-codex
- postgresql
- revenuecat
- sentry
- supabase
- swift
- swiftui
- typescript

Log in or sign up for Devpost to join the conversation.