Deals and local commerce
B-Ticket
We built the consumer app, the consumer website and the merchant portal for a deals platform in the Philippines, along with the APIs and payments behind them.


The challenge
B-Ticket needed a marketplace that works for three groups at once. Diners and shoppers need offers they can claim and redeem at the store. Merchants need to publish and run their deals, and the team behind the platform needs to see what is being redeemed.
What we built
Consumer app
Customers browse deals, see them on a map and claim one, which stays in their Coupons tab for 24 hours, with an optional Apple Wallet or Google Wallet pass. They show a QR code at the store to redeem it, and the code refreshes every few minutes. A paid membership unlocks member-only deals. Built with Expo for iOS, Android and Huawei AppGallery.
Consumer website
Deals by city and category, articles and guides, in English, Japanese, Korean, Tagalog and Cebuano, with structured data for search engines.
Merchant portal
B-Merchant lets a business sign up for free, add its branches, publish coupons and buy ads on B-ticket. Redemption history and analytics sit in the same portal.
Merchant app
An Expo app for merchants, with a manager view for offers, branches and insights, and a scanner view that counter staff use to redeem coupons.
AI tools for merchants
A merchant takes a photo of a menu, and OpenAI vision turns it into draft products the merchant reviews before publishing. A merchant assistant answers questions and acts through the portal's own tools, listings can be rewritten and translated automatically, and new merchants can be onboarded through a Telegram bot.
Admin console and APIs
An admin console with role-based access for staff and an approval queue for new merchants that requires multi-factor sign-in. The APIs use NestJS and Drizzle over PostgreSQL on Neon. Payments run through StarPay QR Ph and Apple, Google and Huawei in-app purchases, with error monitoring in Sentry.
Highlights
- Customers claim a deal in the app and show a QR code at the store to redeem it.
- Merchants turn a photo of their menu into draft listings with AI, then review them before publishing.
- The consumer website is available in English, Japanese, Korean, Tagalog and Cebuano.
- A paid membership unlocks deals that only members can claim.
Platforms and stack
- iOS and Android app
- Consumer website
- Merchant portal
- Admin console
- Merchant app
Stack
- Expo
- React Native
- React Router
- NestJS
- Drizzle
- PostgreSQL
- OpenAI
- Vercel
- Google Cloud Run
- Sentry
Related capabilities
Web platforms
Public sites, portals and admin consoles, built in TypeScript and React.
Read about this capabilityMobile apps
iOS and Android apps from one codebase, built with React Native and Expo.
Read about this capabilityBackend, APIs and integrations
The services behind a product: APIs, data, payments and devices.
Read about this capabilityCloud platforms and DevOps
Cloud infrastructure described in code, with deployments that repeat.
Read about this capabilityOperations and reliability
We stay on after launch to monitor, respond and release.
Read about this capabilityAI and automation
Automation for repetitive work, with AI where it saves real time.
Read about this capability
Have a product like this in mind?
Tell us what it needs to do, who uses it and how it has to run after launch. We will talk through the scope and the stack with you.
