Pencilbuddha
Let's talk

Case study · Mobile wallet & offers app · Bangalore

Fizz: Pay, save and get stamped.

Fizz let people in Bangalore pay at cafés, restaurants and hangouts from their phone, save with offers at every table and collect loyalty stamps along the way. Students got more. Pencilbuddha planned the whole product as one screen map, then designed and built the Android app, the iOS app and the backend that manages merchants, wallets, offers and payments.

By Kishore Ravi, founder · Updated

01 · The brief

Your phoneis your wallet.

Fizz started with one idea, printed on its first screen: all you need is your mobile to pay. Walk into a café in Koramangala, see what deals it has, pay the bill from your phone and get rewarded for coming back.

It had to work for two kinds of people. Grownups pay with Fizz money. Students verify their college ID once and get special pricing, with the option to pay by cash in store.

01

Discover

Hangouts near you, sorted by category, with live offers and distance.

02

Pay

Settle the bill from the phone with a wallet and a PIN.

03

Save and return

Deals on every bill, and loyalty stamps that earn freebies.

02 · Try the app

Tap throughFizz yourself.

This is the Fizz app, screen for screen, running in your browser. Sign up as a student or a grownup, find a hangout, pay a bill, top up the wallet and collect a stamp.

Fizz splash screen

Fizz splash screen

Pick a journey,
then tap the phone.

Every screen is from the real Fizz app. Tap where you would tap on your own phone: buttons, cards, tabs and the menu all work. The phone's back button works too.

A demo of the shipped screens. Payments and accounts here are simulated: no money moves and nothing is sent.

03 · The plan

Every screen,on one map.

Before a line of code, we drew the whole product as one flow map: 52 screens, every path between them, and every state a user can land in, from the splash screen to a failed payment.

The map became the shared plan for design, the two apps and the backend. Each arrow on it is a call the apps make, and each screen is a state the backend has to know about.

The Fizz application wireframe: 52 screens connected by user flows
The Fizz application wireframe: onboarding at the top, the side menu on the left, payments and the wallet on the right. Tap to open it full size.
  1. Map it. Draw every screen and every path on one page.
  2. Split the users. Students and grownups share one app but take different paths at signup and at payment.
  3. Design the money moments. Bills, PINs, balances and receipts get the clearest screens.
  4. Build three things at once. The Android app, the iOS app and the backend, all working from the same map.
04 · Onboarding

Signed upin a minute.

Four short intro screens explain Fizz. Then sign in with Facebook, confirm the phone number with a one-time code, and choose: student or grownup. Students photograph their college ID to unlock their pricing.

New users get ₹50 of Fizz money to try it, and anyone who was referred by a friend can reward them on the spot.

Intro: all you need is your mobile to pay
Intro: browse offers and discounts
Intro: collect loyalty stamps and get freebies
Login with Facebook
Phone verification, step 1
Phone verification, step 2: enter the code
Choose: register with student ID or continue as a grownup
Register: take a photo of your student ID
Were you referred by someone?
Congratulations: ₹50 of Fizz money to start
05 · Discover

Where to go,and what's on.

The home screen lists hangouts around you, with tabs for trending places, favourites, entertainment, food and drinks, and more. Every card shows the live offer, the distance and whether the place is open.

A venue page has the cuisine, hours, map and every deal, with one button to call and one to pay. Users can save favourites and suggest a new hangout for Fizz to add.

Home: trending hangouts in Bangalore with offers
Koramangala listings, with a nudge to register a student ID
Venue page: details, map, deals, call and pay
Favourites
Suggest a new hangout: pick a category
Suggest a new hangout: name and location
06 · Paying

The bill comesto your phone.

Paying is the heart of Fizz, so it is built to be quick and hard to get wrong. When you are ready to pay, you either notify the merchant from the app or show a QR code for them to scan. The merchant raises the bill, and it arrives on your phone with the deal already taken off.

Grownups pay with Fizz money. Students can pay with Fizz money or choose cash. If the bill takes too long, the app counts down and offers to resend the notification or show the code instead.

ONE PAYMENT, FIVE STEPSReady to paytap Pay at the tableNotify or scanping the merchant or show the QRBill arriveson the phone, with the deal appliedPayFIZZ money, or cash for studentsStampeda loyalty stamp and feedback
Ready to pay: notify the merchant or show the code
Waiting for the merchant to generate the bill
Haven't received the bill? Resend or show the code
QR code for the merchant to scan
Bill for grownups: ₹856, ₹150 saved
Bill for students, paid with Fizz money
Bill for students, paid by cash
Transaction successful, with a one-tap feedback question
You've just been stamped
07 · The wallet

