Amela
For confidentiality, company names, project names, and system images have been replaced with pseudonyms and mockups.
E-money × member-card operator — new platform launch story

In your wallet,all your paper cards, into a single app.

CardKeeper is a next-generation wallet platform that consolidates merchant member cards, e-money balances, and credit payments into a single app. Delivered on iOS/Android simultaneously with Flutter, it realizes a “know before you spend” experience through real-time balance updates.

To eliminate “carrying paper cards for each store, balance checks that require a store terminal, payment in a separate app, and scattered usage history,”E-money × member-card operator, together — built in-house from scratch in 11 months.

Member card
Paper → digital
Balance check
Store → smartphone
Payment
Separate app → unified
History
Scattered → unified
CardKeeper
MAIN CARD
¥12,580
**** **** **** 4523
Registered member cards (5)
Shibuya
650pt
Shinjuku
¥2,500
Ikebukuro
230pt
+
01
CLIENT
About the client

An operator that unifies e-money and member-card operations — E-money × member-card operator」。

Provides e-money balance management and a member-card system for merchant networks in retail and services. With card issuance at the scale of hundreds of thousands and store POS integration, it supports merchants' promotion and loyalty businesses.

Previously a fragmented experience: paper member cards + balance checks on store terminals + credit-card payment in a separate app. Declining user engagement and lost sales opportunities for merchants constrained business growth.

Hundreds of thousands of cards
Member cards issued
Multiple merchants
Consolidated in one app
iOS / Android
Flutter simultaneous development
BUSINESS FLOW
STEP 01
Card consolidation
Register cards from multiple merchants in one app
STEP 02
Balance check
Check real-time balance instantly on your phone
STEP 03
Payment
Instant credit-card payment / member-card display
STEP 04
History + points
Rewards via unified history + points visualization
02
CHALLENGE
Design challenges to solve

Four design challenges that change usage frequency and sales opportunities.

The burden of carrying paper member cards for each store
Wallets bulge ·Reissue cost when lost, forgetting the card on a visit means losing reward opportunities.
Balance checks require a store terminal — unknown before you visit
In a “not sure if the balance is enough” state,usage decisions are delayed, hurting the purchase experience
A separate credit-card app is needed to pay · the hassle of switching at checkout
Switching apps causesCheckout congestion · usage drop-off, with especially noticeable degradation during peak hours.
Usage history scattered across cards makes budgeting hard
No unified view of usageRepeat-purchase optimization can't be executed, and merchants gain only shallow customer understanding.
03
ARCHITECTURE
Architecture built together

Card consolidation · balance · payment · history in one app.

Simultaneous iOS/Android development with Flutter; state management organized via the BLoC pattern. A robust payment foundation in PHP (Yii2-style), real-time balance with Redis, and instant usage reflection through push notifications. A safe validation flow that separates sandbox and production environments.

Amela
EXECUTION
11
months
77
person-months
Area ①
Card consolidation
Challenge
Carrying paper cards for each store
Solution
All member cards consolidated in the app
Zero loss risk · instant switching
Area ②
Real-time balance
Challenge
Store terminal required · unknown before visit
Solution
Redis real-time balance + push notifications
Checkable before use
Area ③
Unified payment
Challenge
The hassle of switching to a separate credit-card app
Solution
Credit-card registration + instant in-app payment
Done in one tap at checkout
Area ④
Unified history
Challenge
Usage history is scattered
Solution
Cross-card history + points visualization
Monthly usage analysis too
TECH STACK
Mobile
FlutterBLoCDart
Backend
PHP (Yii2)MySQLRedis
Infra
Sandbox + Production separationPush notifications
04
IMPACT
The value the platform creates

Usage frequency and sales opportunities reach the next stage.

Eliminating lost opportunities from forgotten cards
In-app consolidation eliminates “I don't have my card,” raising the reward-usage rate on store visits.
Less checkout congestion · fewer payment drop-offs
One-tap in-app payment shortens checkout time and improves the experience during peak hours.
Deeper customer understanding for merchants
Unified history data enables cross-store usage-pattern analysis, improving the precision of promotional measures.
Reduced maintenance effort with a single codebase
A single Flutter codebase delivers iOS/Android simultaneously, halving the effort for feature additions and bug fixes.
05
DEMO
Three scenarios

Experience the result with a working demo.