CONCEPT · Speculative design · web app · 2026

Vantage

Custom admin dashboard

An admin built around how your business actually runs

/ The challenge

Speculative scenario: Vantage is a polished B2B subscription tool — the frontend is solid, but the admin is three plugins duct-taped together. Checking a user's payment status means opening four tabs. Sending a notification means logging into a third-party tool. Toggling a feature means editing a config file. This is the inflection point most growing products hit: the frontend is good, but the admin is still the engineer's backyard.

/ Our approach

Good admin design starts from business workflows, not database schemas. Two common scenarios: (1) an existing frontend that needs a proper admin for non-technical operators; (2) a new SaaS being built from scratch, admin scope planned from day one. Either way, the structure breaks into three layers: overview metrics (so the owner understands their numbers), member control (status, plan, and messaging in one screen), and module configuration (the owner adjusts features and rules themselves — no engineer required).

saasadmin.com
Dashboard
📅 30 Days
A
Total Users
3,842
+68 this week
Pro Users
312
8.1% conversion
Workspaces
7,290
1.9 per user
Transactions
24,150
↑ 12% vs last mo.
User Registrations
Last 30 days trend
📅 30 Days
Growth Summary
Today+3
3
new users
This Week+68
68
new users
This Month+312
312
new users
/ Overview — KPIs and user growth
§ 01 · Member management

Every user's status, plan, and history — one screen

On a 3,000-user product, locating a specific user takes 4–6 steps on average. A well-designed member list puts search, filter, and status front-and-centre — cutting "what's going on with this user" from 5 minutes to 15 seconds. Pro / Free / Suspended readable at a glance; actions inline, no page jump.

saasadmin.com
Users
Search users…
+ Add User
All (3,842)
Pro (312)
Free (3,506)
Suspended (24)
UserEmailPlanStatusJoinedRoleActions
S
Sarah Lin
sarah@demo.comPro
Active
2026-03-12Admin
J
James Chen
james@demo.comFree
Active
2026-03-28User
A
Amy Wang
amy@demo.comPro
Active
2026-04-05User
E
Eric Chang
eric@demo.comFree
Suspended
2026-04-15User
K
Kevin Wu
kevin@demo.comPro
Active
2026-04-22User
G
Grace Tsai
grace@demo.comFree
Active
2026-04-28User
Showing 1–6 of 3,842 users
1
2
3
641
/ Members — search, filter, inline actions
/ Key decisions
Decision · 01

Search is the primary action

The first thing any operator needs is almost always 'find this specific user.' Search bar sits front-and-centre in the header — not buried in a filter dropdown.

Decision · 02

Status communicates through colour

Active / Suspended / Pending maps to green / red / yellow — no reading required to assess state. The operator gets a health-at-a-glance scan without reading every row.

Decision · 03

High-frequency actions live inline

"Upgrade plan," "suspend account," "send message" — all inline in the row. No need to enter the user detail page just to find the button. Three clicks become one.

§ 02 · Module configuration

The owner adjusts features and rules — no engineer needed

Every client's admin needs are different. Some need LINE push, some SMS; some ECPay, some Stripe. Modular design means the owner uses toggles to control which features are live. Detail settings — trigger conditions, message templates, send limits — all configurable in the same screen without touching code.

saasadmin.com
Modules
Payment
ECPay
Credit card / ATM / CVS
Stripe
International cards
LINE Pay
Mobile wallet
Notifications
LINE Bot
Event-triggered push
Email (Resend)
Transactional email
SMS
Local phone numbers
AI Features
Natural-Language Input
Claude Haiku
AI Image Generation
Gemini Imagen
LINE Bot
Event-triggered push configuration
✓ Enabled
Trigger events
Message template
Hi {{user_name}}! Your payment of NT$ {{amount}} is confirmed. Thanks for using Vantage 🎉
Variables: {{user_name}} {{amount}} {{date}}
Daily send limit
500 msgs
312 / 500 used today
/ Module config — LINE Bot triggers and message template
/ Key decisions
Decision · 01

Settings page is for operators, not engineers

Feature toggles, checkbox trigger conditions, plain-text message templates — not JSON, not code editors. Non-technical operators should be able to configure confidently without calling us.

Decision · 02

Modules enable and disable independently

