Avi Sardana
CONSUMER MOBILE APPMULTI-USER BACKENDLIVE BETABuilt 2026In Progress

Down For

A shared iOS app where friend groups save ideas by occasion type, gauge who's interested, and build a living record of everywhere they've been together.

Down For app crew feed

The Problem

Friend groups share places and ideas constantly. A restaurant someone spotted on TikTok, a trip concept from a travel post, a bar a friend went to last weekend. It flows through Instagram DMs, group chats, and shared screenshots at a pace nobody can keep up with, and almost none of it goes anywhere. By the time the group is actually trying to make a plan, the ideas are buried in chat history or forgotten entirely. The group either spends time re-searching for something someone already found, or they default to whatever is most familiar.

Before building anything I asked friends directly whether this was a real problem. The response was consistent, and everyone recognized it immediately. What makes it hard to solve is that saving is individual and planning is social, and nothing connects the two cleanly for a group. You can save a restaurant to your own Instagram folder and your friends have no idea it exists. You can share it in the group chat and it disappears in a few hours. There is no shared space organized around the actual decision the group is trying to make, no signal for who is actually interested, and no layer for remembering what the group did once they finally go somewhere. The existing tools solve adjacent pieces. Mapstr for saving places, Partiful for event planning, Beli for restaurant rankings. None of them are built around a friend group sharing ideas together over time, organized by the kind of occasion they are planning for, with a social layer that reflects real group dynamics rather than formal event commitments.

What I Built

Down For gives a friend group one shared space where their ideas actually live. You save something by pasting a link or adding it manually with a photo, and the app generates an item card with the title, image, and source automatically. Items are organized by occasion type, things like Birthday, Trip, Nightlife, or Eating Out, so when the group is trying to make a plan they can filter to what is relevant right now rather than scrolling through everything they have ever saved.

The social layer is built around how groups actually signal interest. Anyone can react, comment, or tap a single button to show they are interested in something, without picking a date or making a commitment. That lightweight signal creates momentum around an idea without turning it into a scheduling problem. Once the group goes somewhere, anyone can mark it visited and attach a personal memory, a short note, a photo, a rating. Each person's memory is their own, shown on their own card with their name and avatar. Over time the group builds a real shared record of everywhere they have been together, with personal context attached to each place. That record is the long-term value layer and the thing that has no direct equivalent in any existing tool.

The app is currently live in TestFlight beta with 25+ users. Before moving to production I ran over 15 user testing sessions on Expo Go with real users, and that feedback drove meaningful product changes throughout the build including revisions to the occasion tag system, the capture flow, and several features that got cut entirely after testing showed they were not solving a real problem.

Stack: React Native with Expo, Supabase (auth, PostgreSQL with row-level security, file storage), Google Places API, Apple Push Notifications, EAS for iOS distribution.

The Product Decisions

The central product question throughout the build was whether saving something would feel meaningfully easier than dropping a link in a group chat. Group chat is a very strong competitor. It is already on everyone's phone, everyone in the group already uses it, and it handles just enough of the basics that switching feels unnecessary. The only way to build something better is to be dramatically better at a specific thing, not slightly better at everything. That forced a lot of discipline around what Down For should and should not be.

The capture flow required the most work. I built three modes because different sources require different handling. Pasting a link auto-fetches the title, image, and metadata. Google Maps links go further, pulling rich location data directly from the Places API including photos and place details that a standard metadata fetch would not capture. For sources that block scraping entirely, like Instagram and TikTok, the app detects those domains and routes to a clean manual card instead of a broken result. Everything that cannot be auto-fetched falls back to manual entry with a photo upload. Those details are invisible when they work and immediately damaging when they do not.

The social layer design was a deliberate constraint. I did not build scheduling, RSVP flows, or calendar integration even though they would have been natural additions. The I'm Down signal is intentionally one tap with no date and no commitment, because the moment the app starts requiring coordination it becomes a different product with a much narrower use case. The app's job is to keep ideas alive and make it easy to see who else is interested, not to plan the event.

The most important decision was what to cut. I built a Surprise Me feature that randomly surfaced a saved idea when a group could not decide. It was technically clean and one of the more polished UI moments in the app. 5 early testers had no idea what it was for, so I cut it.

The data model required thinking about multi-user shared state differently than anything I had built before. Designing for multiple people across different devices seeing the same data in real time meant thinking about permissions, row-level security, and sync as foundational constraints rather than features to add later.

How I'd Evolve It

Next I would add live feed updates so the app reflects what crew members are saving without requiring a manual refresh, and a direct share extension that lets users save from Instagram or Safari without switching apps. Those two changes close the biggest remaining gaps in the core save-and-sync loop.

The more interesting long-term question is what the memory layer becomes over time. Right now it is a personal note attached to a visited place. The natural evolution is a crew recap that surfaces at meaningful intervals, showing the group's most visited occasion type, their top saved spots that never got visited, who saves the most, where they have actually been across a full year. That kind of periodic summary is the thing that makes the accumulated history feel real and worth building, and it is the product moment that has no equivalent anywhere else.