kiedis-roadmap-deck/index.html

670 lines
24 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>KIEDIS — Post-MVP Roadmap</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4.6.0/dist/reveal.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4.6.0/dist/theme/black.css">
<style>
:root {
--kiedis-purple: #7C3AED;
--kiedis-purple-light: #A78BFA;
--kiedis-teal: #0D9488;
--kiedis-teal-light: #5EEAD4;
--kiedis-amber: #D97706;
--kiedis-amber-light: #FCD34D;
--kiedis-rose: #E11D48;
--kiedis-rose-light: #FDA4AF;
--kiedis-slate: #1E293B;
--kiedis-slate-mid: #334155;
}
.reveal { font-family: 'Inter', 'Segoe UI', sans-serif; }
.reveal h1, .reveal h2, .reveal h3 {
font-weight: 700;
letter-spacing: -0.02em;
text-transform: none;
}
.reveal section { text-align: left; }
/* Slide: Title */
.slide-title {
background: linear-gradient(135deg, #1E1B4B 0%, #312E81 40%, #1E293B 100%);
height: 100vh;
}
.slide-title .kicker {
font-size: 0.85rem;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--kiedis-purple-light);
margin-bottom: 1rem;
}
.slide-title h1 {
font-size: 3.2rem;
color: #fff;
margin: 0 0 0.5rem;
}
.slide-title .subtitle {
font-size: 1.3rem;
color: #94A3B8;
margin-bottom: 2.5rem;
}
.slide-title .meta {
display: flex;
gap: 2rem;
font-size: 0.85rem;
color: #64748B;
}
.slide-title .meta span { color: var(--kiedis-purple-light); }
/* Cards */
.card-grid {
display: grid;
gap: 1rem;
margin-top: 1.5rem;
}
.card-grid-2 { grid-template-columns: 1fr 1fr; }
.card-grid-4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.card {
background: #1E293B;
border-radius: 12px;
padding: 1.2rem 1.4rem;
border-left: 4px solid var(--kiedis-purple);
}
.card.teal { border-left-color: var(--kiedis-teal); }
.card.amber { border-left-color: var(--kiedis-amber); }
.card.rose { border-left-color: var(--kiedis-rose); }
.card.purple { border-left-color: var(--kiedis-purple); }
.card h3 {
font-size: 1rem;
margin: 0 0 0.4rem;
color: #F1F5F9;
}
.card p {
font-size: 0.78rem;
color: #94A3B8;
margin: 0;
line-height: 1.5;
}
.card .tag {
display: inline-block;
font-size: 0.65rem;
padding: 2px 8px;
border-radius: 9999px;
margin-bottom: 0.5rem;
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.tag-purple { background: #4C1D95; color: var(--kiedis-purple-light); }
.tag-teal { background: #134E4A; color: var(--kiedis-teal-light); }
.tag-amber { background: #451A03; color: var(--kiedis-amber-light); }
.tag-rose { background: #4C0519; color: var(--kiedis-rose-light); }
/* Section header */
.section-header {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1.5rem;
}
.section-header .icon {
font-size: 1.8rem;
line-height: 1;
}
.section-header h2 {
font-size: 1.8rem;
color: #fff;
margin: 0;
}
.section-header .desc {
font-size: 0.9rem;
color: #94A3B8;
margin: 0;
}
/* Status bar */
.status-bar {
display: flex;
gap: 1.5rem;
background: #0F172A;
border-radius: 12px;
padding: 1rem 1.5rem;
margin-bottom: 1.5rem;
}
.stat { text-align: center; }
.stat .number { font-size: 2rem; font-weight: 700; color: var(--kiedis-purple-light); }
.stat .label { font-size: 0.75rem; color: #64748B; }
/* Timeline */
.timeline { margin-top: 1rem; }
.tl-phase { margin-bottom: 1.2rem; }
.tl-label {
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #64748B;
margin-bottom: 0.4rem;
}
.tl-bar {
display: flex;
gap: 0.4rem;
align-items: center;
}
.tl-item {
border-radius: 6px;
padding: 0.35rem 0.75rem;
font-size: 0.75rem;
font-weight: 600;
color: #fff;
white-space: nowrap;
}
.tl-item.purple { background: var(--kiedis-purple); }
.tl-item.teal { background: var(--kiedis-teal); }
.tl-item.amber { background: var(--kiedis-amber); }
.tl-item.rose { background: var(--kiedis-rose); }
.tl-item.gray { background: #334155; }
/* Feature list */
.feature-list { list-style: none; padding: 0; margin: 0; }
.feature-list li {
display: flex;
align-items: flex-start;
gap: 0.75rem;
padding: 0.6rem 0;
border-bottom: 1px solid #1E293B;
font-size: 0.88rem;
color: #CBD5E1;
}
.feature-list li:last-child { border-bottom: none; }
.feature-list .bullet {
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--kiedis-purple-light);
margin-top: 0.4rem;
flex-shrink: 0;
}
.feature-list .bullet.teal { background: var(--kiedis-teal-light); }
.feature-list .bullet.amber { background: var(--kiedis-amber-light); }
.feature-list .bullet.rose { background: var(--kiedis-rose-light); }
/* Quote */
.big-quote {
font-size: 1.6rem;
font-weight: 700;
color: #fff;
border-left: 4px solid var(--kiedis-purple);
padding-left: 1.2rem;
margin: 1.5rem 0;
line-height: 1.4;
}
/* Next steps */
.next-step {
display: flex;
align-items: center;
gap: 1rem;
padding: 0.8rem 1rem;
background: #1E293B;
border-radius: 10px;
margin-bottom: 0.6rem;
}
.next-step .num {
width: 32px;
height: 32px;
border-radius: 50%;
background: var(--kiedis-purple);
display: flex;
align-items: center;
justify-content: center;
font-size: 0.85rem;
font-weight: 700;
flex-shrink: 0;
}
.next-step .text { font-size: 0.9rem; color: #CBD5E1; }
.next-step .text strong { color: #fff; }
/* Footer */
.slide-footer {
position: absolute;
bottom: 1.2rem;
left: 2rem;
right: 2rem;
display: flex;
justify-content: space-between;
font-size: 0.65rem;
color: #334155;
border-top: 1px solid #1E293B;
padding-top: 0.6rem;
}
/* Quadrant */
.quadrant {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 0.8rem;
margin-top: 1rem;
height: 70vh;
}
.quadrant-cell {
background: #1E293B;
border-radius: 12px;
padding: 1rem;
position: relative;
}
.quadrant-cell .q-label {
font-size: 0.65rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #64748B;
margin-bottom: 0.5rem;
}
.quadrant-cell .q-items { font-size: 0.78rem; color: #CBD5E1; line-height: 1.8; }
.quadrant-cell.top-right { border: 1px solid var(--kiedis-purple); }
.reveal .slide-bg { background: #0F172A; }
/* Overrides */
.reveal h2 { font-size: 1.8rem; color: #fff; }
.reveal p { color: #94A3B8; font-size: 0.9rem; }
.reveal .slides section { padding: 2rem 2.5rem; }
</style>
</head>
<body>
<div class="reveal">
<div class="slides">
<!-- SLIDE 1: TITLE -->
<section data-background="#0F172A">
<div class="slide-title">
<div class="kicker">Codepan GmbH · Confidential</div>
<h1>KIEDIS<br>Post-MVP Roadmap</h1>
<div class="subtitle">Strategic Feature Plan · Q1Q3 2026</div>
<div class="meta">
Prepared for <span>Jens & Kristine</span> &nbsp;·&nbsp; February 2026 &nbsp;·&nbsp; Mariusz Kreeft
</div>
</div>
</section>
<!-- SLIDE 2: WHERE WE ARE -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon"></div>
<div>
<h2>MVP is live.</h2>
<p class="desc">Here's where we stand before moving to the next phase.</p>
</div>
</div>
<div class="card-grid card-grid-4">
<div class="card teal">
<div class="tag tag-teal">Done</div>
<h3>Taskforce Migration</h3>
<p>Freelancer profiles imported, AI-enhanced and onboarded to KIEDIS</p>
</div>
<div class="card teal">
<div class="tag tag-teal">Done</div>
<h3>AI Search</h3>
<p>Semantic + structured dual-query search with match explanations live</p>
</div>
<div class="card teal">
<div class="tag tag-teal">Done</div>
<h3>Interview Flow</h3>
<p>Client can invite, schedule and manage interviews with freelancers</p>
</div>
<div class="card amber">
<div class="tag tag-amber">Sprint 1</div>
<h3>Profile Quality</h3>
<p>PostHog tracking, AGB fix, date issues, import quality improvements</p>
</div>
</div>
<div class="big-quote" style="margin-top:1.5rem; font-size:1.1rem;">
"The core loop works: post a brief → find a match → invite to interview.<br>
Now we build the layer that turns matches into hires."
</div>
</section>
<!-- SLIDE 3: THE GAP -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">🎯</div>
<div>
<h2>The opportunity gap</h2>
<p class="desc">What's missing between a match and a completed hire.</p>
</div>
</div>
<div class="card-grid card-grid-2" style="margin-top:1.5rem;">
<div>
<div style="font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:#64748B; margin-bottom:0.8rem;">Today</div>
<ul class="feature-list">
<li><span class="bullet rose"></span>After interview invite — communication goes off-platform (email, WhatsApp)</li>
<li><span class="bullet rose"></span>No in-platform contracting — manual docs & signatures</li>
<li><span class="bullet rose"></span>Operators lack admin tooling — everything via workarounds</li>
<li><span class="bullet rose"></span>No structured reporting for clients</li>
<li><span class="bullet rose"></span>Growth is inbound only — no outbound acquisition engine</li>
</ul>
</div>
<div>
<div style="font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:#64748B; margin-bottom:0.8rem;">Post-MVP Vision</div>
<ul class="feature-list">
<li><span class="bullet teal"></span>All deal communication inside KIEDIS — one thread per hire</li>
<li><span class="bullet teal"></span>End-to-end contracting: offer → sign → kickoff in platform</li>
<li><span class="bullet teal"></span>Full operator admin panel + client self-service control panel</li>
<li><span class="bullet teal"></span>Client reporting dashboards — funnel metrics, exportable</li>
<li><span class="bullet teal"></span>AI-powered LinkedIn outbound — autonomous talent sourcing</li>
</ul>
</div>
</div>
</section>
<!-- SLIDE 4: 4 THEMES -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">🗺</div>
<div>
<h2>Four strategic themes</h2>
<p class="desc">11 epics grouped into a clear delivery sequence.</p>
</div>
</div>
<div class="card-grid card-grid-2">
<div class="card purple">
<div class="tag tag-purple">March 2026</div>
<h3>🚀 Quick Wins</h3>
<p>PDF Export · Bug Tracking SLA<br>High value, low effort. Ship fast to build confidence.</p>
</div>
<div class="card teal">
<div class="tag tag-teal">March April</div>
<h3>🏗 Platform & Ops</h3>
<p>Full Admin Interface · Reporting Dashboard · Onboarding Revamp<br>The operational backbone clients and operators need.</p>
</div>
<div class="card amber">
<div class="tag tag-amber">April May</div>
<h3>💬 ClientFreelancer Experience</h3>
<p>Messaging System · Contracting Flow · Dual-Role Accounts<br>Close the loop from match to signed contract.</p>
</div>
<div class="card rose">
<div class="tag tag-rose">May July</div>
<h3>🤖 AI & Growth</h3>
<p>AI Pricing Intelligence · Fraud Detection · LinkedIn Talent Agent<br>Scale with intelligence — acquire, qualify, price.</p>
</div>
</div>
</section>
<!-- SLIDE 5: QUICK WINS -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">🚀</div>
<div>
<h2>Theme 1 — Quick Wins</h2>
<p class="desc">High-impact, low-complexity. Ready to ship in March.</p>
</div>
</div>
<div class="card-grid card-grid-2">
<div class="card purple" style="padding: 1.5rem;">
<div class="tag tag-purple">1 week</div>
<h3 style="font-size:1.1rem; margin-bottom:0.6rem;">📄 PDF Export</h3>
<ul class="feature-list">
<li><span class="bullet"></span>Every published freelancer profile gets a public UUID-based URL</li>
<li><span class="bullet"></span>Browser print-to-PDF with clean CSS print rules</li>
<li><span class="bullet"></span>If viewed by logged-in client: link back to originating Job Description</li>
<li><span class="bullet"></span>Inspired by Sentry sharing pattern</li>
</ul>
<div style="margin-top:1rem; font-size:0.75rem; color:#7C3AED;">Christine has been requesting this since Nov 2025.</div>
</div>
<div class="card teal" style="padding: 1.5rem;">
<div class="tag tag-teal">2 weeks</div>
<h3 style="font-size:1.1rem; margin-bottom:0.6rem;">🐛 Bug Tracking & SLA Process</h3>
<ul class="feature-list">
<li><span class="bullet teal"></span>Single intake: all bugs → GitHub Issues with enforced template</li>
<li><span class="bullet teal"></span>P0: 4h response / 24h fix · P1: 1 day / 1 week</li>
<li><span class="bullet teal"></span>Client-visible status: Reported → In Progress → Fixed → Verified</li>
<li><span class="bullet teal"></span>Weekly digest to stakeholders</li>
</ul>
<div style="margin-top:1rem; font-size:0.75rem; color:#0D9488;">Builds client trust and operational maturity.</div>
</div>
</div>
</section>
<!-- SLIDE 6: PLATFORM & OPS -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">🏗</div>
<div>
<h2>Theme 2 — Platform & Ops</h2>
<p class="desc">The operational backbone. March April.</p>
</div>
</div>
<div class="card-grid" style="grid-template-columns: 1fr 1fr 1fr; margin-top:1rem;">
<div class="card teal">
<div class="tag tag-teal">5 weeks</div>
<h3>Full Admin Interface</h3>
<p>User management, migration monitoring, platform config, SLA tracker, bug triage. Replaces all ad-hoc admin access.</p>
</div>
<div class="card teal">
<div class="tag tag-teal">3 weeks</div>
<h3>Customer Control Panel</h3>
<p>Client self-service: talent pool overview, funnel analytics, JD management, team access. Exportable reports.</p>
</div>
<div class="card teal">
<div class="tag tag-teal">4 weeks</div>
<h3>Onboarding Revamp</h3>
<p>Progress bar, step deep-links for CRM re-engagement, mobile-first layout, skip/validation logic. Target: 70%+ completion rate.</p>
</div>
</div>
<div style="margin-top:1.2rem; padding: 0.8rem 1rem; background:#0F172A; border-radius:8px; font-size:0.8rem; color:#64748B; border:1px solid #1E293B;">
📊 <strong style="color:#94A3B8;">Reporting Dashboard</strong> — Structured funnel reports (search → shortlist → invite → hire), CSV + PDF export, per-client analytics. Ships alongside Admin Interface.
</div>
</section>
<!-- SLIDE 7: CLIENT EXPERIENCE -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">💬</div>
<div>
<h2>Theme 3 — ClientFreelancer Experience</h2>
<p class="desc">Close the loop from match to signed contract. April May.</p>
</div>
</div>
<div class="card-grid card-grid-2" style="margin-bottom:0.8rem;">
<div class="card amber">
<div class="tag tag-amber">4 weeks</div>
<h3>Messaging System</h3>
<p>Native in-platform threads triggered at interview invite. System messages auto-inserted (offer sent, interview scheduled). File attachments. Linked to Job Description. PCL read-only access.</p>
</div>
<div class="card amber">
<div class="tag tag-amber">5 weeks</div>
<h3>Contracting Flow</h3>
<p>Offer creation → freelancer review → negotiation rounds → auto-generated PDF contract → in-platform e-signature → project kickoff shell.</p>
</div>
</div>
<div class="card amber" style="padding:1rem 1.4rem;">
<div class="tag tag-amber">3 weeks · Sprint 3</div>
<h3 style="font-size:0.95rem; margin-bottom:0.3rem;">Dual-Role Accounts (Airbnb-style)</h3>
<p>Single account switchable between Client and Freelancer mode. Separate profile contexts, scoped notifications, no self-matching.</p>
</div>
</section>
<!-- SLIDE 8: AI & GROWTH -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">🤖</div>
<div>
<h2>Theme 4 — AI & Growth</h2>
<p class="desc">Scale with intelligence. May July.</p>
</div>
</div>
<div class="card-grid" style="grid-template-columns: 1fr 1fr 1fr;">
<div class="card rose">
<div class="tag tag-rose">5 weeks</div>
<h3>LinkedIn Acquisition &<br>Talent Seeker Agent</h3>
<p>Automated LinkedIn freelancer + client discovery. Agentic loop: JD in → ranked candidates out. AI Job Post Assistant v2 with LinkedIn cross-posting.</p>
</div>
<div class="card rose">
<div class="tag tag-rose">4 weeks</div>
<h3>AI Pricing Intelligence</h3>
<p>Rate benchmarking for freelancers. Budget guidance for clients. Fee transparency at offer stage. "Expand budget to see 12 more matches" nudges.</p>
</div>
<div class="card rose">
<div class="tag tag-rose">4 weeks</div>
<h3>Fraud Detection &<br>AI Vetting</h3>
<p>Rule-based phase 1: duplicates, date anomalies, inflated CVs. Phase 2: LLM cross-check. Internal trust score. Zero fraudulent profiles reaching client shortlist.</p>
</div>
</div>
</section>
<!-- SLIDE 9: ROADMAP TIMELINE -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">📅</div>
<div>
<h2>Roadmap Timeline</h2>
<p class="desc">Q1Q3 2026</p>
</div>
</div>
<div class="timeline">
<div style="display:grid; grid-template-columns: 80px 1fr 1fr 1fr; gap:0.5rem; margin-bottom:0.5rem; font-size:0.65rem; color:#64748B; text-transform:uppercase; letter-spacing:0.08em;">
<div></div><div>March</div><div>April May</div><div>June July</div>
</div>
<div class="tl-phase">
<div class="tl-label">🚀 Quick Wins</div>
<div class="tl-bar">
<div class="tl-item purple" style="width:15%;">PDF Export</div>
<div class="tl-item purple" style="width:20%;">Bug SLA Process</div>
</div>
</div>
<div class="tl-phase">
<div class="tl-label">🏗 Platform & Ops</div>
<div class="tl-bar">
<div class="tl-item gray" style="width:10%;"></div>
<div class="tl-item teal" style="width:25%;">Onboarding Revamp</div>
<div class="tl-item teal" style="width:35%;">Admin Interface + Reporting</div>
</div>
</div>
<div class="tl-phase">
<div class="tl-label">💬 ClientFreelancer</div>
<div class="tl-bar">
<div class="tl-item gray" style="width:15%;"></div>
<div class="tl-item amber" style="width:25%;">Messaging System</div>
<div class="tl-item amber" style="width:25%;">Contracting Flow</div>
<div class="tl-item amber" style="width:20%;">Dual-Role</div>
</div>
</div>
<div class="tl-phase">
<div class="tl-label">🤖 AI & Growth</div>
<div class="tl-bar">
<div class="tl-item gray" style="width:30%;"></div>
<div class="tl-item rose" style="width:30%;">LinkedIn Agent</div>
<div class="tl-item rose" style="width:25%;">AI Pricing + Fraud</div>
</div>
</div>
</div>
<div style="margin-top:1rem; display:flex; gap:1rem; font-size:0.7rem; color:#475569;">
<span>● All timelines are estimates. Exact sprint allocation to be confirmed in planning.</span>
</div>
</section>
<!-- SLIDE 10: INVESTMENT -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon"></div>
<div>
<h2>What this takes</h2>
<p class="desc">Resource requirements and key dependencies.</p>
</div>
</div>
<div class="card-grid card-grid-2">
<div>
<div style="font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:#64748B; margin-bottom:0.8rem;">Capacity</div>
<ul class="feature-list">
<li><span class="bullet"></span><strong style="color:#fff;">Backend (Edouard):</strong> Messaging, Contracting, Admin API — heaviest lift</li>
<li><span class="bullet"></span><strong style="color:#fff;">Frontend (Jo):</strong> Admin UI, Onboarding, Messaging threads</li>
<li><span class="bullet"></span><strong style="color:#fff;">AI/ML:</strong> Pricing intelligence, Fraud detection, LinkedIn agent — needs dedicated focus Q2</li>
<li><span class="bullet"></span><strong style="color:#fff;">Design:</strong> Messaging UX, Contracting flow, Admin IA — design sprints needed</li>
</ul>
</div>
<div>
<div style="font-size:0.75rem; text-transform:uppercase; letter-spacing:0.1em; color:#64748B; margin-bottom:0.8rem;">Key Dependencies & Risks</div>
<ul class="feature-list">
<li><span class="bullet rose"></span>LinkedIn API/scraping compliance — needs legal review before build</li>
<li><span class="bullet rose"></span>E-signature provider selection (DocuSign / HelloSign) for Contracting Flow</li>
<li><span class="bullet amber"></span>Messaging System is a prerequisite for Contracting Flow</li>
<li><span class="bullet amber"></span>Admin Interface scope may expand — needs product spec before dev start</li>
<li><span class="bullet teal"></span>PostHog already set up — Reporting Dashboard can start quickly</li>
</ul>
</div>
</div>
</section>
<!-- SLIDE 11: NEXT STEPS -->
<section data-background="#0F172A">
<div class="section-header">
<div class="icon">🏁</div>
<div>
<h2>Next steps</h2>
<p class="desc">What needs to happen to kick off Post-MVP.</p>
</div>
</div>
<div style="margin-top:1.5rem;">
<div class="next-step">
<div class="num">1</div>
<div class="text"><strong>Confirm priority sequencing</strong> — Align on which Quick Wins ship in Sprint 2 vs. Sprint 3. Does PDF Export beat Messaging, or vice versa?</div>
</div>
<div class="next-step">
<div class="num">2</div>
<div class="text"><strong>Spec Admin Interface</strong> — Mariusz + Jens: 1h session to define operator vs. client panel scope before Edouard starts.</div>
</div>
<div class="next-step">
<div class="num">3</div>
<div class="text"><strong>LinkedIn legal check</strong> — Before building the Talent Seeker Agent: confirm ToS compliance approach with counsel.</div>
</div>
<div class="next-step">
<div class="num">4</div>
<div class="text"><strong>E-signature provider decision</strong> — Needed to scope Contracting Flow. DocuSign vs. HelloSign vs. in-house. Decision needed by end of March.</div>
</div>
<div class="next-step">
<div class="num">5</div>
<div class="text"><strong>Sprint 2 planning</strong> — Schedule planning session week of March 3rd. All Post-MVP epics are now tracked in GitHub Projects.</div>
</div>
</div>
</section>
<!-- SLIDE 12: CLOSING -->
<section data-background="linear-gradient(135deg, #1E1B4B 0%, #312E81 40%, #1E293B 100%)">
<div style="display:flex; flex-direction:column; justify-content:center; height:80vh; text-align:center; align-items:center;">
<div style="font-size:3rem; margin-bottom:1rem;">🚀</div>
<h1 style="font-size:2.5rem; color:#fff; margin-bottom:0.5rem;">From matching tool<br>to hiring platform.</h1>
<p style="font-size:1.1rem; color:#94A3B8; margin-bottom:2.5rem;">KIEDIS Post-MVP · Q1Q3 2026</p>
<div style="font-size:0.85rem; color:#64748B;">
Full ticket definitions: github.com/orgs/Codepan-GmbH/projects/12<br>
Questions: mariusz@codepan.de
</div>
</div>
</section>
</div><!-- .slides -->
</div><!-- .reveal -->
<script src="https://cdn.jsdelivr.net/npm/reveal.js@4.6.0/dist/reveal.js"></script>
<script>
Reveal.initialize({
hash: true,
transition: 'fade',
transitionSpeed: 'fast',
controls: true,
progress: true,
slideNumber: true,
width: 1280,
height: 720,
margin: 0,
});
</script>
</body>
</html>