Inspiration
It was day two of an imagined Web Summit. We pictured 20,000+ founders, investors, engineers, and operators packed into the same building — and the moment everyone knows too well: walking out of a great session with 60 minutes to kill, surrounded by exactly the right people, and ending up scrolling your phone in the lobby instead.
The opportunity at live events is enormous, but the interface is broken. Most networking tools are built like static directories — search a profile, send a cold message, maybe schedule a coffee next month. But live events are not static. They are made of moments. The person you should meet might only be relevant for the next 30 minutes before you both disappear into different sessions, lunches, or afterparties.
We realized the real problem at Web Summit isn’t discovery — it’s timing. So we stopped asking, “Who should I connect with someday?” and started asking, “Who should I talk to right now?” That single reframe became Pulse.
What it does
Pulse is a real-time networking radar for Web Summit. It turns the empty time between sessions into meaningful conversations by showing who nearby is relevant to your current context, interest, and available time.
Instead of browsing an attendee list, users drop a short-lived Quest — a broadcast of intent that says:
- 💬 What you want to talk about
- 🧠 Where your head is right now
- ⏱️ How much time you have
- 👥 Whether you want one-on-one or a small gathering
Pulse then runs the full networking loop:
Quest → Radar → Wave → Meet → Save → Follow Up → New Quest
- 📡 A live Radar visualizes nearby attendees whose Quests overlap with yours
- 💡 Tap a match to see the shared context and a Claude-generated suggested opener — no awkward first sentence
- 👋 Wave mutually to reveal identity (no one is exposed without consent)
- ☕ Meet one-on-one, or grow into a Gathering when a third nearby attendee has overlapping context
- ✅ A check-in asks if the conversation actually happened, so the recap stays honest
- 🔗 If it’s worth saving, Pulse records it and surfaces a LinkedIn follow-up
- 🔁 Loop back with a new Quest
Pulse isn’t trying to replace the Web Summit Mobile App — it enhances it, so attendees leave the summit with conversations they actually remember.
How we built it
We built Pulse as a TanStack Start app on a modern, fast-iteration stack:
- Frontend: React + TypeScript + TanStack Start, styled with Tailwind CSS and shadcn/ui, with Framer Motion driving the Radar animations
- Radar visualization: Custom SVG-based spatial view, animated with Framer Motion to give the live "pulse" feel of nearby intent
- Backend & realtime: Supabase — PostgreSQL for Quests, matches, and saved conversations; Supabase Realtime for live Radar updates; Row Level Security to keep identity gated until both sides Wave
- AI: Claude powers two of the most human parts of the product — parsing free-text Quests into structured intent, and generating the “why this match matters” explanation plus the suggested opener
- Build & deploy: Vite + Bun for blazing-fast local iteration, deployed to Cloudflare Workers via
wrangler, with Lovable in the loop for rapid UI iteration - Schema: SQL migrations under
supabase/migrationsfor Quests, Waves, Meetings, and saved conversations — designed so Quests auto-expire and proximity stays fuzzy by default
We scoped hard to a single end-to-end loop so the demo could actually show Quest → Radar → Wave → Meet → Save → LinkedIn → New Quest working continuously, instead of a half-dozen disconnected screens.
Challenges we ran into
- Designing against the creepy version. A real-time proximity app can go wrong fast. We spent real time on the trust model: Quests expire automatically, identity is hidden until a mutual Wave, and location is intentionally fuzzy instead of exact. Getting this right shaped half the schema.
- Modeling moments, not profiles. Most networking data models assume long-lived contacts. Ours had to assume intent that dies in 30 minutes. Rewiring our heads — and the database — around short-lived, expiring state took several iterations.
- Making the Radar feel alive. A static list of matches kills the whole premise. Tuning the SVG + Framer Motion animations so the Radar feels like a live signal (without melting the browser) took more passes than we expected.
- Getting Claude’s match explanations to feel human. Early prompts produced LinkedIn-summary-sounding blurbs. We iterated until the openers felt like something a thoughtful friend would whisper to you — short, specific, and grounded in the actual overlap between two Quests.
- Ruthless scoping. As a two-person micro-hackathon team, the hardest call was what not to build. We killed several genuinely cool ideas (Bluetooth proximity, push notifications, organizer dashboards) to make sure the one loop we shipped actually worked end to end.
Accomplishments that we're proud of
- 🎯 One complete loop, working end to end. Quest → Radar → Wave → Meet → Save → LinkedIn → New Quest — all live in the demo, not stitched together with mocks.
- 📡 A Radar that actually feels like a radar. The live spatial view with animated pulses is the moment most people "get it" — and we got there with pure SVG + Framer Motion.
- 🧠 Claude-powered openers that don’t sound like AI. The suggested first sentence is the difference between waving and walking away, and we’re proud of how natural these turned out.
- 🛡️ A trust model we’d actually use ourselves. Expiring Quests, mutual-Wave identity, and fuzzy proximity were design decisions, not afterthoughts.
- ⚡ Shipped a polished product in a micro-hackathon window as a team of two — with a real demo video, a clean repo, and a story we’re excited to tell.
What we learned
- Timing is a feature. Once you frame networking as “who should I talk to in the next 30 minutes?” instead of “who should I follow up with someday?”, every product decision gets sharper — from data model to UI to AI prompts.
- Realtime UX is mostly trust UX. The moment you put people on a live map, the product becomes a trust product first and a matching product second. Building the privacy model early made everything downstream easier.
- Claude is at its best when it’s small and human. A great one-line opener moves the needle more than a paragraph-long match explanation. Constraint forced quality.
- Supabase + TanStack Start + Cloudflare Workers is a stupid-fast hackathon stack. Realtime, auth, RLS, edge deploy — we spent almost zero time on plumbing and almost all of it on the actual product.
- Scope is the product. Cutting features wasn’t a sacrifice — it was the design.
What's next for Pulse - A Real Time Web Summit Networking Radar
- 📶 Real proximity: Bluetooth and venue-based positioning so the Radar reflects the actual room, not just declared availability
- 🔔 Push notifications for Wave-backs and Gathering invites, so you don’t have to keep the app open to catch the moment
- 📊 Organizer dashboard with anonymized conversation heatmaps — so Web Summit can see which sessions are actually sparking dialogue
- 🤖 End-of-day AI recap that turns your saved conversations into a personal summary of the day, with smart LinkedIn follow-up drafts
- 🔗 Deeper LinkedIn integration for one-tap connect + warm intro messaging
- 🎪 Beyond Web Summit: multi-day festivals, conferences, university orientations, and online-to-offline gatherings — anywhere a room of strangers needs an interface
- 🤝 Partner pilot at Web Summit 2026 — we want to put Pulse in the hands of real attendees and measure how many conversations get saved that otherwise wouldn’t have happened
Web Summit creates the room. Pulse helps you find who to talk to right now — and keeps the conversations worth remembering.
Built With
- claude
- fastapi
- javascript
- lovable
- postgresql
- react
- supabase
- tailwind
- typescript
- vite

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