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 { caseStudies, siteName, siteUrl } from "@/lib/site-content"; export const metadata: Metadata = { title: "Cases de Engenharia de Software, Next.js e IoT", description: "Cases selecionados em engenharia de software, Next.js, IoT, integrações e software para contextos críticos. Portfolio técnico com foco em clareza, performance e execução.", alternates: { canonical: `${siteUrl}/cases`, }, openGraph: { title: "Cases de Engenharia de Software, Next.js e IoT", description: "Cases selecionados em engenharia de software, Next.js, IoT, integrações e software para contextos críticos.", url: `${siteUrl}/cases`, siteName, type: "website", }, }; export default function CasesPage() { const jsonLd = { "@context": "https://schema.org", "@graph": [ { "@type": "CollectionPage", "@id": `${siteUrl}/cases#page`, name: "Cases de engenharia de software", url: `${siteUrl}/cases`, description: "Coleção de cases em Next.js, IoT, integrações e software para operações críticas.", }, { "@type": "ItemList", itemListElement: caseStudies.map((caseStudy, index) => ({ "@type": "ListItem", position: index + 1, name: caseStudy.title, url: `${siteUrl}/cases/${caseStudy.id}`, })), }, { "@type": "BreadcrumbList", itemListElement: [ { "@type": "ListItem", position: 1, name: "Início", item: siteUrl }, { "@type": "ListItem", position: 2, name: "Cases", item: `${siteUrl}/cases`, }, ], }, ], }; return (

Selected work

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

Esta página organiza projetos com leitura mais indexável e comercial, conectando stack, contexto técnico e tipo de problema resolvido.

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

{caseStudy.subtitle}

{caseStudy.summary}

{caseStudy.impact}

    {caseStudy.stack.map((item) => (
  • {item}
  • ))}
Ler case {caseStudy.demoUrl ? ( Abrir projeto ) : null}
))}
Ver serviços Ir para contato
); }