Pricing Work Services Process Common Questions Why Bunker41 About Blog Get a Quote
← Back to Work
Product · Consumer App · iOS & Android

Drift

Write a message, seal it in a bottle, put it in real water. It drifts on live currents, gets pushed off course by real storms, and takes real months to get anywhere — then one day a stranger picks it up.

IndustryConsumer App · iOS & Android
RoleDesign, backend, and both clients
PlatformRails API · native iOS and Android
StatusIn development
The Brief

Problem & Scope

The Challenge

A bottle that moves on a timer is a database row and a countdown. Drift's premise is that it isn't one. A bottle released off Nova Scotia reaches Ireland because the North Atlantic actually carried it there — or it spends a winter going nowhere, because that is what the weather did. Holding that promise means live forecast and current data, a simulation that runs for months rather than seconds, inland water joined to the open sea so a bottle can leave a pier on Lake Superior and work its way down the St Marys River, and a location model that can draw a route across an ocean without ever holding anyone's real position. This one is still being built, and this page describes what it is rather than what it did.

What It's Made Of

  • Rails API backend serving native iOS and Android clients
  • Drift simulation on live weather and current data — ocean gyres at sea, wind and flow inland
  • Three hundred navigable lakes and the rivers between them, joined to the open ocean
  • Long-horizon background simulation — bottles move for months, not request cycles
  • Two-stage location blurring, on the device and again before display
  • Shareable bottle passports that open for people who don't have the app
  • Message screening with reporting, human review, block and mute
  • Consumable purchases across App Store and Play billing
The App

On the Phone

Drift — home screen
Home. One bottle at sea and a prompt to walk down to the shore — no feed, no counter, nothing asking to be refreshed.
Drift — the shore
The shore draws the weather and the time of day where you actually are. Most days nothing has washed up, which is the design rather than an empty state.
Drift — a bottle and its messages
A bottle's own page — the messages it carries, its running totals, and the beginning of its journey.
Drift — chart at river scale
Released into the St Marys River. Inland water is joined to the open ocean, so a bottle can leave a pier here and be picked up in another country.
Drift — chart at world scale
The same bottle at world scale. Every position on this chart was blurred on the device before it was ever sent.
Drift — a bottle's passport
The passport records what actually happened — including a becalmed August day when the real weather meant the bottle hardly moved.
Key Features

What Makes It Work

The Water Is Real

Bottles move on live forecasts and real current data — ocean gyres at sea, wind and flow on a lake. When a passport says a storm pushed a bottle off course, that storm happened. It is the one claim the whole product rests on, so it is the one part that could not be faked with an animation and a random seed.

A Passport, Not a Feed

There is no feed, no followers, no profiles and no chat. You follow bottles, not people. What a bottle carries instead is a passport — every storm, every current, every border, every pair of hands, in the order it happened. Removing the social graph took out an entire surface of moderation and abuse along with it.

No Exact Location, Ever

Positions are blurred to about a kilometre before they leave the phone, and blurred again before anyone else sees them. No exact location is stored or shown at any point, and names are invented rather than claimed. That is privacy by construction — the server never holds the precise truth, so it cannot leak or be compelled to produce it.

Inland Water Counts

Most of the people who want to send a bottle are nowhere near an ocean. Drift knows three hundred navigable lakes and the rivers between them, so a bottle can leave a pier on Lake Superior and be picked up in another country. If there is no water near you, it says so honestly instead of pretending.

Approach

How It's Being Built

01

Simulate, Don't Animate

The easy version interpolates a pretty line between two points and calls it a journey. That decision would have been invisible on day one and fatal by month three, because the entire emotional payload of the product is that the ocean did this, not a designer. So the drift model runs on real data and is allowed to produce boring outcomes — a bottle that circles for a winter and gets nowhere is a correct result.

02

One API, Two Clients

A Rails API backend serves both the iOS and the Android app. The simulation, the hydrography and the privacy rules live in one place and are enforced once, rather than being re-implemented twice and drifting apart. The clients render the shore, the chart and the passport; they are not trusted with the model.

03

Blur at the Edge

The blurring happens on the device, before the position is transmitted, and again on the way out to anyone else. Doing it at the client boundary rather than in a policy document means the precise coordinate never exists server-side at all. It is a harder place to put the control and the only place where the guarantee is actually worth something.

04

Make the Slowness the Product

There is no streak, no notification schedule engineered to pull people back, no daily loop. Most days nothing washes up, which is the design rather than a bug. Building against retention metrics would have produced a different app — the constraint here was to make something worth forgetting about until March.

Like What You See?

We Can Build Something Like This For You.

Designed, built and shipped end to end — the storefront, the integration and the documentation. If your business needs the same, that is the work we do.

Book a call