A multi-tenant Voice-of-Customer platform: one dashboard shell that ingests reviews from many sources, normalises them into a common model, and adapts its page set to whether a company runs stores or not.
Sign in as a store-based or a non-store company and navigate the full page set. Nav, tabs, filter chips, review facets, column sorting and drilldowns all work.
Open prototype → 19 artboards Wireframe canvasEvery screen laid out on one pan/zoom canvas, across two pages — store-based and non-store — with annotation notes explaining the framework rules.
Open canvas → Reference Framework specReview of the existing build, sitemap, page specs, KPI dictionary, insight taxonomy, common data model, gaps to close, owner requirements and roadmap.
Open spec →Company selection happens once, on the login page. Signing in resolves one tenant configuration bundle — branding, entity model, sources, taxonomy, page set, permissions — and the dashboard renders from it. There is no company switcher inside the product. A page outside a tenant's page set returns 404 rather than rendering empty.
| Store-based | Non-store | |
|---|---|---|
| Primary entity | Store / branch / outlet | Product / app / plan |
| Hierarchy | Brand → Region → City → Store → Counter | Brand → Product line → Product → Release / Plan |
| Exclusive pages | Store Performance, City & Region, Staff & Service Quality | Product & App, Channel Performance, Segments & Cohorts, Journey Stages |
| Shared | Overview · Reviews Feed · Insights · Competitor & Trust · Support · Data Hub · Actions · Reports | |
Every figure shown is an illustrative sample value, not a measurement. The only real numbers in this work are cited in the spec and come from the existing deployed build: 3,179 Play Store reviews, 3.84 average rating, six mock stores, and competitor mention counts of 14, 10 and 2.
Greyscale is the common shell every tenant gets. Terracotta marks elements
conditional on company type, or notes about the framework rather than the UI.
Source and build instructions: see README.md in the repository.