Multi-Tenant SaaS UI — MarkupVerse Project
Multi-Tenant SaaS UI — MarkupVerse Project: free step-by-step lesson with examples, common mistakes, and interview tips — part of HTML Tutorial on Toolliyo Academy.
On this page
HTML Tutorial · Lesson 100 of 100
Multi-Tenant SaaS UI
Basics ✓ → Forms & semantics ✓ → APIs & performance ✓ → Projects
Projects · 4 — MarkupVerse builds · ~10 min · HTML — Real-World Projects
What is this?
Multi-tenant SaaS UIs swap branding per customer while sharing one HTML shell via data attributes or CSS variables.
Why should you care?
MarkupVerse capstone project 100 — one dashboard markup, three tenant themes.
See it live — copy this example
Save as demo.html and open in your browser, or use Run Example below.
<!DOCTYPE html>
<html lang="en" data-tenant="acme" style="--mv-brand:#2563eb;--mv-accent:#1d4ed8;">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MarkupVerse Workspace</title>
<style>
.mv-tenant-bar { background: var(--mv-brand); color: #fff; padding: .5rem 1rem; }
.mv-cta { background: var(--mv-accent); color: #fff; border: 0; padding: .5rem 1rem; }
</style>
</head>
<body class="mv-portfolio mv-portfolio--multi-tenant" data-tenant="acme" data-plan="enterprise">
<div class="mv-tenant-bar" data-tenant-label>
Acme Corp workspace · Enterprise
</div>
<main>
<h1>Welcome back, <span data-user-name>Jordan</span></h1>
<p>Usage this cycle: <meter min="0" max="1000000" value="640000">640k</meter> API calls</p>
<button type="button" class="mv-cta">Invite teammate</button>
</main>
<!-- Switch tenant: html[data-tenant="orbit"] { --mv-brand:#7c3aed; --mv-accent:#6d28d9; } -->
</body>
</html>
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- data-tenant on html/body selects theme.
- CSS variables drive colors.
- Same HTML serves Acme, Orbit, Nova tenants.
Practice next
- Set data-tenant on html.
- Define --mv-brand variables.
- Style bar and CTA from vars.
- Add data-tenant="orbit" purple vars comment block.
- Swap data-plan to starter in body.
Remember
data-tenant hook. CSS variables for brand. One shell, many themes.
MarkupVerse multi-tenant capstone
Hoster serves Acme and Orbit from one HTML file.
Outcome: Tenant bar color changes via --mv-brand only.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!