№ 530303May 2026 · New York, NY
inTouch
An app to save any post, find the place, book it with friends.Problem
I saw so many interesting things to do on Instagram, but had no way to save these or actually motivate me to go next time.
Solution
inTouch takes any social post, works out which real place it is, and files it on a map with menus, hours, and booking links. Intelligent search and UI helps you easily find the best place for any occasion.
The pipeline to save a post
Share a link and inTouch works out which real place it is, step by step, while you watch.
Every save is a linear state machine: classify the source, fetch the post, then cascade through readers while fields are missing. Claude reads the caption, Gemini watches the media, Google Places geocodes, and menu, booking and review passes fill the rest. Each step lands as a row the live card polls into five rungs; runs end when the draft completes or a cent budget is spent. A 'ten best' post fans out: an enumeration pass lists every venue, code reconciles it against the caption and Gemini, and each entry becomes a child run with its own geocode, photo and page. A collision gate catches two children landing on one place id; the best name match keeps it, the others retry.
An AI concierge can search for you
3 months before personal AI assistants blew up, you could use a decent version of inTouch to plan for you
The concierge is a Claude tool-use loop with one search tool. That tool climbs three tiers and stops when a tier yields at least five results that pass every hard filter: your saved venues, then places other members have saved, then Google Places Text Search, which fires only when the free pool is thin. Distance, open-at and price are computed in code, while the free-text query is scored by Voyage embeddings over venue descriptions and post captions, so 'tikka masala' finds Indian places. Web hits stage in a candidates table for seven days and become real venues only when you save or plan with them. The route streams NDJSON so the chat narrates each tier as it runs.
Share sheet to server in one second
All consumer apps need usability and speed. It was a fun challenge to solve for here.
The iOS app is a Capacitor shell around the live deploy plus a native Share Extension. Extensions get a tight time budget and no cookie jar, so on every cold open the app fetches a per-user save token and writes it into the App Group's shared defaults through a custom plugin, because no stock Capacitor plugin writes that suite. The extension reads the shared URL (or regex-scans shared text), POSTs it with that token, gets a 202 carrying a pre-created run id, and dismisses in about a second. The pipeline runs inside Next's after() hook, and because nobody is watching a page, an APNs push, hand-rolled over node:http2 with an ES256 JWT, reports success or failure when it finishes.
