Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion servers/fastapi/constants/presentation.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
DEFAULT_TEMPLATES = ["general", "modern", "standard", "swift", "professional-pitch", "educational-science", "educational-social-science", "tech-ai-red"]
DEFAULT_TEMPLATES = ["general", "modern", "standard", "swift", "professional-pitch", "educational-science", "educational-social-science", "tech-ai-red", "dark-space", "minimalist-mono"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-agenda";
export const layoutName = "Dark Space Agenda";
export const layoutDescription = "Simple agenda layout with text focus and subtle geometric accents.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Agenda"),
items: z.array(z.string().min(5).max(90)).max(7).default([
"Current AI landscape",
"System architecture",
"Performance and reliability",
"Risk and governance",
"Roadmap and next steps",
]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceAgendaLayout({ data }: { data: Partial<SchemaType> }) {
const items = data.items ?? [];
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#05070D", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<div className="absolute inset-y-0 left-0 w-[3px]" style={{ background: "#EF4444" }} />
<h1 className="text-5xl font-bold text-white">{data.title}</h1>
<div className="mt-8 space-y-3 max-w-4xl">
{items.map((it, i) => (
<div key={i} className="flex items-start gap-3 border border-slate-800 px-4 py-3 rounded-sm">
<span className="text-red-400 font-semibold">{String(i + 1).padStart(2, "0")}</span>
<p className="text-lg text-slate-200">{it}</p>
</div>
))}
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-architecture";
export const layoutName = "Dark Space Architecture";
export const layoutDescription = "Architecture layout for AI platform components in a low-radius dark visual style.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Reference Architecture"),
layers: z.array(z.object({ name: z.string().min(3).max(40), details: z.string().min(20).max(120) })).max(5).default([
{ name: "Data Layer", details: "Collection, validation, labeling, and storage services." },
{ name: "Model Layer", details: "Training, evaluation, registry, and experimentation." },
{ name: "Serving Layer", details: "Inference APIs, caching, routing, and monitoring." },
]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceArchitectureLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#04060C", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<h1 className="text-4xl font-bold text-white">{data.title}</h1>
<div className="mt-7 space-y-3 max-w-5xl">
{(data.layers ?? []).map((l, i) => (
<div key={i} className="grid grid-cols-[170px_1fr] gap-4 border border-slate-800 rounded-sm p-4 bg-[#0A0F19]">
<p className="font-semibold text-red-400">{l.name}</p>
<p className="text-sm leading-6 text-slate-300">{l.details}</p>
</div>
))}
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-closing";
export const layoutName = "Dark Space Closing";
export const layoutDescription = "Final call-to-action slide in dark style with strong red emphasis.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Let’s Build It"),
message: z.string().min(20).max(220).default("Ready to move from prototype to production with a scalable AI platform?"),
cta: z.string().min(6).max(80).default("Next: Technical Discovery Workshop"),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceClosingLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-14 flex flex-col justify-center"
style={{ background: "#05070D", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<div className="absolute bottom-0 left-0 h-[4px] w-full" style={{ background: "linear-gradient(90deg,#7F1D1D,#EF4444)" }} />
<h1 className="text-6xl font-bold text-white max-w-4xl">{data.title}</h1>
<p className="text-xl leading-8 mt-5 max-w-4xl text-slate-300">{data.message}</p>
<div className="mt-8 inline-block border border-red-500 rounded-sm px-5 py-3 text-red-300 text-lg font-semibold w-fit">{data.cta}</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-comparison";
export const layoutName = "Dark Space Comparison";
export const layoutDescription = "Two-column comparison for model options or platform alternatives.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Model Option Comparison"),
leftTitle: z.string().min(3).max(30).default("Option A"),
rightTitle: z.string().min(3).max(30).default("Option B"),
leftPoints: z.array(z.string().min(6).max(90)).max(5).default(["Lower latency", "Simpler stack", "Lower maintenance"]),
rightPoints: z.array(z.string().min(6).max(90)).max(5).default(["Higher accuracy", "Richer outputs", "Higher compute demand"]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceComparisonLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#05070D", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<h1 className="text-4xl font-bold text-white">{data.title}</h1>
<div className="grid grid-cols-2 gap-4 mt-7">
<section className="border border-slate-800 rounded-sm p-5 bg-[#0A0E16]"><h2 className="text-xl font-semibold text-red-400">{data.leftTitle}</h2><ul className="mt-3 space-y-2 text-slate-300 text-sm">{(data.leftPoints ?? []).map((p, i) => <li key={i}>• {p}</li>)}</ul></section>
<section className="border border-slate-800 rounded-sm p-5 bg-[#0A0E16]"><h2 className="text-xl font-semibold text-red-400">{data.rightTitle}</h2><ul className="mt-3 space-y-2 text-slate-300 text-sm">{(data.rightPoints ?? []).map((p, i) => <li key={i}>• {p}</li>)}</ul></section>
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-concepts";
export const layoutName = "Dark Space Concepts";
export const layoutDescription = "Text-heavy concept explanation layout with clean dark styling.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Core AI Concepts"),
description: z.string().min(60).max(420).default("Modern AI systems combine data pipelines, model training loops, inference services, and observability controls to produce reliable and measurable outcomes."),
points: z.array(z.object({ heading: z.string().min(4).max(40), detail: z.string().min(20).max(140) })).max(4).default([
{ heading: "Data Quality", detail: "Model outcomes depend strongly on representative, clean, and well-labeled data." },
{ heading: "Serving", detail: "Inference pipelines require low latency and stable throughput under load." },
{ heading: "Evaluation", detail: "Offline and online evaluation help detect regressions early." },
]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceConceptLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#060910", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<h1 className="text-4xl font-bold text-white">{data.title}</h1>
<p className="mt-4 text-lg leading-8 text-slate-300 max-w-5xl">{data.description}</p>
<div className="grid grid-cols-2 gap-4 mt-8">
{(data.points ?? []).map((p, i) => (
<div key={i} className="border border-slate-800 rounded-sm p-4 bg-[#0B101A]">
<h3 className="text-xl font-semibold text-red-400">{p.heading}</h3>
<p className="text-sm leading-6 text-slate-300 mt-1">{p.detail}</p>
</div>
))}
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-intro";
export const layoutName = "Dark Space Intro";
export const layoutDescription = "Clean dark opener with red accent and minimal edge rounding.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("AI Systems for Real-World Impact"),
subtitle: z.string().min(10).max(140).default("Designing reliable, scalable, and responsible intelligence platforms."),
context: z.string().min(30).max(280).default("This presentation explores architecture, performance, governance, and implementation strategy for modern AI systems."),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceIntroLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-14"
style={{ background: "#06080F", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<div className="absolute top-0 left-0 h-[4px] w-full" style={{ background: "linear-gradient(90deg,#EF4444,#991B1B)" }} />
<div className="absolute -right-24 -top-24 w-72 h-72 border opacity-20" style={{ borderColor: "#EF4444" }} />
<p className="text-sm uppercase tracking-[0.16em] font-semibold" style={{ color: "#F87171" }}>Dark Space Theme</p>
<h1 className="text-6xl leading-[1.06] font-bold mt-4 max-w-5xl text-white">{data.title}</h1>
<p className="text-xl leading-8 mt-5 max-w-4xl text-slate-300">{data.subtitle}</p>
<p className="text-base leading-7 mt-7 max-w-4xl text-slate-400">{data.context}</p>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-metrics";
export const layoutName = "Dark Space Metrics";
export const layoutDescription = "KPI snapshot layout for AI performance, reliability, and efficiency metrics.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Performance Snapshot"),
metrics: z.array(z.object({ label: z.string().min(3).max(30), value: z.string().min(1).max(14), note: z.string().min(10).max(80) })).max(6).default([
{ label: "Latency", value: "92ms", note: "P95 inference response time" },
{ label: "Uptime", value: "99.97%", note: "Service availability" },
{ label: "Accuracy", value: "94.2%", note: "Validated benchmark score" },
{ label: "Cost / 1K", value: "$0.12", note: "Inference compute cost" },
]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceMetricsLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#05070E", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<h1 className="text-4xl font-bold text-white">{data.title}</h1>
<div className="grid grid-cols-3 gap-4 mt-8">
{(data.metrics ?? []).map((m, i) => (
<div key={i} className="border border-slate-800 rounded-sm p-4 bg-[#0A0E17]">
<p className="text-sm text-slate-400">{m.label}</p>
<p className="text-3xl font-bold mt-1 text-red-400">{m.value}</p>
<p className="text-xs mt-2 text-slate-400">{m.note}</p>
</div>
))}
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-team";
export const layoutName = "Dark Space Team";
export const layoutDescription = "Minimal team layout with low-radius cards in dark mode.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Core Team"),
members: z.array(z.object({ name: z.string().min(3).max(30), role: z.string().min(3).max(40), summary: z.string().min(10).max(100) })).max(4).default([
{ name: "Alex Carter", role: "AI Lead", summary: "Leads model strategy and system design." },
{ name: "Riya Shah", role: "ML Engineer", summary: "Builds and optimizes training and inference pipelines." },
{ name: "Noah Kim", role: "Platform Engineer", summary: "Owns serving reliability and observability stack." },
]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceTeamLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#06080F", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<h1 className="text-4xl font-bold text-white">{data.title}</h1>
<div className="grid grid-cols-3 gap-4 mt-8">
{(data.members ?? []).map((m, i) => (
<div key={i} className="border border-slate-800 rounded-sm p-4 bg-[#0B1019]">
<p className="text-lg font-semibold text-white">{m.name}</p>
<p className="text-sm text-red-400 mt-1">{m.role}</p>
<p className="text-sm leading-6 text-slate-300 mt-3">{m.summary}</p>
</div>
))}
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-timeline";
export const layoutName = "Dark Space Timeline";
export const layoutDescription = "Milestone timeline in dark-space style with minimal rounding and high contrast text.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("Implementation Timeline"),
items: z.array(z.object({ phase: z.string().min(3).max(24), detail: z.string().min(12).max(110) })).max(6).default([
{ phase: "Phase 1", detail: "Data foundations and model baselines" },
{ phase: "Phase 2", detail: "Production serving and observability" },
{ phase: "Phase 3", detail: "Governance and optimization" },
]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceTimelineLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#06090F", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<h1 className="text-4xl font-bold text-white">{data.title}</h1>
<div className="mt-8 grid grid-cols-3 gap-4">
{(data.items ?? []).map((it, i) => (
<div key={i} className="border border-slate-800 rounded-sm p-4 bg-[#0B0F18]">
<p className="text-red-400 font-semibold">{it.phase}</p>
<p className="text-sm leading-6 mt-2 text-slate-300">{it.detail}</p>
</div>
))}
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React from "react";
import * as z from "zod";

export const layoutId = "dark-space-use-cases";
export const layoutName = "Dark Space Use Cases";
export const layoutDescription = "Use-case matrix with concise text and clean dark visual balance.";

export const Schema = z.object({
title: z.string().min(5).max(80).default("High-Value AI Use Cases"),
useCases: z.array(z.object({ name: z.string().min(4).max(40), impact: z.string().min(10).max(100) })).max(6).default([
{ name: "Support Automation", impact: "Resolve repetitive queries with contextual assistant workflows." },
{ name: "Fraud Detection", impact: "Detect anomaly patterns in near real-time streams." },
{ name: "Forecasting", impact: "Improve planning confidence through probabilistic predictions." },
]),
});

type SchemaType = z.infer<typeof Schema>;

export default function DarkSpaceUseCasesLayout({ data }: { data: Partial<SchemaType> }) {
return (
<div className="relative w-full rounded-sm max-w-[1280px] shadow-lg max-h-[720px] aspect-video mx-auto overflow-hidden p-12"
style={{ background: "#05070C", color: "#E5E7EB", fontFamily: "var(--body-font-family, Inter)" }}>
<h1 className="text-4xl font-bold text-white">{data.title}</h1>
<div className="grid grid-cols-2 gap-4 mt-7">
{(data.useCases ?? []).map((u, i) => (
<div key={i} className="border border-slate-800 rounded-sm p-4 bg-[#0A0F18]">
<p className="text-red-400 font-semibold">{u.name}</p>
<p className="text-sm leading-6 mt-2 text-slate-300">{u.impact}</p>
</div>
))}
</div>
</div>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"description": "Dark Space: clean dark layouts with red accents, minimal edge rounding, and strong readability.",
"ordered": false,
"default": false
}
Loading
Loading