Steem Keychain Mobile: Building It Right, Phase by Phase

Hello everyone,
If you have been following my recent posts, you know I have been working on Steem Keychain Mobile — a modern mobile wallet for the Steem blockchain built from the ground up with React Native and Expo.
In my first post, I announced the project and shared the early prototype with the visual identity. In my second post, I demonstrated the Deep Linking integration working with external browsers.
Today, I want to share something important: the development roadmap and the strategy I am using to deliver this app to the community.
Where the App Stands Today
After weeks of focused development, the app currently has many features implemented, but I want to be transparent: not everything is built yet, and what is built has not been fully tested.
Here is what has been implemented so far:
- Secure account management with AES-256 encryption
- Biometric authentication (Face ID / Fingerprint)
- Wallet with balance display and price tracking
- Transfer, receive, power up, power down, delegation
- Savings operations, witness voting, proxy management, proposal voting
- Account history with filters
- In-app dApp browser with tabs, favorites, and history
- Keychain bridge with request operation handlers
- Deep linking for external app integration
There are still many features that need to be built, and the existing ones need thorough testing across every scenario and edge case.
I am not going to rush this.
Why a Step-by-Step Approach
This app is large, and it keeps getting bigger. Every day I work on it, new features are added, new edge cases appear, and the codebase grows. It handles sensitive blockchain operations involving real funds on two platforms — Android and iOS. As a solo developer, I realized early on that if I do not structure this carefully, the growing complexity will become unmanageable.
That is why I decided to implement a phased release strategy. My goal is to focus on every scenario and edge case to ensure nothing is missed or broken. The approach is simple:
- I divide all features into 10 phases, each containing a small group of releases
- Each release unlocks a focused set of features
- I test each phase thoroughly — functionality, security, and UI/UX
- The community tests it and shares feedback
- I fix, enhance, and improve based on that feedback
- Only when the current phase is solid, I move to the next one
This step-by-step method allows me to build, test, and refine the app feature by feature. It keeps development organized, prevents things from falling through the cracks, and gives the community a clear picture of progress at every stage.
This is not just about whether buttons work. At every phase, I am evaluating: Does the flow feel right? Is the layout clear? Are the interactions intuitive? Is the design consistent? UI/UX is a first-class priority, not an afterthought.
Current Status: Phase 1 Available for Testing
I have built and packaged Phase 1 (Core Foundation) and I am currently testing it on my physical devices. The first APK is now available for the community to test as well.
I am working through Phase 1 thoroughly before moving to Phase 2. If you find issues, have suggestions, or want to share feedback about anything — functionality, design, flow — please do. Every piece of feedback shapes what comes next.
The Full Roadmap
Below is the complete roadmap. This plan may evolve — features might shift between phases, new ones may be added, or priorities may change based on testing and community feedback.
Phase 1 — Core Foundation (Releases 1–6)
Status: APK available for testing.
The bedrock of the app. Security, authentication, and basic account management.
| Release | Features |
|---|---|
| R1 | Base UI component library |
| R2 | Master password creation with AES-256 encryption |
| R3 | Password unlock with attempt limiting and lockout |
| R4 | Biometric unlock (Face ID / Fingerprint), auto-lock timer, lock button |
| R5 | Account import via private key and master password |
| R6 | QR code import, wallet balances, account drawer, price display, account management, basic settings |
Phase 2 — Basic Transactions (Releases 7–9)
Status: Moving into testing now.
The essential wallet operations every user needs.
| Release | Features |
|---|---|
| R7 | Send STEEM and SBD (recipient validation, memo support) |
| R8 | Receive screen with QR code generation and copy/share |
| R9 | Power Up — convert STEEM to Steem Power |
Phase 3 — History & Advanced Power (Releases 10–13)
Understanding your account activity and managing your stake.
| Release | Features |
|---|---|
| R10 | Account history — view all transactions |
| R11 | History filters by operation type |
| R12 | Delegation — create, remove, and view incoming/outgoing |
| R13 | Power Down — start, modify, and cancel the 13-week schedule |
Phase 4 — Savings & Governance (Releases 14–19)
Protecting your funds and participating in Steem governance.
| Release | Features |
|---|---|
| R14 | Savings deposit (STEEM and SBD) |
| R15 | Savings withdrawal with 3-day wait and cancel support |
| R16 | Witness voting — search, filter, vote/unvote (max 30) |
| R17 | Proxy — set or clear your witness voting proxy |
| R18 | Proposals — view SPS/SDF proposals with funding status |
| R19 | Proposal voting — vote and unvote on proposals |
Phase 5 — In-App Browser (Releases 20–23)
A full browser inside the app for interacting with Steem dApps.
| Release | Features |
|---|---|
| R20–R21 | WebView browser with full navigation controls |
| R22 | Tab management — open, switch, and close multiple tabs |
| R23 | Browser home page with favorites and browsing history |
Phase 6 — Keychain Bridge (Releases 24–27)
The core of Keychain: letting dApps request transactions securely.
| Release | Features |
|---|---|
| R24 | Keychain API injection into the browser (window.steem_keychain) |
| R25 | Request modal UI — approve, reject, and review dApp requests |
| R26 | Handle transfer requests from dApps |
| R27 | Handle vote and post requests from dApps |
Phase 7 — Request Operations (Releases 28–32)
Expanding the bridge to support the full range of Steem operations.
| Release | Features |
|---|---|
| R28 | Custom JSON requests (communities, follows, reblogs) |
| R29 | Delegation and power operation requests |
| R30 | Witness vote and proxy requests |
| R31 | Sign buffer, sign transaction, and broadcast requests |
| R32 | Encode and decode memo requests |
Phase 8 — Advanced Requests (Releases 33–36)
Specialized operations for power users and developers.
| Release | Features |
|---|---|
| R33 | Steem Engine token transfer requests |
| R34 | Authority management (add/remove account and key authority) |
| R35 | Account creation and addAccount requests |
| R36 | Recurrent transfers and convert requests |
Phase 9 — Trust & Notifications (Releases 37–40)
Making the app smarter and keeping users informed.
| Release | Features |
|---|---|
| R37 | Trusted operations — "Don't ask again" per domain and operation |
| R38 | Activity notifications — votes, replies, mentions, follows |
| R39 | Transaction history in notifications |
| R40 | Push notifications with background delivery |
Phase 10 — Advanced Settings & Polish (Releases 41–44)
Fine-tuning the experience and preparing for public release.
| Release | Features |
|---|---|
| R41 | RPC node configuration — custom nodes with latency testing |
| R42 | Notification preferences and settings |
| R43–R44 | Clear all data, version info, about screen, privacy and terms |
What I Need From the Community
I genuinely want to build something that the Steem community trusts and uses daily. My goal is to create an app worthy of being the official Steem Keychain mobile experience.
To get there, I need your help:
- Test the Phase 1 APK — Try creating a password, importing an account, checking your balances
- Report any bugs — No matter how small, every report helps
- Share your thoughts on the UI/UX — Does it feel smooth? Is anything confusing? What would you change?
- Suggest improvements — Your feedback directly shapes what I enhance in the next phase
Download the APK
Phase 1 (Release 6) — Core Foundation:
Note: Since this is a beta APK, your phone may show a security warning about installing from unknown sources. This is normal for apps distributed outside the Play Store. You will need to allow installation from your browser or file manager in your phone settings.
Technical Details
For those interested in the technical foundation:
| Detail | Value |
|---|---|
| Framework | React Native 0.81 + Expo SDK 54 |
| Language | TypeScript (strict mode) |
| Encryption | AES-256-CBC with PBKDF2-SHA256 key derivation |
| Biometrics | iOS Keychain / Android KeyStore with biometric protection |
| State Management | Redux with encrypted persistence |
| Platforms | Android and iOS |
| Testing Devices | iPhone 14 Pro Max, Samsung Galaxy A30 |
About Me
Hi! I'm kafio, I build tools for Steem. My projects:
PixelCraft — pixel art game on blockchain
https://pixelcraft-beta.steemhub.tech
SteemHub — A platform that showcases my Steem-based projects, helping users discover and engage with the ecosystem.
Other tools:
- Stats & Analytics: https://stats.steemhub.tech/
- Memory Game: https://memory-game.steemhub.tech/
- Chrome Extensions: Steemit Blog Formatter and Steemit Notification Saver
Contributing to the Steem ecosystem. Support my work by voting for my witness: @kafio.wit
Vote: https://steemitwallet.com/~witnesses
Thank you!

Hi, @kafio.wit,
Thank you for your contribution. Your post has been manually curated.
- Delegate to @ecosynthesizer and vote @symbionts as a witness to support us.
- Explore Steem using our Steem Blockchain Explorer
- Easily create accounts on Steem using JoinSteem
I'd help to test on IOS