290 lines
13 KiB
TypeScript
290 lines
13 KiB
TypeScript
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: "/#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));
|
|
}
|