A Tamagotchi-style cooperative pet game built entirely on Nostr.
Live demo โ https://blobbi-buddies.shakespeare.wtf
Blobbi Buddies lets you care for a cute pixel-art pet called a Blobbi โ solo or together with friends. Every action you take is published as a Nostr event, so your care history lives on the decentralised network forever. Friends can visit your Blobbi, play co-op activities, take photo dates, and compete in daily challenges.
| ๐ฃ Raise your Blobbi | Feed, play, clean, and put it to sleep. Stats decay over time so check in daily. |
| ๐ Watch it evolve | Egg โ Baby โ Child โ Teen โ Adult โ Elder as you accumulate care points. |
| ๐ค Co-op activities | Invite friends to picnics, beach days, dinner dates, stargazing, and more. |
| ๐ธ Photo dates | Stage a scenic photo with a friend's Blobbi and upload real pictures. |
| ๐ฎ Mini-games | Memory Match, Color Rush, and Feed Frenzy โ all award XP. |
| โญ Daily tasks | Four rotating challenges each day with XP rewards and a streak counter. |
| ๐ฌ In-game chat | Public game chat powered by Nostr kind-1 notes. |
| ๐พ Multi-Blobbi | Own multiple Blobbis, each with a custom name, colour, and independent stats. |
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Blobbi Buddies ๐ฅ Egg โญ Lv.3 ๐ฅ 5 โ โ sticky header
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ [โ Blobbi โ] [โ Luna] [โ Mochi] [+] โ โ switcher bar
โ โ
โ โญโโโโโโโโโโโโโโโโโโโฎ โ
โ โ๏ธ โ ๐พ (park) โ ๐ฟ โ
โ โ Blobbi โ โ
โ โ Lv.3 โ โ
โ โฐโโโโโโโโโโโโโโโโโโโฏ โ
โ XP โโโโโโโโโโ 22/50 โ
โ โ
โ Hunger โโโโโโโโโโ 82 โ
โ Happinessโโโโโโโโโโ 76 โ
โ Cleanliness โโโโโโโโ 34 โ
โ Energy โโโโโโโโโโ 90 โ
โ โ
โ [๐ Feed] [๐พ Play] [๐ซง Clean] [๐ค Sleep]โ
โ โ
โ โญDaily ๐ฎGames ๐ธPhotos ๐คCo-op โฆ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
git clone https://github.com/NostrDanish/Playground.git
cd Playground
npm install
npm run devOpen http://localhost:5173.
npm run build
# output is in ./dist/Click Join in the top-right corner. You can log in with:
- A Nostr browser extension (NIP-07) โ recommended
- A remote signer via
bunker://URI (NIP-46) - Paste an
nsecdirectly (least safe โ avoid on shared devices)
Use the four action buttons each day:
| Button | Effect | Daily task progress |
|---|---|---|
| ๐ Feed | +8 hunger | Counts toward "Feed 3x" task |
| ๐พ Play | +6 happiness | Counts toward "Play 2x" task |
| ๐ซง Clean | +10 cleanliness | Counts toward "Clean 1x" task |
| ๐ค Sleep | +12 energy | โ |
Stats decay about 5 points per hour of neglect, so check in every day to keep your streak alive.
- Every action earns +5 XP
- Winning a mini-game earns +15 XP
- Taking a photo date earns +20 XP
- Level = floor(XP / 50) + 1, shown on the name plate
| Stage | Total care needed | New features |
|---|---|---|
| ๐ฅ Egg | 0 | Just vibing |
| ๐ฃ Baby | 5 | Cheeks appear |
| ๐ถ Child | 20 | Arms grow |
| ๐ง Teen | 50 | Grows bigger |
| ๐ Adult | 100 | Tiny wings sprout |
| ๐ Elder | 200 | Crown unlocked |
You can own as many Blobbis as you like:
- Tap
+in the switcher bar below the header - Give your new Blobbi a name and pick a colour
- Tap any Blobbi pill to switch to it instantly
- Double-tap a pill to rename, recolour, or remove it
Each Blobbi stores its stats independently on Nostr under its own d-tag.
- Go to the ๐ค Co-op tab
- Tap + New Activity
- Pick one of 10 activities (Walk, Picnic, Beach Day, Dinner Out, etc.)
- Paste your friend's
npub - Both players see the task โ tap Complete Activity to finish it
- Go to the ๐ธ Photos tab
- Tap + New Photo
- Pick a scene and enter a friend's
npub - See your two Blobbis together in the scene
- Optionally upload a real photo (your actual pets, a meal, a walk โ anything!)
- The photo is uploaded to Blossom and saved to your gallery
Go to the ๐ฎ Games tab and choose:
| Game | Goal | Win condition |
|---|---|---|
| ๐ Memory Match | Flip cards to find matching pairs | Match all 6 pairs |
| ๐จ Color Rush | Tap the named colour before the timer | Score 8 in 15 seconds |
| ๐ฝ๏ธ Feed Frenzy | Memorise and repeat a food sequence | Survive 5 rounds |
Four tasks rotate each day (based on date). Complete them for bonus XP. Examples:
- ๐ Hungry Buddy โ Feed 3 times (+15 XP)
- ๐ Social Butterfly โ Visit a friend's Blobbi (+20 XP)
- ๐ค Team Player โ Complete a co-op task (+25 XP)
- ๐ธ Say Cheese! โ Take a photo date (+20 XP)
- ๐ฅ On Fire! โ Maintain a 3-day streak (+30 XP)
- Go to the ๐ซ Pals tab
- Tap Visit next to a friend
- See their Blobbi's stats and optionally Feed or Play with it
- The visit is recorded in both your and their companion state
Blobbi Buddies never touches the original Ditto Blobbi event. All game data lives in separate kinds:
| Kind | Type | Purpose |
|---|---|---|
30311 |
Addressable (read-only) | Ditto Blobbi pet data |
32609 |
Addressable | Blobbi Buddies companion state (per Blobbi) |
7813 |
Regular | Action events: feed, play, clean, sleep, visit, photo |
3173 |
Regular | Co-op task events |
1 + #t:blobbichat |
Regular | In-game public chat |
See NIP.md for the full event schemas.
Each Blobbi gets a unique d-tag for its companion state:
blobbi-buddies-blobbi-1 โ your first Blobbi
blobbi-buddies-blobbi-2-<ts> โ second Blobbi (includes timestamp)
The roster (names, colours, active selection) is stored in localStorage for instant switching.
The app defaults to:
wss://relay.ditto.pub/(read + write)wss://relay.dreamith.to/(read + write)wss://relay.primal.net/(write only)wss://relay.damus.io/(write only)
Users can configure their own relay list via NIP-65.
| Layer | Technology |
|---|---|
| Framework | React 19 + TypeScript |
| Styling | Tailwind CSS v4 |
| UI components | shadcn/ui + Radix UI |
| Nostr | Nostrify + nostr-tools |
| Data fetching | TanStack Query v5 |
| Routing | React Router v7 |
| Media uploads | Blossom via @nostrify/nostrify |
| Build | Vite 8 |
src/
โโโ components/
โ โโโ auth/ # Login, account switcher
โ โโโ game/ # All game UI components
โ โ โโโ ActionButtons.tsx
โ โ โโโ ActivityFeed.tsx
โ โ โโโ BlobbiCreature.tsx # SVG pixel-art Blobbi
โ โ โโโ BlobbiSwitcher.tsx # Multi-Blobbi roster UI
โ โ โโโ ChatPanel.tsx
โ โ โโโ CoopTaskPanel.tsx
โ โ โโโ DailyTasks.tsx
โ โ โโโ FriendsList.tsx
โ โ โโโ GameHeader.tsx
โ โ โโโ MiniGames.tsx # Memory, Color Rush, Feed Frenzy
โ โ โโโ PhotoDate.tsx
โ โ โโโ SceneBackground.tsx # Themed scene environments
โ โ โโโ StatBar.tsx
โ โ โโโ VisitFriend.tsx
โ โโโ ui/ # shadcn/ui primitives
โโโ hooks/
โ โโโ useBlobbiActions.ts # Publish care actions + update state
โ โโโ useBlobbiActivity.ts # Fetch activity feed events
โ โโโ useBlobbiRoster.ts # Multi-Blobbi roster (localStorage)
โ โโโ useBlobbiState.ts # Fetch companion state from Nostr
โ โโโ useCoopTasks.ts # Co-op task creation + completion
โ โโโ useFriendsList.ts # Derive friends from companion state
โโโ lib/
โ โโโ gameTypes.ts # All types, constants, and compute fns
โโโ pages/
โโโ Index.tsx # Main game page
We welcome contributions of all kinds. Please read CONTRIBUTING.md before opening a PR.
MIT โ free to use, fork, and build upon.
Vibed with โค๏ธ on Shakespeare