514 lines
30 KiB
HTML
514 lines
30 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Signage CMS - Business Proposal</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
|
|
<style>
|
|
*{box-sizing:border-box;margin:0;padding:0}
|
|
body{font-family:'Inter',-apple-system,sans-serif;background:#f8f9fb;color:#1a1a2e;line-height:1.7;-webkit-font-smoothing:antialiased}
|
|
:root{--accent:#2563eb;--accent-light:#eff6ff;--accent-hover:#1d4ed8;--bg:#f8f9fb;--card:#ffffff;--border:#e5e7eb;--text:#1a1a2e;--text-secondary:#6b7280;--text-light:#9ca3af;--green:#10b981;--green-bg:#ecfdf5;--amber:#f59e0b;--amber-bg:#fffbeb;--red:#ef4444;--red-bg:#fef2f2;--radius:12px;--shadow:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-lg:0 4px 6px -1px rgba(0,0,0,0.07),0 2px 4px -2px rgba(0,0,0,0.05)}
|
|
.container{max-width:800px;margin:0 auto;padding:40px 24px}
|
|
.back-link{display:inline-flex;align-items:center;gap:6px;color:#2563eb;text-decoration:none;font-size:14px;font-weight:500;margin-bottom:32px}
|
|
.back-link:hover{text-decoration:underline}
|
|
header{margin-bottom:48px}
|
|
header h1{font-size:36px;font-weight:800;letter-spacing:-0.02em;margin-bottom:8px;color:#111827}
|
|
header .subtitle{font-size:18px;color:#6b7280;margin-bottom:12px}
|
|
header .meta{font-size:13px;color:#9ca3af;border-top:1px solid #e5e7eb;padding-top:16px;margin-top:16px}
|
|
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px;padding:24px;background:#fff;border-radius:12px;border:1px solid #e5e7eb}
|
|
.toc a{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;color:#2563eb;text-decoration:none;background:#eff6ff;transition:all 0.15s}
|
|
.toc a:hover{background:#dbeafe;color:#1d4ed8}
|
|
.section{margin-bottom:48px;scroll-margin-top:24px}
|
|
.section h2{font-size:24px;font-weight:700;color:#2563eb;margin-bottom:20px;padding-bottom:8px;border-bottom:2px solid #eff6ff}
|
|
.card{padding:32px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:16px;transition:box-shadow 0.15s}
|
|
.card:hover{box-shadow:var(--shadow-lg)}
|
|
.card h3{font-size:18px;font-weight:600;margin-bottom:12px;color:#111827}
|
|
.card p{color:#6b7280;font-size:15px;line-height:1.8;margin-bottom:12px}
|
|
.card p:last-child{margin-bottom:0}
|
|
.card ul,.card ol{margin:12px 0;padding-left:24px}
|
|
.card li{margin-bottom:6px;color:#6b7280;font-size:15px}
|
|
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}
|
|
th{background:#eff6ff;color:#2563eb;font-weight:600;padding:12px 16px;text-align:left;border-bottom:2px solid #bfdbfe}
|
|
td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#374151}
|
|
tr:last-child td{border-bottom:none}
|
|
blockquote{border-left:4px solid #2563eb;padding:16px 20px;margin:20px 0;background:#f8f9fb;border-radius:0 8px 8px 0;font-style:italic;color:#4b5563}
|
|
.tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}
|
|
.tag-green{background:#ecfdf5;color:#059669}
|
|
.tag-amber{background:#fffbeb;color:#d97706}
|
|
.tag-red{background:#fef2f2;color:#dc2626}
|
|
.tag-blue{background:#eff6ff;color:#2563eb}
|
|
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:16px 0}
|
|
.pricing-card{padding:24px;border:1px solid #e5e7eb;border-radius:12px;text-align:center;transition:box-shadow 0.15s}
|
|
.pricing-card:hover{box-shadow:var(--shadow-lg)}
|
|
.pricing-card.featured{border-color:#2563eb;border-width:2px;background:#f8f9fb}
|
|
.pricing-card h4{font-size:16px;font-weight:600;margin-bottom:8px}
|
|
.pricing-card .price{font-size:28px;font-weight:800;color:#111827;margin-bottom:4px}
|
|
.pricing-card .period{font-size:13px;color:#6b7280;margin-bottom:12px}
|
|
.pricing-card ul{list-style:none;text-align:left;font-size:14px;color:#4b5563}
|
|
.pricing-card ul li{padding:4px 0;color:#6b7280}
|
|
.pricing-card ul li:before{content:"\2713 ";color:#10b981;font-weight:700}
|
|
.pitch{font-size:17px;line-height:1.8;color:#111827;font-weight:500}
|
|
hr{border:none;border-top:1px solid #e5e7eb;margin:24px 0}
|
|
code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:13px}
|
|
@media(max-width:640px){.container{padding:24px 16px}header h1{font-size:28px}.card{padding:24px 16px}.pricing-grid{grid-template-columns:1fr}}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<a href="https://proposals.iamgmb.com" class="back-link">← Back to Proposals</a>
|
|
|
|
<header>
|
|
<h1>Signage CMS</h1>
|
|
<p class="subtitle">A Self-Hosted Multi-Tenant Digital Signage Platform Replacing OptiSigns</p>
|
|
<p class="meta">Prepared for IT Pro Partner · July 2026 · MSP Product Division</p>
|
|
</header>
|
|
|
|
<nav class="toc" id="toc">
|
|
<a href="#executive-summary">Executive Summary</a>
|
|
<a href="#problem">The Problem</a>
|
|
<a href="#solution">The Solution</a>
|
|
<a href="#market">Market Analysis</a>
|
|
<a href="#revenue">Revenue Model</a>
|
|
<a href="#architecture">Technical Architecture</a>
|
|
<a href="#go-to-market">Go-to-Market Strategy</a>
|
|
<a href="#competitive">Competitive Advantages</a>
|
|
<a href="#risks">Risks & Mitigation</a>
|
|
<a href="#financials">Financials</a>
|
|
<a href="#ask">The Ask</a>
|
|
</nav>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Executive Summary -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="executive-summary">
|
|
<h2>Executive Summary</h2>
|
|
<div class="card">
|
|
<p>Signage CMS is a self-hosted, multi-tenant digital signage platform built to replace OptiSigns for IT Pro Partner MSP customers. Instead of paying $10-30/month per account to a third-party SaaS vendor, customers pay a flat $12.99/month per screen - with no feature gating, no screen limits, and no third-party dependency.</p>
|
|
<p>The platform is built on FastAPI + SQLite, hosted on existing netcup infrastructure, and played back on Raspberry Pi 4 devices running Chromium kiosk mode. IT Pro Partner controls the entire stack: content storage, playlist delivery, device registration, and customer management. Optional custom HTML menu board design ($299 one-time) is a service differentiator that OptiSigns cannot match.</p>
|
|
<p><strong>Target:</strong> Migrate existing OptiSigns customers first (2-3 screens each), then expand to restaurants, gyms, medical offices, and retail businesses.</p>
|
|
<p><strong>Break-even:</strong> 5 customers / 12 screens at $12.99/month per screen. Gross margin exceeds 95% at steady state.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- The Problem -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="problem">
|
|
<h2>The Problem</h2>
|
|
|
|
<div class="card">
|
|
<h3>Revenue Walking Out the Door</h3>
|
|
<p>Every MSP customer paying OptiSigns directly is monthly recurring revenue the MSP does not capture. At scale (20+ screens), that is $200-600/month leaving the business every month - for a service the MSP could deliver on its own infrastructure at near-zero incremental cost.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>No Control Over the Platform</h3>
|
|
<p>When OptiSigns changes pricing, deprecates features, or alters plan tiers, the MSP's customers are affected and the MSP has no recourse. You are a reseller, not an owner. Your value to the customer is limited to being a middleman for someone else's platform.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>What Customers Actually Need</h3>
|
|
<p>Most small business signage needs are straightforward: show images and short videos on a TV, change content from a browser, have it "just work," and pay a fair price. They do not need Power BI dashboards, Salesforce integrations, or video walls. They need a reliable screen and someone who handles the setup.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- The Solution -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="solution">
|
|
<h2>The Solution</h2>
|
|
|
|
<div class="card">
|
|
<h3>Signage CMS - Own the Platform</h3>
|
|
<p>Signage CMS replaces OptiSigns with a platform IT Pro Partner owns end-to-end. The customer experience is simple: log into a web portal, upload content, build playlists, and plug in a pre-configured Raspberry Pi. The MSP handles everything else.</p>
|
|
|
|
<table>
|
|
<tr><th>MVP Feature</th><th>Description</th></tr>
|
|
<tr><td>Content Upload</td><td>Images (JPG, PNG, WebP) and video (MP4, MOV, WebM)</td></tr>
|
|
<tr><td>Playlist Builder</td><td>Ordered sequences, shuffle mode, per-device assignment</td></tr>
|
|
<tr><td>Multi-Tenant Isolation</td><td>Each customer sees only their own content and devices</td></tr>
|
|
<tr><td>Pi Auto-Registration</td><td>Device registers via unique code - plug in and it works</td></tr>
|
|
<tr><td>Custom HTML Design</td><td>ITPP builds custom menu boards as HTML ($299 one-time upsell)</td></tr>
|
|
<tr><td>Device Monitoring</td><td>Online/offline status, last seen, screen resolution</td></tr>
|
|
<tr><td>Admin Portal</td><td>ITPP manages all tenants from a single dashboard</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Customer Journey</h3>
|
|
<ol>
|
|
<li>Customer signs up, gets login to their tenant portal (dark theme, Ops Portal design system)</li>
|
|
<li>Uploads images/videos to their content library</li>
|
|
<li>Creates playlists and assigns them to screens</li>
|
|
<li>Receives pre-provisioned Raspberry Pi players from ITPP</li>
|
|
<li>Plugs Pi into TV (HDMI + power) - it auto-registers and starts playing</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Market Analysis -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="market">
|
|
<h2>Market Analysis</h2>
|
|
|
|
<div class="card">
|
|
<h3>Market Opportunity</h3>
|
|
<p>The global digital signage market is projected to reach $45 billion by 2030, growing at roughly 8% CAGR. The SMB segment (restaurants, retail, gyms, medical offices) represents the largest installed base by unit count but is underserved by enterprise-focused platforms that are overpriced, overcomplicated, and self-serve.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Target Segments</h3>
|
|
<table>
|
|
<tr><th>Segment</th><th>Use Case</th><th>Typical Screens</th><th>Decision Maker</th></tr>
|
|
<tr><td>Restaurants</td><td>Menu boards, daily specials, promotions</td><td>1-4</td><td>Owner/Manager</td></tr>
|
|
<tr><td>Gyms</td><td>Class schedules, promotions, announcements</td><td>1-3</td><td>Owner</td></tr>
|
|
<tr><td>Medical Offices</td><td>Waiting room content, service menus, health tips</td><td>1-3</td><td>Office Manager</td></tr>
|
|
<tr><td>Retail</td><td>Promotional displays, product showcases</td><td>1-5</td><td>Owner/Manager</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Competitive Landscape</h3>
|
|
<table>
|
|
<tr><th>Platform</th><th>Pricing</th><th>Screens</th><th>Key Limitation</th></tr>
|
|
<tr><td><strong>OptiSigns</strong></td><td>$10-30/mo account</td><td>Unlimited</td><td>Feature-gated tiers, third-party dependency</td></tr>
|
|
<tr><td><strong>ScreenCloud</strong></td><td>$20/mo per screen</td><td>Per screen</td><td>Expensive at scale, no custom HTML</td></tr>
|
|
<tr><td><strong>Yodeck</strong></td><td>Free (1), $8+/screen</td><td>Per screen</td><td>Free tier limited, Raspberry Pi only</td></tr>
|
|
<tr><td><strong>Raydiant</strong></td><td>$50+/screen</td><td>Per screen</td><td>Enterprise pricing, SMB overkill</td></tr>
|
|
<tr><td style="background:#eff6ff;font-weight:600">Signage CMS</td><td style="background:#eff6ff;font-weight:600">$12.99/mo per screen</td><td style="background:#eff6ff;font-weight:600">Unlimited</td><td style="background:#eff6ff;font-weight:600">New entrant, smaller feature set</td></tr>
|
|
</table>
|
|
<p style="margin-top:16px">Signage CMS competes on <strong>price at scale + MSP white-glove service + custom HTML design capability</strong>. For a restaurant with 3 screens, OptiSigns costs $10-30/month total. Signage CMS costs $38.97/month - but includes white-glove setup, ongoing MSP support, and the option for professionally designed menu boards that no competitor can match.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Revenue Model -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="revenue">
|
|
<h2>Revenue Model</h2>
|
|
|
|
<div class="card">
|
|
<h3>Pricing Tiers</h3>
|
|
|
|
<div class="pricing-grid">
|
|
<div class="pricing-card">
|
|
<h4>Per Screen</h4>
|
|
<div class="price">$12.99</div>
|
|
<div class="period">/screen/month</div>
|
|
<ul>
|
|
<li>Content upload & library</li>
|
|
<li>Playlist builder</li>
|
|
<li>Device monitoring</li>
|
|
<li>Standard support</li>
|
|
<li>All features - no gating</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="pricing-card featured">
|
|
<h4>Design Service</h4>
|
|
<div class="price">$299</div>
|
|
<div class="period">one-time fee</div>
|
|
<ul>
|
|
<li>Custom HTML menu board</li>
|
|
<li>Professional layout</li>
|
|
<li>1 revision included</li>
|
|
<li>ITPP designed & built</li>
|
|
<li>OptiSigns can't match this</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="pricing-card">
|
|
<h4>Player Provisioning</h4>
|
|
<div class="price">$49</div>
|
|
<div class="period">/screen, one-time</div>
|
|
<ul>
|
|
<li>Raspberry Pi 4 setup</li>
|
|
<li>Pre-configured & tested</li>
|
|
<li>Auto-registration ready</li>
|
|
<li>Shipped to customer</li>
|
|
<li>Plug-and-play delivery</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Why Per-Screen Pricing?</h3>
|
|
<p>Per-screen pricing aligns revenue with customer growth. A customer with 1 screen pays $12.99; a customer with 10 screens pays $129.90. This scales naturally as customers add locations or additional displays. Competitors like OptiSigns use per-account pricing with unlimited screens, which caps revenue per customer regardless of how many screens they deploy.</p>
|
|
|
|
<p><strong>Revenue comparison at scale:</strong></p>
|
|
<table>
|
|
<tr><th>Screens</th><th>OptiSigns (Pro)</th><th>Signage CMS</th><th>MSP Revenue Captured</th></tr>
|
|
<tr><td>1</td><td>$15.00</td><td>$12.99</td><td>$12.99</td></tr>
|
|
<tr><td>3</td><td>$15.00</td><td>$38.97</td><td>$38.97</td></tr>
|
|
<tr><td>5</td><td>$15.00</td><td>$64.95</td><td>$64.95</td></tr>
|
|
<tr><td>10</td><td>$15.00</td><td>$129.90</td><td>$129.90</td></tr>
|
|
<tr><td>20</td><td>$30.00</td><td>$259.80</td><td>$259.80</td></tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Technical Architecture -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="architecture">
|
|
<h2>Technical Architecture</h2>
|
|
|
|
<div class="card">
|
|
<h3>Stack Overview</h3>
|
|
<table>
|
|
<tr><th>Component</th><th>Technology</th><th>Notes</th></tr>
|
|
<tr><td>Backend API</td><td>FastAPI (Python)</td><td>RESTful, JWT auth, per-tenant scoping</td></tr>
|
|
<tr><td>Database</td><td>SQLite</td><td>Single-file, zero-config, sufficient for SMB scale</td></tr>
|
|
<tr><td>Reverse Proxy</td><td>Caddy</td><td>Auto-TLS, static file serving for content</td></tr>
|
|
<tr><td>Player Hardware</td><td>Raspberry Pi 4</td><td>4K output, customer purchases, ITPP provisions</td></tr>
|
|
<tr><td>Player Software</td><td>Chromium kiosk</td><td>Fullscreen, auto-start, polls API for playlist</td></tr>
|
|
<tr><td>Hosting</td><td>netcup VPS</td><td>Existing ITPP infrastructure</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Multi-Tenant Data Model</h3>
|
|
<p>One customer = one tenant = unlimited devices. Content libraries are per-tenant. Playlists can be assigned to one or multiple devices. A device plays exactly one playlist at a time.</p>
|
|
<table>
|
|
<tr><th>Tenant</th><th>Users</th><th>Devices</th><th>Content</th></tr>
|
|
<tr><td>Joe's Diner</td><td>admin, staff</td><td>Lobby Pi, Menu Pi</td><td>8 items, 2 playlists</td></tr>
|
|
<tr><td>Main Street Gym</td><td>owner</td><td>Front Desk Pi</td><td>5 items, 1 playlist</td></tr>
|
|
<tr><td>Third Coast Dental</td><td>frontdesk</td><td>Waiting Pi, Exam Pi, Hallway Pi</td><td>12 items, 3 playlists</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Player Lifecycle</h3>
|
|
<ol>
|
|
<li>ITPP flashes Raspberry Pi OS + player scripts onto SD card</li>
|
|
<li>Registration code generated in customer portal</li>
|
|
<li>Pi shipped to customer (or hand-delivered locally)</li>
|
|
<li>Customer plugs in HDMI + power</li>
|
|
<li>Pi boots, auto-registers with code + serial number</li>
|
|
<li>Receives device token, begins polling for playlist every 60 seconds</li>
|
|
<li>Plays content in fullscreen loop - auto-updates on playlist changes</li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Go-to-Market Strategy -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="go-to-market">
|
|
<h2>Go-to-Market Strategy</h2>
|
|
|
|
<div class="card">
|
|
<h3>Phase 1: Migrate Existing OptiSigns Customers <span class="tag tag-green">Month 1-2</span></h3>
|
|
<p>IT Pro Partner's existing MSP customers who currently use OptiSigns are the first targets. Offer free migration: ITPP handles content transfer, provisions Pis, and cancels their OptiSigns subscription. Position as "same service, lower cost, direct support from us."</p>
|
|
<p><strong>Target:</strong> 3-5 customers, 6-15 screens.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Phase 2: Expand to New MSP Customers <span class="tag tag-amber">Month 3-6</span></h3>
|
|
<p>Once the platform is proven with existing customers, bundle signage as an add-on service for all MSP clients. Offer "first screen free for 30 days" to current MSP customers. Target restaurants, gyms, and medical offices in the service area. Leverage existing MSP relationships.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Phase 3: Direct Sales to New Verticals <span class="tag tag-blue">Month 7-12</span></h3>
|
|
<p>With a stable platform and reference customers, expand through outbound sales, POS vendor partnerships, and content marketing. Target restaurant chains, gym franchises, and medical/dental practices. Produce case studies, ROI calculators, and demo videos.</p>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Customer Acquisition Cost (CAC) Estimate</h3>
|
|
<table>
|
|
<tr><th>Channel</th><th>Est. CAC</th><th>Notes</th></tr>
|
|
<tr><td>Existing MSP migration</td><td>$0</td><td>Already a customer, no acquisition cost</td></tr>
|
|
<tr><td>MSP cross-sell</td><td>$50</td><td>Email campaign + phone call</td></tr>
|
|
<tr><td>Direct outbound</td><td>$200</td><td>Time + materials for demos</td></tr>
|
|
<tr><td>Referral / Word of mouth</td><td>$0</td><td>Organic from existing customers</td></tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Competitive Advantages -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="competitive">
|
|
<h2>Competitive Advantages</h2>
|
|
|
|
<div class="card">
|
|
<h3>Signage CMS vs OptiSigns</h3>
|
|
<table>
|
|
<tr><th>Capability</th><th>OptiSigns</th><th>Signage CMS</th></tr>
|
|
<tr><td>Per-screen pricing</td><td><span class="tag tag-red">No (per-account)</span></td><td><span class="tag tag-green">Yes</span></td></tr>
|
|
<tr><td>Feature gating by tier</td><td><span class="tag tag-red">Yes (3 tiers)</span></td><td><span class="tag tag-green">No (all features included)</span></td></tr>
|
|
<tr><td>Custom HTML menu boards</td><td><span class="tag tag-red">No</span></td><td><span class="tag tag-green">Yes ($299 one-time)</span></td></tr>
|
|
<tr><td>MSP white-glove service</td><td><span class="tag tag-red">No</span></td><td><span class="tag tag-green">Yes</span></td></tr>
|
|
<tr><td>Platform ownership</td><td><span class="tag tag-red">Third-party</span></td><td><span class="tag tag-green">Self-hosted</span></td></tr>
|
|
<tr><td>No vendor lock-in</td><td><span class="tag tag-red">No</span></td><td><span class="tag tag-green">Yes (open platform)</span></td></tr>
|
|
<tr><td>Direct support contact</td><td><span class="tag tag-red">Ticket-based</span></td><td><span class="tag tag-green">Phone/email to ITPP</span></td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Feature Comparison Matrix</h3>
|
|
<table>
|
|
<tr><th>Feature</th><th>OptiSigns</th><th>ScreenCloud</th><th>Yodeck</th><th>Signage CMS</th></tr>
|
|
<tr><td>Content upload (images + video)</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td></tr>
|
|
<tr><td>Playlist builder</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td></tr>
|
|
<tr><td>Multi-tenant isolation</td><td>No</td><td>No</td><td>No</td><td>Yes</td></tr>
|
|
<tr><td>Raspberry Pi support</td><td>Limited</td><td>Yes</td><td>Yes</td><td>Yes (native)</td></tr>
|
|
<tr><td>Custom HTML design service</td><td>No</td><td>No</td><td>No</td><td>Yes</td></tr>
|
|
<tr><td>Device monitoring dashboard</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td></tr>
|
|
<tr><td>MSP white-glove service</td><td>No</td><td>No</td><td>No</td><td>Yes</td></tr>
|
|
<tr><td>Price per screen/month</td><td>$10-30/account</td><td>$20</td><td>$8+</td><td>$12.99</td></tr>
|
|
<tr><td>Self-hosted option</td><td>No</td><td>No</td><td>No</td><td>Yes</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<p class="pitch">Signage CMS does not compete on being the cheapest option for a single screen. It competes on being the <strong>best option for businesses that want someone else to handle everything</strong> - from setup to ongoing management to custom menu board design.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Risks & Mitigation -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="risks">
|
|
<h2>Risks & Mitigation</h2>
|
|
|
|
<div class="card">
|
|
<table>
|
|
<tr><th>Risk</th><th>Likelihood</th><th>Impact</th><th>Mitigation</th></tr>
|
|
<tr><td>Customer stays with OptiSigns</td><td><span class="tag tag-amber">Medium</span></td><td>High</td><td>Free migration, lower pricing at scale, highlight MSP relationship</td></tr>
|
|
<tr><td>Pi hardware failure</td><td><span class="tag tag-amber">Medium</span></td><td><span class="tag tag-amber">Medium</span></td><td>Pre-flashed recovery SD cards, remote monitoring alerts</td></tr>
|
|
<tr><td>Content piracy concerns</td><td><span class="tag tag-green">Low</span></td><td>High</td><td>Tenant isolation, content watermarking, terms of service</td></tr>
|
|
<tr><td>Network downtime at customer site</td><td><span class="tag tag-amber">Medium</span></td><td><span class="tag tag-green">Low</span></td><td>Player caches current playlist locally, resumes on reconnect</td></tr>
|
|
<tr><td>Competitor price drop</td><td><span class="tag tag-green">Low</span></td><td><span class="tag tag-amber">Medium</span></td><td>Compete on service, not price. Custom HTML design is undefendable by template-based competitors</td></tr>
|
|
<tr><td>Scaling database (SQLite limits)</td><td><span class="tag tag-green">Low</span></td><td><span class="tag tag-amber">Medium</span></td><td>Migrate to PostgreSQL if tenant count exceeds 100</td></tr>
|
|
<tr><td>Customer churn</td><td><span class="tag tag-amber">Medium</span></td><td><span class="tag tag-amber">Medium</span></td><td>Annual contracts, sticky custom designs, bundled MSP services</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Key Risk: OptiSigns Retention</h3>
|
|
<p>The biggest risk is customer inertia. Businesses that already have OptiSigns working may not see a reason to switch. <strong>Mitigation:</strong> target pain points (cost at scale, support quality, desire for custom designs) and make migration zero-effort for the customer. ITPP handles everything.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- Financials -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="financials">
|
|
<h2>Financials</h2>
|
|
|
|
<div class="card">
|
|
<h3>Startup Costs</h3>
|
|
<table>
|
|
<tr><th>Item</th><th>Cost</th><th>Notes</th></tr>
|
|
<tr><td>Development (MVP)</td><td>$0</td><td>Built by ITPP in-house</td></tr>
|
|
<tr><td>netcup VPS (existing)</td><td>$0</td><td>Runs on current infrastructure</td></tr>
|
|
<tr><td>Domain + SSL</td><td>$0</td><td>Existing infrastructure</td></tr>
|
|
<tr><td>Test Pi 4 hardware</td><td>$75</td><td>One unit for development/testing</td></tr>
|
|
<tr><td style="font-weight:700">Total Startup</td><td style="font-weight:700">$75</td><td></td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>12-Month Revenue Projection</h3>
|
|
<p style="margin-bottom:12px">Assumptions: Start with 2 migrated OptiSigns customers (5 screens total). Add 1-2 customers per month. Average 2.5 screens per customer. One design service sale every other month. Player provisioning at $49/screen for new customers.</p>
|
|
<table>
|
|
<tr><th>Month</th><th>Customers</th><th>Screens</th><th>MRR</th><th>Design Fees</th><th>Provisioning</th><th>Total Revenue</th><th>Cumulative</th></tr>
|
|
<tr><td>1</td><td>2</td><td>5</td><td>$64.95</td><td>$0</td><td>$0</td><td>$64.95</td><td>$64.95</td></tr>
|
|
<tr><td>2</td><td>4</td><td>10</td><td>$129.90</td><td>$299</td><td>$245</td><td>$673.90</td><td>$738.85</td></tr>
|
|
<tr><td>3</td><td>5</td><td>12</td><td>$155.88</td><td>$0</td><td>$98</td><td>$253.88</td><td>$992.73</td></tr>
|
|
<tr><td>4</td><td>7</td><td>17</td><td>$220.83</td><td>$299</td><td>$245</td><td>$764.83</td><td>$1,757.56</td></tr>
|
|
<tr><td>5</td><td>8</td><td>20</td><td>$259.80</td><td>$0</td><td>$147</td><td>$406.80</td><td>$2,164.36</td></tr>
|
|
<tr><td>6</td><td>10</td><td>25</td><td>$324.75</td><td>$299</td><td>$245</td><td>$868.75</td><td>$3,033.11</td></tr>
|
|
<tr><td>7</td><td>12</td><td>30</td><td>$389.70</td><td>$0</td><td>$245</td><td>$634.70</td><td>$3,667.81</td></tr>
|
|
<tr><td>8</td><td>14</td><td>35</td><td>$454.65</td><td>$299</td><td>$245</td><td>$998.65</td><td>$4,666.46</td></tr>
|
|
<tr><td>9</td><td>16</td><td>40</td><td>$519.60</td><td>$0</td><td>$245</td><td>$764.60</td><td>$5,431.06</td></tr>
|
|
<tr><td>10</td><td>18</td><td>45</td><td>$584.55</td><td>$299</td><td>$245</td><td>$1,128.55</td><td>$6,559.61</td></tr>
|
|
<tr><td>11</td><td>20</td><td>50</td><td>$649.50</td><td>$0</td><td>$245</td><td>$894.50</td><td>$7,454.11</td></tr>
|
|
<tr><td>12</td><td>22</td><td>55</td><td>$714.45</td><td>$299</td><td>$245</td><td>$1,258.45</td><td>$8,712.56</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Key Metrics at Month 12</h3>
|
|
<table>
|
|
<tr><th>Metric</th><th>Value</th></tr>
|
|
<tr><td>Monthly Recurring Revenue (MRR)</td><td>$714.45</td></tr>
|
|
<tr><td>Annual Recurring Revenue (ARR)</td><td>$8,573.40</td></tr>
|
|
<tr><td>Total Year 1 Revenue</td><td>$8,712.56</td></tr>
|
|
<tr><td>Total Customers</td><td>22</td></tr>
|
|
<tr><td>Total Screens Deployed</td><td>55</td></tr>
|
|
<tr><td>Avg Revenue Per Screen/Month</td><td>$12.99</td></tr>
|
|
<tr><td>Avg Design Fees/Month</td><td>$199.33</td></tr>
|
|
<tr><td>Gross Margin (steady state)</td><td>>95%</td></tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ============================================================ -->
|
|
<!-- The Ask -->
|
|
<!-- ============================================================ -->
|
|
|
|
<div class="section" id="ask">
|
|
<h2>The Ask</h2>
|
|
|
|
<div class="card">
|
|
<h3>What We Need to Launch</h3>
|
|
<ol>
|
|
<li><strong>Development time: 2 weeks</strong> to build the MVP (backend API, customer portal, admin portal, Pi player scripts)</li>
|
|
<li><strong>One Raspberry Pi 4</strong> for development and testing ($75)</li>
|
|
<li><strong>Customer agreements:</strong> Identify 2-3 existing MSP customers currently on OptiSigns willing to pilot the migration</li>
|
|
<li><strong>Go decision:</strong> Authorization to begin development and cancel OptiSigns subscriptions upon successful migration</li>
|
|
</ol>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>Why Now</h3>
|
|
<ul>
|
|
<li>OptiSigns is recurring SaaS cost walking out the door every month</li>
|
|
<li>The platform can be built on existing infrastructure at near-zero incremental cost</li>
|
|
<li>Custom HTML menu board design is a genuine competitive moat that SaaS competitors cannot replicate</li>
|
|
<li>MSP customers already trust IT Pro Partner with their IT - signage is a natural extension</li>
|
|
<li>The digital signage market is large and growing, but the SMB segment is underserved by enterprise platforms</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h3>What Success Looks Like at 12 Months</h3>
|
|
<table>
|
|
<tr><th>Target</th><th>Metric</th></tr>
|
|
<tr><td>Customers</td><td>20+</td></tr>
|
|
<tr><td>Screens deployed</td><td>50+</td></tr>
|
|
<tr><td>Monthly recurring revenue</td><td>$700+</td></tr>
|
|
<tr><td>Gross margin</td><td>>95%</td></tr>
|
|
<tr><td>OptiSigns migrations</td><td>All former customers migrated</td></tr>
|
|
<tr><td>Design service revenue</td><td>$200+/month in one-time fees</td></tr>
|
|
</table>
|
|
</div>
|
|
|
|
<blockquote>
|
|
Cancel OptiSigns as soon as Phase 1 is live. The only value they add is the player app and the CMS UI - both of which we build once and own forever.
|
|
<br><br>
|
|
<em>- IT Pro Partner Product Division</em>
|
|
</blockquote>
|
|
</div>
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|