Adds dynamic case study and curriculo routes, project health monitoring for live demo status, and strengthens local SEO (structured data, service-area targeting for Garuva/Joinville/Curitiba, a dedicated "criação de sites" service page) so search results better match the professional title (Engenheiro da Computação) and experience (5 anos). Co-Authored-By: Claude Sonnet 5 <[email protected]>
335 lines
15 KiB
TypeScript
335 lines
15 KiB
TypeScript
export const siteUrl = "https://evandro.dev.br";
|
|
export const siteName = "Evandro.dev.br";
|
|
|
|
export const regionCities = [
|
|
"Garuva",
|
|
"Joinville",
|
|
"São Francisco do Sul",
|
|
"Itapoá",
|
|
"Balneário Barra do Sul",
|
|
"Barra Velha",
|
|
"Jaraguá do Sul",
|
|
"Curitiba",
|
|
];
|
|
|
|
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: "criacao-de-sites",
|
|
navLabel: "Criação de Sites",
|
|
eyebrow: "Presença digital",
|
|
seoTitle:
|
|
"Criação de Sites em Garuva, Joinville e Curitiba | Evandro Fonseca Junior",
|
|
metaDescription:
|
|
"Criação de sites institucionais e sistemas web para empresas em Garuva, Joinville, São Francisco do Sul, Itapoá, Jaraguá do Sul e Curitiba. Sites rápidos, responsivos e otimizados para SEO com Next.js.",
|
|
headline:
|
|
"Criação de sites institucionais e sistemas web para empresas de Garuva, Joinville e Curitiba.",
|
|
intro:
|
|
"Desenvolvo sites e sistemas web rápidos, responsivos e com SEO técnico desde a primeira entrega, para empresas de Garuva, Joinville, Norte de Santa Catarina e Curitiba que precisam aparecer bem nas buscas locais e converter visitantes em clientes.",
|
|
audience: [
|
|
"Empresas e profissionais em Garuva, Joinville e região que ainda não têm site ou precisam trocar um site lento e desatualizado.",
|
|
"Negócios em Curitiba e no Norte de Santa Catarina que querem aparecer melhor no Google para buscas da própria cidade e região.",
|
|
"Marcas que precisam de um site institucional rápido, com boa performance e pronto para escalar para um sistema web completo.",
|
|
],
|
|
outcomes: [
|
|
"Site institucional rápido, responsivo e com boa nota em Core Web Vitals.",
|
|
"Estrutura de SEO técnico (title, metadata, dados estruturados e sitemap) desde o lançamento.",
|
|
"Presença digital pronta para captar clientes que pesquisam por serviços na sua cidade.",
|
|
"Base de código organizada, fácil de evoluir para loja, sistema ou painel administrativo.",
|
|
],
|
|
process: [
|
|
"Levantamento do objetivo do site, público local e páginas necessárias.",
|
|
"Definição de estrutura, conteúdo e palavras-chave locais relevantes.",
|
|
"Implementação em Next.js com foco em performance, acessibilidade e SEO.",
|
|
"Publicação, configuração de domínio e orientação sobre indexação no Google.",
|
|
],
|
|
stack: ["Next.js", "TypeScript", "Tailwind CSS", "SEO técnico", "Vercel"],
|
|
ctaLabel: "Quero um site para minha empresa",
|
|
ctaHref: "/#contact",
|
|
relatedCaseIds: ["sc-plus", "nutriscan"],
|
|
},
|
|
{
|
|
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: "/#contact",
|
|
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: "/#contact",
|
|
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: "/#contact",
|
|
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: "/#contact",
|
|
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: "/#contact",
|
|
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));
|
|
}
|