project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Drifting Bottle

Drifting Bottle 🌊 🍾 📜 is a Frames social game that boosts engagement by encouraging creativity and curiosity. Users can send or find anonymous bottles that contain a sealed message, reveal its secret and connect with its author.

Drifting Bottle

Created At

Frameworks

Winner of

trophy

XMTP - Open Frames Bounty

Prize Pool

trophy

frames.js - Best Frame using Frames.js 2nd place

trophy

ETHGlobal - 🏆 Frameworks Finalist

Project Description

Drifting Bottle seeks to entice social interactions across the Farcaster protocol by allowing users to share or find anonymous bottles with messages, and the bottle author's identity will only be revealed when one writes a reply. The game loop involves the following actions:

  • User can write a message, seal it in a bottle and send it to the digital ocean.
  • User can find others' bottles from the ocean, look inside to view their messages.
  • User can choose to write a reply or comment to the bottle's message.
  • When a reply is written, the identity of the author is revealed, the messaged is sealed and the bottle can no longer be found. The message exists only between the author and the replier.
  • User can view one's sealed messages in a dedicated section.

Future extensions:

  • UI/UX optimization & improvements
  • Apply scarcity to the number of sending bottles or finding bottles per day
  • Enable incentives & rewards for playing
  • Bring the gameplay on-chain
    • correspond send/seal bottles with mint/burn bottles as NFTs
    • permanent sealed messages

How it's Made

A social game for Frame Embeds in decentralized social network applications

  • Frames.js is leveraged for setting up structure of the game, building Frames within Next.js and enable compatibility with Open Frames.

  • Pinata is used for uploading & pinning assets on IPFS, as well as for querying Farcaster user data through its Farcaster API.

  • Next.js & Typescript serves the Frames meta tags through router handlers. The bottle data are stored via Vercel Postgres / Prisma.

background image mobile

Join the mailing list

Get the latest news and updates