We will be undergoing planned maintenance on Oct 7th 6:00AM UTC / Oct 7th 2:00AM ET

Inspiration 💡

While growing a TikTok account to promote another app, I noticed that friendship posts optimized for shares were the ones that went viral. Whenever I posted something like "I'm so lucky to have you as my best friend" over cute photos of friends, it took off fast, sometimes reaching millions of views, with people tagging their best friends in the comments.

That's when I realized people really want to send something personal to their friends, but not just a plain text message, so they often use videos as a stand-in for a message. So I built a dedicated space for best friends, where they can draw for each other, react, and collect their doodles in a shared sketchbook.

What it does ✏️

bestiz is a private space for exactly two best friends to send each other doodles.

Draw something for your bestie

Start with a blank canvas, or pick from a library of 100+ funny, cute and chaotic prompts. Some are silly ("draw an apple. now ruin it"), some are sweet ("draw your favorite memory together").

Fold it, pack it, throw it

Sending isn't a button tap. You fold the paper with your finger, pack it, and throw it across to your bestie, who opens it like a real note.

One idea, two takes

This is my favorite part. When you send a prompt, your bestie can draw their own take on the same idea. Once both drawings are in, the app reveals them side by side, so you get to see how differently two people saw the same thing.

React and collect

Your bestie can react to your doodles. Every finished pair becomes a page in your shared sketchbook, which fills up like a real one, 24 pages per volume.

One subscription, both besties

bestiz Plus unlocks unlimited doodle sends for both friends. Only one of you needs to subscribe, and your bestie gets Plus too.

Around all this are friendship XP and levels, streaks, and achievements for the two of you to unlock.

How I built it 🛠️

  • iOS app built with Swift/SwiftUI.
  • The backend runs entirely on Firebase: Auth, Firestore, Storage, Cloud Functions (TypeScript), Push Notifications, Remote Config and App Check.
  • Subscriptions and paywalls are powered by RevenueCat.
  • Built with Claude Code and Codex, including a custom design system and animations.

Challenges I ran into 🧗

Making the app feel alive

My biggest challenge was making bestiz look good and feel good to touch. I didn't want another flat, boring app. I wanted every interaction to have weight: dragging, pressing, folding, and throwing, with haptics and motion everywhere. Getting there took 7+ weeks and lots and lots of iterations, and screens were redesigned again and again until the UI looked the way it does now.

Keeping an AI-built UI consistent

Building with Claude Code and Codex is fast, but every new screen tended to invent its own buttons, cards, spacing and shadows. To stop the app from drifting into a patchwork, I wrote a design system with strict rules and a script that checks new code against it. The models now follow the rules, and the app stays cohesive.

Building on a tight budget

For the first 4 or 5 weeks of the project, I could only afford the basic \$20/month Codex plan, and I kept hitting usage limits mid-session. Every time it happened, development stalled until the limit reset, so I had to plan my work around it and spend my prompts on the things that mattered most.

Accomplishments that I'm proud of 🏆

I'm entering bestiz for the design awards because I'm most proud of how it looks and feels to use. bestiz doesn't look or feel like any other app on the App Store, and I built every part of it to be that way:

  • Mechanics that feel good. Folding a doodle with your finger, packing it, and throwing it to your bestie is satisfying every time.
  • A brand with personality. A warm paper look, rounded type, and a cast of mascots that show up from onboarding to reactions, so the whole app feels like one world.
  • Every detail is designed. From the reveal to the empty states, I refused to leave any screen looking like a default.

I'm also proud that I actually shipped it. I've started plenty of app ideas that died before ever reaching the App Store. bestiz didn't. It's live, and it has already gone through multiple updates.

What I learned 🌱

The idea matters, but iteration is what makes a design beautiful. I'm not a designer, and my first version of almost every screen wasn't good. What worked was redesigning again and again: I prototyped new looks in separate demo screens, kept what felt right, and threw the rest away. Onboarding, the inbox and the sketchbook each went through several full rewrites before they clicked. You don't need to see the finished design in your head at the start. You just need to keep making it a little better than the last version.

What's next for bestiz - Drawing for Friends 🚀

For the next few weeks, my main priority is marketing. I'll start distributing bestiz through UGC content on TikTok, where the idea was born, and try to reach my first few hundred, and hopefully few thousand, users. After that, I'll focus on iterating the product based on real user feedback.

Built With

Share this project:

Updates

Submission history