Inspiration

The roasting was getting out of hand. Naturally, I decided to build an app.

I was sitting with friends, and everyone was busy dragging everyone else. No occasion. No preparation. Just the usual friendship maintenance.

Then it clicked: we already live in group chats. This roast session should survive the ride home.

That became Ghatiya Cam, a camera app with absolutely no interest in hyping you up.

"Ghatiya" roughly means lousy in Urdu and Hindi. Expectations managed. You're welcome.

What it does

Point the camera. Get roasted. Give the group chat something to fight about.

  • Instant Roast: The front camera captures automatically when a face is ready. Your ego gets no countdown.
  • Roast a Friend: Use the rear camera or pick a photo from your gallery. Share the attention.
  • Name Roast: Type a name. No photo required. Nobody gets to hide behind "my camera isn't working."
  • Group Roast: Up to four faces. Pick one target or let everyone catch a little heat.
  • Roast Battle: Two photos, one fictional winner, several objections.
  • Ghatiya Meter: A completely made-up score with categories like Drama Potential and Confidence (Unverified).
  • Make it yours: Light, Spicy or Savage. Six roast packs, eight frames, plus Remix to change things up.
  • Save and share: Export cards for the group chat, save your favourites, or come back for a Daily Roast.

There are 735 pre-written roast lines across Roman Urdu, Hinglish and English, built around the way friends in Pakistan and India actually joke and text.

Photo processing happens on your phone. The app selects jokes from its content library; the Meter and Battle results are fictional. There is no secret personality assessment happening behind your forehead.

The first roast comes before any ad. Optional rewarded ads unlock extras, while a one-time Lifetime Pro purchase removes ads and unlocks all packs and frames.

How we built it

Step one was making a list of things I was absolutely not going to build.

Shipaton came with a deadline. Every extra idea wanted a seat. Most got kicked out.

I turned the core idea into a PRD, settled the scope, then hit the part that refused to behave: design.

I tried Google Stitch and Claude for design exploration. Multiple directions. Multiple iterations. Everything kept arriving looking ready for a very productive quarterly meeting.

This app needed pink, lime, oversized type and the confidence to be slightly obnoxious.

Once the visual direction clicked, I used Claude to build the Android app, working through focused implementation tasks, reviews and testing. My Android development background helped me guide the work, question the output and debug what actually happened on a device.

The app uses Kotlin and Jetpack Compose, CameraX for capture, ML Kit for on-device face detection, and Room for local history. AdMob serves ads, RevenueCat tracks ad events and handles Lifetime Pro, Firebase supports analytics and configuration, and OneSignal handles push notifications.

Then came real-device testing, release fixes, store assets and shipping to Google Play.

Now I'm learning how to get people to discover it with a marketing budget of approximately good intentions.

Challenges we ran into

Making the UI look like it belonged to this app.

Getting something clean was easy. Getting something bold, playful and readable took much more work. The buttons, cards, typography and copy all needed to feel like they came from the same slightly annoying friend.

Making the store screenshots do their job.

A screenshot has very little time to explain why someone should care. I had to turn the app's humour and visual style into Play Store screenshots, a feature graphic and supporting assets that made sense before anyone tapped Install.

Getting from "works on my phone" to a release.

Testing through Google Play exposed language-delivery issues that local builds hadn't shown. Ads, reward delivery and saved-photo handling also needed careful checking. Apparently, passing a test does not mean your phone has agreed.

Accomplishments that we're proud of

I started this as a solo Android developer. I finished it feeling like an indie app maker.

With AI assistance, I took responsibility for the whole thing: product scope, design decisions, development, testing, monetization, screenshots, the feature graphic and the store listing.

Somewhere between fixing a camera flow and adjusting screenshot text for the tenth time, "I build Android apps" became "I can ship a product."

And the product actually looks like the weird idea I had in my head.

What we learned

Shipping earns you a store link. It does not automatically earn you users.

An MVP is the beginning. A production release is the first step toward finding out whether anyone cares enough to use it, share it or pay for it.

I also learned that AI can help me build far more than I could handle alone, but I still have to make the decisions and check the results. Especially when the results confidently tell me everything works.

What's next for Ghatiya Cam: Roast Camera

The family has done its shift. Time to meet actual users.

I'm starting with small friend circles in Pakistan and India: let them try it, see what they share, and find out whether the joke travels into another group.

I'm also planning short social posts and UGC-style videos built around actual roast reactions and battles between friends.

The app is made for quick bursts of fun. Someone shares a card, a friend tries it, and the roast session continues. The challenge is helping that chain reach beyond the original circle.

My first target is 1,000 users. Along the way, I want to learn which modes people use, what gets shared and what makes anyone return. That behaviour will guide the retention work.

For now, the mission is simple: give the group chat new material.

Built With

  • android
  • android-studio
  • camerax
  • claude
  • firebase-analytics
  • firebase-crashlytics
  • firebase-remote-config
  • google
  • google-admob
  • google-ml-kit
  • google-play-billing
  • hilt
  • jetpack-compose
  • kotlin
  • kotlin-coroutines
  • onesignal
  • revenuecat
  • room
Share this project:

Updates

Submission history