This roadmap is the public, issue-driven plan for AirFlex. It maps the work in the GitHub issue tracker to distinct milestones so contributors can see what the project is building next, and users can understand what is coming.
- Status legend: ✅ shipped · 🚧 in progress · 📋 planned
- Target dates are quarter-based and indicative, not commitments.
Monorepo, CI/CD, Docker, core server scaffold. Target: Q3 2026
| Status | Issue | Work |
|---|---|---|
| ✅ | #92 | pnpm monorepo with workspaces and shared tooling |
| ✅ | #91 | Docker and Docker Compose setup for local development |
| ✅ | #123 | Next.js 14 App Router scaffold |
| ✅ | #141 | PostgreSQL connection pool (pg) |
| ✅ | #78 | Server CI pipeline (lint, test, build) |
| ✅ | #69 | Frontend CI pipeline |
| ✅ | #93 | ESLint and Prettier across workspaces |
| ✅ | #100 | Performance monitoring with OpenTelemetry |
| ✅ | #95 | Dependabot for automated dependency updates |
| ✅ | #96 | Secret scanning and SAST with CodeQL |
| ✅ | #94 | SECURITY.md with responsible disclosure policy |
| ✅ | #80 | API versioning strategy (/api/v1/) |
| ✅ | #81 | OpenAPI 3.1 specification + Swagger UI |
| ✅ | #84 | Health and readiness probes |
| ✅ | #99 | Railway / Render deployment guide |
| ✅ | #101 | Documentation site (Nextra) |
| ✅ | #139–#148 | Server scaffold hardening (env validation, logger, middleware, request IDs, async errors) |
| 🚧 | #157 | Migration CLI script (server/src/db/migrate.ts) |
| 🚧 | #98 | Husky and lint-staged pre-commit hooks |
| 🚧 | #121 | Monorepo-wide type coverage reporting |
| 🚧 | #97 | CHANGELOG.md (Keep a Changelog) |
| 🚧 | #111 | This roadmap document |
OTP, Stellar wallet, virtual accounts, Paystack deposits, recovery. Target: Q4 2026
| Status | Issue | Work |
|---|---|---|
| ✅ | #7 | OTP authentication API (Termii) |
| ✅ | #9 | Paystack webhook deposit processing |
| ✅ | #125 | Auth context and useAuth hook |
| ✅ | #126 | Next.js middleware for route protection |
| ✅ | #114 | Seller onboarding KYC flow UI |
| 🚧 | #108 | 2FA recovery flow (one-time backup codes) |
| 🚧 | #109 | Display recovery codes post-signup + management UI |
| 🚧 | #74 | User profile API (phone, settings, KYC status) |
| 🚧 | #115 | KYC submission storage and admin review API |
Trade listings, buy flow, escrow integration, marketplace UI. Target: Q1 2027
| Status | Issue | Work |
|---|---|---|
| ✅ | #63 | Onboarding wizard for first-time users |
| ✅ | #67 | Reusable UI component library (Storybook) |
| ✅ | #62 | Marketplace search and filter controls |
| ✅ | #64 | Referral programme UI and code sharing |
| ✅ | #75 | Referral programme API |
| ✅ | #66 | Stellar explorer deep-link component |
| 🚧 | #127 | TradeCard component for listing grid |
| 🚧 | #128 | Skeleton loading state for marketplace grid |
| 🚧 | #129 | AssetTypeBadge with carrier branding |
| 🚧 | #130 | next.config.js env variable validation |
| 🚧 | #131 | Typed base fetch client (lib/api.ts) |
| 🚧 | #132 | useTradeList / useTrade data-fetching hooks |
| 🚧 | #133 | Toast notification system |
| 🚧 | #134 | CurrencyInput with Naira formatting |
| 🚧 | #103–#106 | @airflex/* SDK packages (shared types, wallet, API client, Soroban client) |
Dispute resolution, delivery confirmation, notifications, analytics, platform ops. Target: Q2 2027
| Status | Issue | Work |
|---|---|---|
| ✅ | #70 | Admin trade resolution API |
| ✅ | #71 | Notification service (SMS/email) |
| ✅ | #82 | Platform fee deduction on trade completion |
| ✅ | #83 | GDPR/NDPR-compliant data deletion |
| ✅ | #77 | Background job queue |
| 🚧 | #110 | Platform analytics dashboard (trade volume metrics) |
| 🚧 | #72 | Server-Sent Events for real-time updates |
| 🚧 | #73 | Horizon event listener for on-chain events |
| 🚧 | #76 | Redis caching layer for hot endpoints |
| 🚧 | #118 | Webhook retry logic and dead-letter queue |
| 🚧 | #112 | AML/fraud detection: transaction velocity checks |
| 🚧 | #119 | Seller rating system after trade completion |
| 🚧 | #79 | Integration test suite for all API routes |
| 🚧 | #117 | Load testing suite with k6 |
Admin dashboard, PWA, i18n, docs, security hardening. Target: Q3 2027
| Status | Issue | Work |
|---|---|---|
| ✅ | #23 | Admin dashboard (trade and user management) |
| ✅ | #89 | Contracts published to testnet with documented addresses |
| 🚧 | #107 | Mobile-responsive PWA manifest and service worker |
| 🚧 | #65 | Accessibility audit — WCAG 2.1 AA compliance |
| 🚧 | #68 | i18n for Yoruba, Igbo, and Hausa |
| 🚧 | #120 | Content Security Policy and security headers audit |
| 🚧 | #135 | Session expiry detection and auto-logout |
| 🚧 | #113 | Escrow contract audit preparation document |
| 🚧 | #102 | Database backup and point-in-time recovery |
| 🚧 | #124 | Root app layout with providers and global styles |
Deliberately deferred features, with rationale. Revisit these when the underlying assumption changes.
- Native mobile apps — AirFlex targets mobile-first users in Nigeria where app-store distribution can be a barrier. The PWA (#107) delivers an installable, offline-capable experience without store approval or platform-specific code. Native apps add significant maintenance cost for little user benefit at this stage.
- GraphQL subscription layer (#116) — the SSE endpoint (#72) already covers real-time trade updates with far less infrastructure. Revisit only if clients demonstrate a concrete need for queryable subscriptions.
- End-to-end encryption for trade chat (#122) — there is no chat feature yet. E2E encryption is only meaningful once messaging exists, and premature key-management complexity would slow the marketplace MVP.
Feature ideas are collected and upvoted on the GitHub Discussions page. (Note: discussions must be enabled by the maintainers before the page is live — until then, please open a feature-request issue instead.) The most upvoted requests are candidates for the next milestone.
- This roadmap is updated as part of each release: closed issues are moved to ✅, completed milestones are marked shipped, and new issues are assigned to the appropriate milestone.
- Milestone target dates are quarter-based. A milestone slips when its issues slip; update the dates here when a milestone is re-planned.
- PRs that close issues referenced in this document should keep the issue's status in the roadmap table in sync.