import type { Metadata } from "next"; import Link from "next/link"; import HeroBackground from "@/app/components/cinematic/HeroBackground"; import MagneticButton from "@/app/components/cinematic/MagneticButton"; import { safeJsonLd } from "@/lib/jsonld"; import { buildBreadcrumbList } from "@/lib/seo"; import { caseStudies, intentCtas, siteName, siteUrl } from "@/lib/site-content"; const pageUrl = `${siteUrl}/cases`; const pageTitle = "Cases de Engenharia de Software, Next.js e IoT"; const pageDescription = "Seis projetos mostram aplicações de engenharia de software em web, desktop, IoT, integrações e experiências orientadas a dados."; export const metadata: Metadata = { title: pageTitle, description: pageDescription, alternates: { canonical: pageUrl, }, openGraph: { locale: "pt_BR", title: pageTitle, description: pageDescription, url: pageUrl, siteName, type: "website", }, }; export default function CasesPage() { const jsonLd = { "@context": "https://schema.org", "@graph": [ { "@type": "CollectionPage", "@id": `${pageUrl}#page`, name: pageTitle, url: pageUrl, description: pageDescription, }, { "@type": "ItemList", itemListElement: caseStudies.map((caseStudy, index) => ({ "@type": "ListItem", position: index + 1, name: caseStudy.title, url: `${pageUrl}/${caseStudy.id}`, })), }, buildBreadcrumbList(pageUrl, [ ["Início", siteUrl], ["Cases", pageUrl], ] as const), ], }; return (

Selected work

Cases em software, Next.js, integrações e produtos conectados.

{pageDescription}

{caseStudies.map((caseStudy) => (
{caseStudy.title}

{caseStudy.subtitle}

{caseStudy.summary}

{caseStudy.impact}

    {caseStudy.stack.map((item) => (
  • {item}
  • ))}
Ler case {caseStudy.demoUrl ? ( Abrir projeto ) : null}
))}
{intentCtas.project.label} {intentCtas.consulting.label}
); }