How to Build a Mobile App With an Admin Dashboard: The Back Office Nigerian Businesses Actually Need

What an admin dashboard is and why it is usually a web app
An admin dashboard (also called an admin panel or back office) is the private interface your team uses to operate the business behind the app. It reads and writes the same database as the customer app but shows different things: every customer rather than one, every order rather than mine, and controls that customers must never see. It is almost always built as a web application rather than as hidden screens inside the mobile app, for practical reasons:
- Staff work on laptops with large tables, filters and bulk actions; those are awkward on a phone.
- Releasing an admin fix should not require an App Store or Play Store review cycle.
- Admin features in the mobile binary can be discovered by anyone who decompiles the app.
- Web dashboards are easier to restrict to office networks, hardware keys or specific accounts.
Some businesses add a lightweight "manager" mobile app for on-the-go approvals (confirming a large order, checking today's sales). That is a supplement, not a replacement, for the web dashboard.
What should the admin dashboard do?
The modules depend on the app, but most Nigerian business apps need a core set. Scope these before development starts, because each is a chunk of work.
| Module | What it does | Typical for |
|---|---|---|
| Users and customers | Search, view, suspend, reset, verify KYC documents, see activity | All apps |
| Orders or bookings | List, filter by status, assign, update, cancel, refund | E-commerce, delivery, booking, services |
| Catalogue or content | Products, prices, stock, categories, listings, articles, images | E-commerce, marketplace, real estate, education |
| Payments and payouts | Transaction log, gateway references, settlements, vendor payouts, reconciliation | Any app that takes money |
| Notifications and campaigns | Send push, SMS or WhatsApp messages to segments; schedule promotions | Consumer apps |
| Staff, roles and audit log | Create staff accounts, assign roles, view who changed what | All apps |
| Reports and exports | Daily sales, order volumes, top products, exports to Excel or CSV | All apps |
| Settings | Delivery zones and fees, opening hours, tax, feature flags, app banners | Most apps |
| Support and disputes | Ticket queue, chat transcripts, dispute resolution, refund approval | Marketplaces, fintech, delivery |
A useful test for each module: "If this did not exist, what would staff do instead?" If the answer is "open the database" or "ask the developer", the module is essential. If it is "use the existing accounting software", consider an integration or an export rather than rebuilding it.
Architecture: one backend, two clients
The single most important design decision is to have one backend and one API serving both the mobile app and the admin dashboard. The difference between a well-built and a badly-built admin dashboard is usually this: in the good version, the dashboard is just another client of the same API with elevated permissions; in the bad version, it is a separate application with its own logic that drifts out of sync with the app. In practice the architecture looks like this:
- Database (PostgreSQL, MySQL or a managed service such as Firebase or Supabase) holding users, orders, products and transactions.
- Backend API (Node.js, Laravel, Django, .NET or similar) that enforces business rules, talks to payment gateways, sends notifications and exposes endpoints.
- Mobile app (Flutter, React Native or native) calling customer endpoints with a customer token.
- Admin dashboard (a web app in React, Vue or an admin framework) calling admin endpoints with a staff token whose role determines what it may do.
- Background jobs for reconciliation, scheduled notifications and report generation, so the dashboard does not time out on heavy tasks.
When rules live in the backend, an order cancelled from the dashboard follows the same refund and notification logic as one cancelled from the app. That consistency is what keeps customer complaints and accounting disputes down.
Custom admin vs admin framework vs low-code tool
There are three realistic ways to build the dashboard, and the right one depends on how unusual your workflows are and who will maintain it.
| Option | Examples | Best for | Trade-offs |
|---|---|---|---|
| Custom web app | React, Vue or Angular front end on your API | Unusual workflows, complex dispute or dispatch screens, strong branding | Highest cost and longest build; total flexibility |
| Admin framework | Django admin, Laravel Filament or Nova, React Admin, Refine, AdminJS | Standard CRUD (create, read, update, delete) over your data with moderate customisation | Fast to build; customisation beyond the framework's patterns gets fiddly |
| Low-code internal tool | Retool, Appsmith, Budibase, ToolJet, Google AppSheet | Early-stage apps, small teams, internal-only use, rapid iteration | Usually priced per user in US dollars; some are self-hostable; less control over UX |
Two practical notes for Nigerian teams:
- A mixed approach is common and sensible: an admin framework for the 80% of screens that are plain data management, plus a few custom-built screens for the workflows that make your business different (a dispatch board, a KYC review queue, a reconciliation view).
- Firebase's console is not an admin dashboard. It exposes raw data with no roles, no audit trail and no workflow. It is fine for a developer during testing and unsuitable for staff.
Decision framework
- If your processes are standard and your budget is tight: admin framework.
- If you have unusual operations (dispatch, multi-step approvals, custom pricing) and the app is the business: custom, or framework plus custom screens.
- If you are validating an idea with under ten staff users and can accept a dollar subscription: low-code, with a plan to migrate once workflows stabilise.
Step-by-step: building the app and dashboard together
The first step is to write down what staff will do every day, not what the app will do. From there:
- Map the operational workflows. For each business event (new order, failed payment, refund request, new vendor application) write who acts, what they see, and what they decide. This becomes the dashboard specification.
- Define roles and permissions. Typical roles for a Nigerian SME: owner/super-admin, operations manager, customer support, finance, content or catalogue manager, and read-only auditor. Decide which actions need a second approval (refunds above a threshold, vendor payouts).
- Design the data model and API once. Customer endpoints and admin endpoints share the same tables and rules. Add admin-only endpoints for bulk actions, exports and staff management.
- Build the backend and a minimal dashboard before the app is finished. A working dashboard lets the team enter real products, delivery zones and settings, which gives the app real data to test against.
- Choose and build the dashboard front end using the option selected above. Prioritise the daily screens: orders queue, customer lookup, payment reconciliation.
- Add the audit log and notifications. Every write action records who, what and when. Staff should receive alerts for events that need action (a payment webhook that failed, a dispute opened).
- Test with real staff on real workflows. Have the operations lead process a day's simulated orders. Watch where they reach for WhatsApp or a notebook; those gaps become the next sprint.
- Set up hosting, backups and access control. Host the dashboard on a separate subdomain, enforce HTTPS, enable two-factor authentication for staff, restrict super-admin accounts, and schedule database backups.
- Train, document and hand over. Short screen-recorded walkthroughs for each role save weeks of support later, and matter more in Nigeria where staff turnover is common.
Roles, permissions, audit trails and security
The admin dashboard is the most sensitive part of the whole system: it can see every customer and move money. Treat its security as seriously as a bank would.
- Role-based access control. Each staff account has a role; each role has explicit permissions. Support can view orders but not change prices; finance can approve refunds but not edit products.
- No shared logins. Every staff member gets their own account. Shared logins make the audit log meaningless and make offboarding impossible.
- Two-factor authentication for all staff, mandatory for finance and super-admin roles.
- Audit log. Record every change with user, timestamp, previous value and new value. It settles disputes ("who changed this price?") and is your evidence in fraud cases.
- Approval workflows for high-risk actions: refunds above a set amount, payouts, account deletions, manual wallet adjustments.
- Data minimisation on screen. Support staff rarely need full card details or full identity documents; mask what is not needed.
- Session controls. Short session lifetimes, automatic logout on inactivity, and the ability to revoke a staff session immediately.
- NDPA compliance. The Nigeria Data Protection Act 2023 applies to what staff can see and export. Log exports, restrict bulk downloads of customer data, and document your retention policy. Confirm specific obligations with the Nigeria Data Protection Commission.
What changes for Nigerian businesses
The dashboard is where Nigerian operating realities show up most clearly.
- Reconciliation is a daily job. Customers pay by card, bank transfer, USSD, OPay or PalmPay wallets and sometimes cash on delivery. Gateway settlements arrive on their own schedules. The dashboard needs a reconciliation view that matches orders to gateway references and bank credits, flags unmatched items, and exports to Excel for the accountant.
- WhatsApp is part of the workflow. Staff will message customers about substitutions, delivery delays and failed payments. Give the dashboard a click-to-WhatsApp link on each order with a pre-filled message, and record that contact was made. If volume justifies it, integrate the WhatsApp Business Platform for templated updates.
- Staff turnover and shared devices. Front-desk and operations roles change hands often. Per-user accounts, instant revocation and a role template for each position make onboarding a five-minute task rather than a security risk.
- Connectivity. Offices in Lagos and Port Harcourt experience network drops. Design the dashboard to save drafts, retry failed actions, and never leave an order half-updated. Long-running tasks (exports, bulk notifications) should run in the background and notify when done.
- Power. Dashboards should not require a fixed desktop; a laptop on mobile data during an outage must be able to run the essentials.
- Dollar-priced tools. Low-code admin tools and some hosting are billed in US dollars. Model the cost at a conservative exchange rate and revisit it each year.
Example (hypothetical): an Abuja pharmacy delivery app
Example (hypothetical): a pharmacy group with four branches in Abuja commissions a customer app for prescription uploads, over-the-counter orders and delivery within the FCT. The initial brief mentioned the dashboard in one line. During workflow mapping the team identified the following daily operations:
- A pharmacist must review each uploaded prescription and approve, reject or request clarification before an order proceeds.
- Orders are routed to the nearest branch with stock; branch staff need a queue, not a full admin.
- Riders are assigned per branch and customers expect a WhatsApp update on dispatch.
- Finance reconciles card, transfer and cash-on-delivery payments every evening and approves refunds for out-of-stock items.
The dashboard scope grew to: a prescription review queue (custom screen), a branch-level order queue (framework), a rider assignment view (custom), catalogue and stock per branch (framework), reconciliation with export (framework plus custom matching), and an audit log. Roles were owner, pharmacist, branch operator, rider coordinator and finance. The dashboard was built with an admin framework plus three custom screens, and it accounted for roughly a quarter of the total project effort. The point of the example is that the dashboard's scope only became clear once the workflows were written down, and it would have been badly underestimated otherwise.
How much does an admin dashboard add to the cost?
The dashboard is usually priced as part of the overall app project. The figures below are indicative 2026 ranges; actual quotes vary with scope, vendor and exchange rate. Compare two or three written quotations on identical scope, and ask each vendor to itemise the dashboard.
| Dashboard scope | What it includes | Indicative addition to app cost (₦) |
|---|---|---|
| Basic (framework-based) | Users, orders, catalogue, settings, basic reports, 2–3 roles | ₦400,000–₦1,500,000 |
| Standard | Basic plus payments and reconciliation, notifications, audit log, exports, 4–6 roles | ₦1,200,000–₦4,000,000 |
| Advanced (custom screens) | Standard plus dispatch boards, approval workflows, dispute handling, analytics, multi-branch | ₦3,000,000–₦10,000,000+ |
As a rule of thumb, the dashboard adds roughly 15–35% to the app budget, with the higher end for operations-heavy businesses. Set against the overall indicative bands for mobile apps in Nigeria (simple MVP ₦1,500,000–₦5,000,000; medium ₦5,000,000–₦15,000,000; complex ₦15,000,000–₦50,000,000+), a medium app with a standard dashboard is a realistic mid-range project. Recurring costs to plan for separately: hosting for the dashboard and backend (VPS or cloud, indicatively ₦150,000–₦800,000+ per year), any low-code tool subscription (per user, US dollars), and maintenance (typically 15–25% of build cost per year across app and dashboard).
Mistakes to avoid
- Treating the dashboard as an afterthought. It is scoped last, built last and squeezed when the budget runs short; then staff run the business in WhatsApp. Scope it at the same time as the app.
- Building business logic into the dashboard rather than the backend. The app and dashboard then behave differently, and every rule change has to be made twice.
- One super-admin login shared by everyone. No accountability, no way to remove a departed employee's access, and a real fraud risk when the dashboard can move money.
- Skipping the audit log to save time. It is cheap to build at the start and nearly impossible to reconstruct after an incident.
- Ignoring reconciliation. If the dashboard cannot match orders to gateway settlements and bank credits, finance will keep a parallel spreadsheet and the app's numbers will never be trusted.
- Using the Firebase or database console as the admin tool. Fine for a developer during testing; dangerous for staff.
- Designing tables that work only on a fast connection. Paginate, filter server-side, and keep exports asynchronous.
- No training or documentation. In a high-turnover environment, undocumented dashboards decay into "only Chidi knows how to do refunds".
Conclusion
A mobile app succeeds or fails in its back office. Build one backend with one API, make the dashboard a privileged client of that API, scope its modules from the workflows staff actually perform, and put roles, two-factor authentication and an audit log in from day one. Choose an admin framework for standard screens and custom-build only the workflows that define your business. Budget for the dashboard as roughly 15–35% of the project rather than treating it as a free extra, and give particular attention to reconciliation and WhatsApp follow-up, which are where Nigerian operations live. If you are planning an app and want the customer app, backend and admin dashboard designed as one system, Linestech builds mobile apps with operational back offices for Nigerian businesses and can help you scope the dashboard before you commit to a budget.
Frequently asked questions
Can the admin dashboard be inside the mobile app instead of a website?
It can, but it is rarely a good idea. Staff need large tables, filters and bulk actions that suit a laptop; admin changes should not wait for app-store review; and admin code shipped inside a public app can be inspected by anyone. A small "manager" app for approvals on the go is a reasonable supplement to a web dashboard.
Do I need an admin dashboard for a simple MVP?
Yes, but a small one. Even an MVP needs staff to view users, handle orders and refund a payment without calling the developer. An admin framework can deliver this quickly. What you can defer is analytics, campaign tools and custom workflow screens.
Should the dashboard and the app share the same database?
Yes. Both should read and write the same database through the same backend API, so that rules such as refunds, stock updates and notifications behave identically regardless of where an action started. Separate databases create mismatches that surface as customer complaints and accounting errors.
How many staff roles should we start with?
Three to five is typical: owner or super-admin, operations, customer support and finance, with a content or catalogue role if you sell products. Add roles as workflows mature. The important discipline is that every person has their own account, regardless of how few roles exist.
Can we use a low-code tool such as Retool or Appsmith permanently?
Some businesses do, especially for internal-only tools with a small number of staff users. The risks are per-user dollar pricing as the team grows, dependency on the vendor, and limits on custom UX. Self-hostable options reduce cost and dependency. Many teams start with low-code and move the busiest screens to a custom build later.
Who should host and own the dashboard?
The business should own the hosting account, domain, source code and all admin credentials, with the agency granted access during development. Confirm this in the development contract, alongside code ownership, before work starts.
Sources and further reading
Figures, platform rules and regulations change. These are the primary references behind this article and the places to check before you act on it.