Money in,money out, all clear.

The Fizz wallet is protected by a four-digit PIN. Users top it up by card, by net banking, or by handing cash to a merchant. Transaction history shows what was spent and what was saved, broken down by category, so the savings are always visible.

Fizz money balance
Wallet: current balance and add money
Recharge by card
Recharge by net banking
Recharge with cash at the merchant
Set up a PIN
Change PIN
Spent and saved, by category
Transaction history
08 · Loyalty and referrals

Reasonsto come back.

Every payment can earn a loyalty stamp at that venue, and enough stamps earn a freebie. Invite a friend and both of you get ₹50 of Fizz money. Notifications bring news of new stamps and deals, and a simple feedback screen catches anything that went wrong.

Loyalty stamps by venue
Invite friends: both get ₹50
Invite from your contact list
Notifications: deals and stamps
Feedback: wallet error, merchant problem and more
Side menu with balance, hangouts and stamps
09 · Architecture

Two apps,one backend.

The Android and iOS apps are clients of one backend. It holds every user, wallet, venue, offer, bill and stamp, so a payment made on an iPhone looks the same on the merchant's side and in the admin panel.

The Fizz team runs the product from the admin panel: adding merchants and offers, checking student IDs, following payments and wallet top-ups, and handling feedback.

WHO USES ITiOS appstudents & grownupsAndroid appstudents & grownupsMerchant sidebills · QR · stampsAdmin panelthe Fizz teamFizz backend · REST APIone source of truth for users, money and merchantsWHAT THE BACKEND RUNSWalletbalances · PINs · ledgerPaymentsbills · pay · receiptsOffersdeals · hangoutsLoyaltystamps · rewardsStudentsID checks · pricingReferralsinvites · ₹50 creditWHAT IT CONNECTS TOPayment gatewaycards · net bankingSMSphone OTPFacebookloginPushnotificationsMapsnearby · distance
01UsersFacebook login, phone OTP, student or grownup, referrals.
02Wallet ledgerEvery top-up, payment and credit recorded once.
03BillsMerchant raises it, user pays it, both see the receipt.
04OffersDeals per venue, applied on the bill automatically.
05LoyaltyStamps per venue and the freebies they unlock.
06StudentsID photo review and student pricing.
07NotificationsBills, stamps and deals pushed to both platforms.
08AdminMerchants, offers, users, payments and feedback.
10 · Technology

Built native,on both platforms.

Both apps were built natively, so the payment flow feels at home on each phone. The backend is one Node.js REST API that both apps share, hosted on Amazon Web Services.

Android app
  • Native Android, in Java
  • Android support libraries (AppCompat)
  • Volley for networking
  • Facebook SDK for login and sharing
  • Google Play services and location
  • Camera for student IDs and QR
iOS app
  • Native iOS, in Objective-C
  • The same flows and screens as Android
  • Facebook login
  • Location and camera
  • Push notifications
Backend
  • Node.js
  • REST API with JSON
  • Hosted on AWS Elastic Beanstalk
  • User authentication
  • SMS verification codes (OTP)
  • Wallet, bills and loyalty services
Admin and ops
  • Web admin panel
  • Merchant billing and QR codes
  • Payment gateway for cards and net banking
  • Offers, venues and student ID review
11 · The details

The small screensthat matter.

A product people trust with money needs the edge cases designed too: no internet, a PIN change, preferences for location, contacts and notifications, a profile with the student ID, and a help guide for first-timers.

No internet: try again
Preferences: location, push, contacts, camera
Settings menu
Profile with student ID
Help me use Fizz
About Fizz
12 · Where it stands

Builtend to end.

Pencilbuddha delivered the full product: both apps and the backend that runs them.

Done

Built

  • Product plan and 52-screen flow map
  • Android app
  • iOS app
  • Backend, API and admin panel
Screens are from the Fizz application wireframe. Diagrams show how the parts fit together. Fizz is a trademark of its owner.

Which services made Fizz work?

The services behind this project. Each one has its own page, with more work and answers.

Which projects are like this one?

Case studies that share this project's work, then more clients we have done it for.

Picked for you

Where to next?

Suggestions based on what you're reading.

Got a project? Or just want to say hello?

Fear not.
Send the brief.

The raised hand is the abhaya mudra, the Buddha's gesture for "fear not". It's my promise on every brief.

Based in Erode, Tamil Nadu. Working with brands in Chennai, Coimbatore, Erode and Bangalore, and clients in 8 countries.

Tell me about it

Which paths do you need?

Send it by

Your message will also list the pages you looked at here, so Kishore has the context. You'll see it and can edit it before you send.