Inspiration

Connection has quietly disappeared from public spaces. In lifts, queues, bus stations, train carriages, cafes etc. we're constantly surrounded by people, almost all of them face-down in their phones. Loneliness and screen-driven isolation are now a genuine public-health problem, linked to poor mental and physical health across every age group. So we built Smile as a small rebellion against that troubling trend, and instead use technology used to get people to look up, away from their phones and look at each other, just long enough to share a smile, and make each other's day.

What it does

Smile detects when another Smiler is nearby and nudges you both to look up and share a real smile with a fellow human being. That's it. That's the whole app.

Sign up, leave it on, and when another Smiler is near, you both get a gentle nudge. No swiping. No chat. No profiles. Your location is only ever used to find nearby Smilers - never sold, never tracked. A smile counter tracks the moments you've shared, and top 10 leaderboards show the Smiliest Spots (places where most people are sharing smiles) and Smiliest Smilers (the people who have exchanged the most smiles).

Smile is not a dating app and not a social network. It exists to create a single, genuine moment that has the power to make your day by facilitating the simplest, friendliest way to connect with a fellow human being - a smile.

How we built it

Smile is a React Native (Expo) app with an Express + Node backend and a Supabase (Postgres) database. Proximity detection combines BLE identity broadcast between nearby phones with a server-authoritative cross-push, so when two Smilers are near each other both devices reliably receive the alert.

Smile is free for everyone, and always will be. Rather than gate human connection behind a paywall, we used the RevenueCat SDK to power a tip jar - "Support Smile" - with three consumable tiers: Warm, Radiant and Beaming Smiles. RevenueCat manages the offering, the product catalog and the StoreKit purchase flow; the app renders live, localized prices straight from the current offering and shows a thank-you plus a "send someone a smile" share on success. Keeping the paid layer entirely optional and non-gating is deliberate: the social good of the app reaches the most people when nothing stands between a person and a moment of human connection.

The RevenueCat Peace Prize — social good

Smile's benefit is direct and human: it fosters small, real, in-person moments of serendipitous warmth between strangers — the exact interactions modern life has engineered out. It is feasible and scalable: it needs no new hardware, runs on the phone already in your pocket, and every new Smiler makes the network denser and the moments more frequent. And it is free by design, because cost should never be a barrier to sharing a smile.

Challenges we ran into

Reliable proximity between two phones is hard — BLE background behaviour on iOS is restrictive, so we backed the peer-to-peer signal with a server-authoritative cross-push to guarantee both people get nudged. Getting the tip jar to feel like a warm invitation rather than a paywall took careful, Apple-compliant copy: a genuine tip for something already free, nothing gated, nothing that reads as a charity donation.

Accomplishments that we're proud of

A finished, shippable app with a single clear purpose that brings more joy into the world, and a monetization model that funds the mission without ever charging for the mission itself.

What we learned

People crave connection and anything that sparks even the smallest moment of acknowledgement goes a long way. And that the hardest part of a "simple" app is keeping it simple.

What's next for Smile

Growing the Smiler network so nudges happen more often, an Android release, a home-screen widget, and forming key partnerships to deliver more smiles.

Built With

Share this project:

Updates

Submission history