Select your tech stack below to get the exact code snippet ready to paste into your portfolio website.
<!-- ============================================== -->
<!-- MISE CULINARY PLATFORM — PORTFOLIO SHOWCASE CARD -->
<!-- Zero dependencies • Pure HTML & Modern CSS -->
<!-- Works in any static HTML, Webflow, or Hugo site -->
<!-- ============================================== -->
<style>
.mise-card {
position: relative;
max-width: 820px;
width: 100%;
margin: 0 auto;
background: #ffffff;
border: 1px solid #e4e4e7;
border-radius: 24px;
padding: 32px;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
overflow: hidden;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
color: #09090b;
box-sizing: border-box;
transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.mise-card *, .mise-card *::before, .mise-card *::after { box-sizing: border-box; }
.mise-card:hover {
border-color: rgba(5, 150, 105, 0.4);
box-shadow: 0 20px 35px -5px rgba(0, 0, 0, 0.08);
transform: translateY(-2px);
}
@media (prefers-color-scheme: dark) {
.mise-card {
background: #111113;
border-color: #27272a;
color: #f4f4f5;
box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.5);
}
}
.mise-glow-1 {
position: absolute; top: -80px; right: -80px; width: 240px; height: 240px;
border-radius: 50%; background: rgba(5, 150, 105, 0.1); filter: blur(50px); pointer-events: none;
}
.mise-glow-2 {
position: absolute; bottom: -80px; left: -80px; width: 240px; height: 240px;
border-radius: 50%; background: rgba(37, 99, 235, 0.1); filter: blur(50px); pointer-events: none;
}
.mise-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.mise-badge {
display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700;
padding: 4px 12px; border-radius: 9999px; background: rgba(5, 150, 105, 0.1);
border: 1px solid rgba(5, 150, 105, 0.25); color: #059669;
}
.mise-tags { display: flex; align-items: center; gap: 8px; }
.mise-tag {
font-size: 11px; font-family: ui-monospace, Menlo, monospace; font-weight: 600;
color: #71717a; background: rgba(120, 120, 120, 0.08); border: 1px solid #e4e4e7;
padding: 3px 8px; border-radius: 8px;
}
@media (prefers-color-scheme: dark) {
.mise-tag { border-color: #27272a; color: #a1a1aa; }
}
.mise-title { font-size: 24px; font-weight: 900; letter-spacing: -0.02em; margin: 0 0 8px 0; }
.mise-desc { font-size: 14px; line-height: 1.6; color: #71717a; margin: 0 0 20px 0; }
@media (prefers-color-scheme: dark) { .mise-desc { color: #a1a1aa; } }
.mise-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 20px 0; }
@media (max-width: 640px) { .mise-metrics { grid-template-columns: repeat(2, 1fr); } }
.mise-stat { padding: 12px 10px; border-radius: 12px; text-align: center; }
.mise-stat-emerald { background: rgba(5, 150, 105, 0.08); border: 1px solid rgba(5, 150, 105, 0.2); }
.mise-stat-blue { background: rgba(37, 99, 235, 0.08); border: 1px solid rgba(37, 99, 235, 0.2); }
.mise-stat-purple { background: rgba(147, 51, 234, 0.08); border: 1px solid rgba(147, 51, 234, 0.2); }
.mise-stat-amber { background: rgba(217, 119, 6, 0.08); border: 1px solid rgba(217, 119, 6, 0.2); }
.mise-stat-val { font-family: ui-monospace, Menlo, monospace; font-size: 17px; font-weight: 900; }
.mise-stat-emerald .mise-stat-val { color: #059669; }
.mise-stat-blue .mise-stat-val { color: #2563eb; }
.mise-stat-purple .mise-stat-val { color: #9333ea; }
.mise-stat-amber .mise-stat-val { color: #d97706; }
.mise-stat-lbl { font-size: 10px; font-weight: 700; text-transform: uppercase; color: #71717a; margin-top: 4px; }
.mise-features { border-top: 1px solid #e4e4e7; border-bottom: 1px solid #e4e4e7; padding: 16px 0; margin-bottom: 24px; display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #71717a; }
@media (prefers-color-scheme: dark) { .mise-features { border-color: #27272a; color: #a1a1aa; } }
.mise-features strong { color: #09090b; }
@media (prefers-color-scheme: dark) { .mise-features strong { color: #f4f4f5; } }
.mise-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.mise-btn { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; font-size: 12px; font-weight: 700; border-radius: 12px; text-decoration: none; transition: 0.2s; }
.mise-btn-primary { background: #059669; color: #fff; }
.mise-btn-primary:hover { background: #047857; }
.mise-btn-secondary { background: rgba(37, 99, 235, 0.1); border: 1px solid rgba(37, 99, 235, 0.25); color: #2563eb; }
.mise-btn-secondary:hover { background: rgba(37, 99, 235, 0.2); }
.mise-btn-ghost { background: rgba(120, 120, 120, 0.08); border: 1px solid #e4e4e7; color: inherit; }
@media (prefers-color-scheme: dark) { .mise-btn-ghost { border-color: #27272a; } }
.mise-btn-ghost:hover { background: rgba(120, 120, 120, 0.15); }
</style>
<article class="mise-card" aria-label="Mise Platform Showcase">
<div class="mise-glow-1" aria-hidden="true"></div>
<div class="mise-glow-2" aria-hidden="true"></div>
<div style="position: relative; z-index: 2;">
<div class="mise-header">
<div class="mise-badge">✨ Production Edge Architecture</div>
<div class="mise-tags">
<span class="mise-tag">Cloudflare Pages</span>
<span class="mise-tag">Next.js 16 SSG</span>
</div>
</div>
<h3 class="mise-title">Mise — Precision Culinary Platform</h3>
<p class="mise-desc">
A zero-runtime static culinary intelligence platform engineered for edge delivery.
Features client-side fractional arithmetic, Screen Wake Lock, Web Audio chime synthesis,
and deterministic agentic discoverability for professional home cooks.
</p>
<div class="mise-metrics">
<div class="mise-stat mise-stat-emerald">
<div class="mise-stat-val">100/100</div>
<div class="mise-stat-lbl">Core Web Vitals</div>
</div>
<div class="mise-stat mise-stat-blue">
<div class="mise-stat-val">0 MB</div>
<div class="mise-stat-lbl">Server Runtime</div>
</div>
<div class="mise-stat mise-stat-purple">
<div class="mise-stat-val">W3C</div>
<div class="mise-stat-lbl">Wake Lock & Audio</div>
</div>
<div class="mise-stat mise-stat-amber">
<div class="mise-stat-val">4/4</div>
<div class="mise-stat-lbl">Agentic Spec</div>
</div>
</div>
<div class="mise-features">
<div>✔ <strong>Reactive Culinary Mathematics:</strong> Real-time float-to-fraction bucketing and Metric/Imperial sync.</div>
<div>✔ <strong>Hands-Free Cook Mode:</strong> Mobile Screen Wake Lock lifecycle with Web Audio alerts.</div>
<div>✔ <strong>Relational Pantry Lemmatization:</strong> Instant ingredient overlap matching and scaling.</div>
</div>
<div class="mise-actions">
<a href="https://mise-d2m.pages.dev" target="_blank" rel="noopener noreferrer" class="mise-btn mise-btn-primary">
Launch Live App ↗
</a>
<a href="https://mise-d2m.pages.dev/case-study/" target="_blank" rel="noopener noreferrer" class="mise-btn mise-btn-secondary">
Inspect Case Study
</a>
<a href="https://github.com/philh4420/Mise" target="_blank" rel="noopener noreferrer" class="mise-btn mise-btn-ghost">
View Source Code
</a>
</div>
</div>
</article>