export const siteUrl = "https://evandro.dev.br"; export const siteName = "Evandro.dev.br"; export interface ServicePageContent { slug: string; navLabel: string; eyebrow: string; seoTitle: string; metaDescription: string; headline: string; intro: string; audience: string[]; outcomes: string[]; process: string[]; stack: string[]; ctaLabel: string; ctaHref: string; relatedCaseIds: string[]; } export interface CaseStudyContent { id: string; title: string; subtitle: string; summary: string; impact: string; stack: string[]; demoUrl?: string | null; githubUrl?: string | null; } export const servicePages: ServicePageContent[] = [ { slug: "engenharia-de-software", navLabel: "Engenharia de Software", eyebrow: "Servico principal", seoTitle: "Engenharia de Software para Produtos e Sistemas Criticos | Evandro Fonseca Junior", metaDescription: "Engenharia de software para evolucao de produtos, integracoes complexas e sistemas criticos. Entrega ponta a ponta com foco em arquitetura clara, estabilidade e velocidade de execucao.", headline: "Engenharia de software para evoluir produto sem aumentar o caos tecnico.", intro: "Atuo em discovery, arquitetura, implementacao e sustentacao de software para empresas que precisam entregar com previsibilidade, sem sacrificar clareza tecnica nem operacao.", audience: [ "Times que ja tem produto em operacao e precisam voltar a ganhar velocidade.", "Empresas que sofrem com integracoes, retrabalho e backlog tecnico acumulado.", "Operacoes em que confiabilidade e continuidade pesam mais do que velocidade teatral.", ], outcomes: [ "Arquitetura mais legivel para manter e escalar.", "Entrega incremental com menos retrabalho entre produto e engenharia.", "Integracoes mais robustas entre sistemas, APIs e fluxos internos.", "Base tecnica preparada para crescer sem depender de improviso constante.", ], process: [ "Diagnostico do contexto tecnico, do risco e do gargalo principal.", "Definicao do recorte de entrega com prioridades e trade-offs claros.", "Implementacao com rastreabilidade, code review e criterio de producao.", "Handoff ou continuidade com documentacao e proximo ciclo recomendado.", ], stack: ["Next.js", "TypeScript", "Node.js", "PostgreSQL", "APIs REST"], ctaLabel: "Agendar conversa sobre engenharia", ctaHref: "https://wa.me/5547992742365?text=Quero%20conversar%20sobre%20engenharia%20de%20software.", relatedCaseIds: ["nutriscan", "reddit-explorer", "sc-plus"], }, { slug: "consultoria-nextjs", navLabel: "Consultoria Next.js", eyebrow: "Stack especializada", seoTitle: "Consultoria Next.js para Produtos, SEO e Performance | Evandro Fonseca Junior", metaDescription: "Consultoria Next.js para App Router, SEO tecnico, performance, arquitetura e evolucao de produto. Ideal para projetos que precisam escalar sem perder clareza e Core Web Vitals.", headline: "Consultoria Next.js para produto, performance e SEO tecnico sem gambiarra.", intro: "Ajudo equipes a usar Next.js com mais criterio arquitetural, melhor separacao entre server e client, e foco real em performance, indexacao e experiencia de produto.", audience: [ "Produtos em Next.js que perderam clareza com o crescimento da base.", "Sites e plataformas que dependem de SEO tecnico e performance para converter.", "Times que precisam migrar, estabilizar ou revisar arquitetura App Router.", ], outcomes: [ "Estrutura mais consistente para App Router, Server Components e dados.", "Melhoras praticas em title, metadata, schema, semantica e links internos.", "Reducao de gargalos em renderizacao, bundle e fetch.", "Base mais pronta para crescer sem regressao de SEO ou UX.", ], process: [ "Auditoria de arquitetura, rotas, metadata e performance.", "Priorizacao das correcoes de maior impacto comercial e tecnico.", "Implementacao ou acompanhamento do time interno nas partes criticas.", "Validacao final com build, semantica e consistencia entre paginas.", ], stack: ["Next.js", "React", "TypeScript", "Tailwind CSS", "SEO tecnico"], ctaLabel: "Solicitar consultoria Next.js", ctaHref: "https://wa.me/5547992742365?text=Quero%20consultoria%20em%20Next.js.", relatedCaseIds: ["nutriscan", "twins-lab", "sc-plus"], }, { slug: "tauri-rust", navLabel: "Tauri + Rust", eyebrow: "Desktop e performance", seoTitle: "Desenvolvimento Tauri e Rust para Apps Desktop | Evandro Fonseca Junior", metaDescription: "Desenvolvimento com Tauri e Rust para apps desktop mais leves, seguros e eficientes. Consultoria tecnica para produtos que precisam de performance, integracao local e distribuicao confiavel.", headline: "Tauri e Rust para apps desktop mais leves, seguros e prontos para operar.", intro: "Uso Tauri e Rust quando o produto precisa de executavel desktop com footprint menor, melhor controle do ambiente local e mais previsibilidade do que stacks mais pesadas.", audience: [ "Produtos desktop que precisam integrar recursos do sistema operacional.", "Ferramentas internas com demanda por distribuicao leve e manutencao simples.", "Times avaliando migracao de stack desktop ou construindo um MVP tecnico robusto.", ], outcomes: [ "Aplicacoes desktop com melhor eficiencia de recursos.", "Fluxos locais e integracoes nativas com criterio tecnico mais alto.", "Arquitetura preparada para distribuicao, atualizacao e manutencao.", "Menos atrito entre interface moderna e motor de execucao confiavel.", ], process: [ "Definicao da necessidade real de desktop e do papel de Rust no produto.", "Desenho da arquitetura entre frontend, camada nativa e distribuicao.", "Implementacao dos fluxos criticos com foco em confiabilidade e ergonomia.", "Empacotamento, validacao e estrategia de evolucao do aplicativo.", ], stack: [ "Tauri", "Rust", "TypeScript", "Desktop apps", "System integration", ], ctaLabel: "Conversar sobre Tauri e Rust", ctaHref: "https://wa.me/5547992742365?text=Quero%20conversar%20sobre%20Tauri%20e%20Rust.", relatedCaseIds: ["gcc-installer"], }, { slug: "integracao-hardware-software-iot", navLabel: "Hardware + Software + IoT", eyebrow: "Produtos conectados", seoTitle: "Integracao Hardware + Software e IoT | Evandro Fonseca Junior", metaDescription: "Integracao hardware + software, IoT e fluxos conectados para produtos e operacoes criticas. Da coleta de dados ao painel, com APIs, telemetria e arquitetura de software confiavel.", headline: "Integracao hardware + software para produtos conectados que precisam operar de verdade.", intro: "Atuo na camada que costuma quebrar primeiro: a fronteira entre dispositivo, backend, painel e operacao. Estruturo esses fluxos para que dados, comando e observabilidade funcionem como produto, nao como remendo.", audience: [ "Empresas com dispositivos, sensores ou equipamentos conectados ao software.", "Operacoes que dependem de telemetria, dashboards e troca de dados em tempo real.", "Times que precisam ligar produto digital a processos fisicos com confiabilidade.", ], outcomes: [ "Fluxos mais robustos entre dispositivo, API, banco e interface.", "Menos perda de contexto entre operacao fisica e produto digital.", "Arquitetura com observabilidade e manutencao mais previsivel.", "Base melhor para evoluir IA, automacao ou analytics em cima dos dados.", ], process: [ "Mapeamento de sinal, eventos, integracoes e pontos de falha.", "Definicao de contratos entre hardware, backend e interfaces.", "Implementacao do fluxo com testes e tratamento de excecoes relevantes.", "Entrega com documentacao de operacao, limites e proximo passo.", ], stack: ["IoT", "WebSockets", "APIs", "Dashboards", "Integracao de sistemas"], ctaLabel: "Falar sobre integracao e IoT", ctaHref: "https://wa.me/5547992742365?text=Quero%20falar%20sobre%20integracao%20hardware%20%2B%20software%20e%20IoT.", relatedCaseIds: ["twins-lab"], }, { slug: "arquitetura-de-software", navLabel: "Arquitetura de Software", eyebrow: "Diagnostico e decisao", seoTitle: "Arquitetura de Software e Consultoria Tecnica | Evandro Fonseca Junior", metaDescription: "Arquitetura de software para reduzir complexidade, destravar evolucao e organizar integracoes criticas. Consultoria tecnica para produtos que precisam de direcao antes de mais codigo.", headline: "Arquitetura de software para times que precisam de clareza antes de acelerar.", intro: "Quando o problema nao e falta de codigo, mas excesso de acoplamento, retrabalho e decisao mal distribuida, a arquitetura certa devolve velocidade, leitura e confianca ao time.", audience: [ "Produtos que cresceram rapido e perderam legibilidade tecnica.", "Times travados entre refatorar tudo ou seguir acumulando divida.", "Operacoes com muitas dependencias, integracoes ou regras sensiveis.", ], outcomes: [ "Mapa claro dos gargalos e do risco tecnico real.", "Prioridades de arquitetura ligadas a impacto de negocio.", "Plano executavel de refatoracao, estabilizacao ou reestruturacao.", "Mais qualidade de decisao entre produto, engenharia e operacao.", ], process: [ "Leitura da base, fluxos, integracoes e dores do time.", "Diagnostico escrito com pontos de risco, oportunidades e trade-offs.", "Proposta de arquitetura alvo e plano de transicao realista.", "Acompanhamento da execucao ou handoff estruturado para o time interno.", ], stack: [ "Arquitetura de software", "APIs", "Performance", "Integracoes", "Sistemas criticos", ], ctaLabel: "Solicitar diagnostico arquitetural", ctaHref: "https://wa.me/5547992742365?text=Quero%20um%20diagnostico%20de%20arquitetura%20de%20software.", relatedCaseIds: ["nutriscan", "twins-lab", "reddit-explorer"], }, ]; export const caseStudies: CaseStudyContent[] = [ { id: "nutriscan", title: "NutriScan", subtitle: "PWA com Next.js para analise nutricional e operacao offline", summary: "Projeto em Next.js 14 com App Router, historico de uso, scanner de codigo de barras e cache estrategico para reduzir dependencia de rede.", impact: "Bom exemplo de engenharia de software orientada a produto, performance e experiencia de uso em contexto real.", stack: ["Next.js 14", "TypeScript", "MongoDB", "PWA", "Tailwind CSS"], demoUrl: "https://nutriscan.evandro.dev.br", githubUrl: "https://github.com/evandrodevbr/nutriscan", }, { id: "twins-lab", title: "Twins Lab", subtitle: "Plataforma IoT industrial com dados em tempo real", summary: "Produto com dashboards, autenticacao, WebSockets e camada de IA para monitoramento de dispositivos e operacao industrial conectada.", impact: "Case forte para integracao hardware + software, telemetria e sistemas criticos com atualizacao em tempo real.", stack: ["Next.js", "TypeScript", "NextAuth", "WebSockets", "OpenRouter AI"], demoUrl: "https://twins.evandro.dev.br", githubUrl: "https://github.com/evandrodevbr/twins-lab", }, { id: "reddit-explorer", title: "Reddit Posts Explorer", subtitle: "Aplicacao orientada a dados com API, cache e busca", summary: "Projeto em Astro e MongoDB para explorar conteudo com filtros, ordenacao e cache, mantendo boa experiencia em consultas frequentes.", impact: "Mostra capacidade de desenhar consumo de API, camada de persistencia e experiencia de busca sem sobrecarregar a aplicacao.", stack: ["Astro.js", "MongoDB", "Mongoose", "TypeScript", "Reddit API"], githubUrl: "https://github.com/evandrodevbr/reddit-search", }, { id: "sc-plus", title: "SC Plus Aquicultura", subtitle: "Site institucional em Next.js com foco em performance e SEO", summary: "Landing page em Next.js 15 otimizada para Core Web Vitals, metadata e estrutura tecnica de indexacao.", impact: "Exemplo de projeto em que clareza de mensagem, velocidade e SEO tecnico trabalham juntos.", stack: ["Next.js 15", "React 19", "Tailwind CSS 4", "TypeScript"], demoUrl: "https://scplus.evandro.dev.br", githubUrl: "https://github.com/evandrodevbr/scplus", }, { id: "gcc-installer", title: "MinGW GCC Installer", subtitle: "Ferramenta desktop para automacao de ambiente de desenvolvimento", summary: "Aplicacao em Python para simplificar setup local no Windows, com download assincrono, checagem de compatibilidade e integracao com PATH.", impact: "Mostra familiaridade com software desktop, integracao com sistema operacional e automacao de setup tecnico.", stack: ["Python", "Tkinter", "Win32 API", "Threading", "7-Zip"], githubUrl: "https://github.com/evandrodevbr/gcc-installer", }, ]; export const serviceHubLinks = servicePages.map((service) => ({ href: `/servicos/${service.slug}`, label: service.navLabel, description: service.metaDescription, })); export function getServicePage(slug: string) { return servicePages.find((service) => service.slug === slug); } export function getRelatedCases(caseIds: string[]) { return caseStudies.filter((caseStudy) => caseIds.includes(caseStudy.id)); }