Client A needs LINE push but not SMS; client B needs Stripe but not ECPay. Modular architecture lets us deliver a different feature set to each client using the same admin framework — the admin grows with the business, not the other way around.

§ 03 · Revenue analytics

MRR, churn, plan mix — the numbers that drive decisions

The core of an enterprise admin isn't a management interface — it's letting decision-makers understand the business in 30 seconds. MRR trend shows growth trajectory, plan distribution shows upsell opportunity, top-paying accounts tell sales who to prioritise. Data is live, not a CSV export opened in Excel.

saasadmin.com
Revenue Analytics
May 2025 — Apr 2026
MRR
NT$ 156K
↑ 4.7% vs last mo.
YoY Growth
+89.7%
NT$ 82K a year ago
ARPU
NT$ 500
312 paying users
Churn Rate
2.3%
Target: < 3%
MRR Growth
Monthly Recurring Revenue (NT$ K)
↑ 89.7% YoY
160K120K80K
NT$ 156K
MayAugNovFeb
Plan breakdown
Free
3,53073%
Pro
31222%
Enterprise
725%
Top contributors
Acme Corp
Enterprise
NT$ 4,800
Horizon Tech
Enterprise
NT$ 3,600
Maple Studio
Pro × 8
NT$ 4,000
/ Revenue dashboard — MRR trend, plan breakdown, top accounts
/ Key decisions
Decision · 01

MRR over GMV

For a SaaS business, the health metric is MRR, not GMV or total revenue. MRR movement reflects the real trajectory of a subscription business. Put it front and centre so every time the CEO opens the admin, it's the first number they see.

Decision · 02

Churn lives in the stats bar

Churn rate is the most ignored and most damaging number in a SaaS business. Put it next to MRR and growth rate — make it impossible to ignore. If it only lives inside a report somewhere, decision-makers will never voluntarily look at it.

§ 04 · AI usage tracking

Which feature burns the most tokens and costs the most — you need numbers before you can optimise

The most common problem after shipping AI features: the month-end bill is higher than expected, nobody knows which feature is eating the cost, and the Haiku/Sonnet ratio isn't optimised. The AI usage dashboard gives engineers and owners visibility: daily call volume by model, feature usage share, cost vs budget progress. The 62% cost saving over GPT-4o wasn't luck — it was a decision made from a screen like this.

saasadmin.com
AI Usage & Cost
Claude Haiku
Claude Sonnet
API Calls
58,160
↑ 18% vs last mo.
Tokens
24.3M
Prompt + Completion
Cost
NT$ 1,847
Budget: NT$ 3,000
Avg Latency
1.8 s
P95 < 3.2 s
Daily API Calls
Last 14 days by model
4/18
4/19
4/20
4/21
4/22
4/23
4/24
4/25
4/26
4/27
4/28
4/29
4/30
5/1
Claude Haiku
43,720 calls
NT$ 436 / this mo.
Claude Sonnet
14,440 calls
NT$ 1,411 / this mo.
Usage by feature
Support Bot
67%39K
Summarisation
21%12K
Keyword extract
8%4.7K
Other
4%2.3K
Highest cost feature
Support Bot
NT$ 1,238
39K calls · Claude Haiku
Cost vs GPT-4o
62% cheaper
/ AI usage — stacked bar chart, model split, cost-per-feature
/ Key decisions
Decision · 01

Stacked bars split by model

Haiku and Sonnet have wildly different costs — the same feature costs 80% less on Haiku. Stack both models in the same bar in different colours, and an engineer immediately spots the day Sonnet calls spike unexpectedly and can investigate before the next billing cycle.

Decision · 02

Budget tracker lives in the sidebar

Put the monthly cost vs budget progress bar in the sidebar permanently, not buried in settings. Every time someone opens the AI usage page, they see '61% used' — so a cost anomaly gets caught while there's still time to react.

§ 05 · Tech stack

What this build would use

  • Next.js 15
  • Tailwind CSS
  • Supabase (PostgreSQL)
  • NextAuth / Lucia
  • LINE Messaging API
  • Resend
  • ECPay / Stripe
  • Vercel
CONCEPT · Vantage

Want to turn this into yours?
Let's talk

Book a free call
Reply within 24hQuote and contract includedRemote friendlyEN · 繁中