Design · Projetos · Consultoria Rio de Janeiro 021 → Cuneo, IT Desde sempre, entre disciplinas

Design que funciona. Processos que escalam.

VENTUNO é o estúdio de Cristiano Martignoni — design industrial de formação, desenvolvimento web por prática, operações por ofício. Do 021 do Rio à rotina italiana, sem tradução perdida.

Ver projetos ↓
scroll
01 / 21

Sobre

44.3841° N — 7.5426° E

Nascido no Rio de Janeiro, formado em Design Industrial pela PUC-Rio, construí 15+ anos gerindo operações e equipes — primeiro em um dos maiores bancos do Brasil, hoje numa empresa italiana de referência em bicicletas. VENTUNO é o cruzamento: penso como designer, executo como desenvolvedor, organizo como quem geriu operações complexas por décadas.

BaseCuneo, Itália · natural do Rio de Janeiro
CidadaniaSuíço-brasileira
IdiomasPortuguês nativo · Inglês avançado · Italiano intermediário
FormaçãoDesign Industrial — PUC-Rio
02 / 21

Projetos

Cases selecionados
Case em destaque — Web App

Centro Sportivo Roero

Plataforma completa para um centro esportivo aquático com 5 sedes: disponibilidade de raias em tempo real, totem de check-in, CMS próprio e uma rotina de notícias com IA — substituindo um site que não era tocado desde 2005.

ProblemaSite de 2005 sem HTTPS nem versão mobile, navegação entre sedes feita só por imagens, reservas espalhadas em dois sistemas de terceiros e conteúdo que só mudava com ajuda técnica.
SoluçãoAs 5 sedes num só sistema, com raias em tempo real, totem de auto-atendimento, calendário unificado e painel administrativo com dois níveis de acesso.
ImpactoA equipe publica sozinha, sem programador. Ocupação vira dado real em vez de telefonema, e o site se mantém atualizado sem esforço editorial.
Next.jsTypeScriptSupabasen8nOpenAIVercel
CSRscreenshot da plataforma
Centro Sportivo Roero — home da plataforma com hero e navegação Galeria · 5
Automação — rassegna stampa

Um site que se mantém vivo sozinho

Duas vezes por semana, uma rotina busca notícias reais de natação, polo aquático e nado artístico em cinco fontes, reescreve em italiano no tom do centro e deposita como rascunho no painel. Publicar continua sendo decisão humana — a máquina só elimina a página parada.

Produto próprio · Direção de prova em ciclismo

Flamme Rouge

Direção de prova ao vivo para ciclismo de estrada.

ProblemaProva de estrada acontece no rádio. A direção pergunta onde está o carro de fechamento e recebe uma estimativa — e é em cima dela que se reabre a via e que se cumpre, ou não, o tempo de interdição combinado com a autoridade de trânsito.
ConceitoCada veículo de apoio recebe um código de 6 caracteres impresso na folha do briefing, com QR ao lado. O motorista aponta a câmera e o celular dele vira o rastreador daquele veículo — sem loja de aplicativos, sem conta, sem equipamento para comprar, carregar e recolher no fim do dia.
MediçãoA janela entre abertura e fechamento deixa de ser palpite: o sistema guarda a que horas a abertura passou por cada ponto, e a janela vira a diferença entre dois horários observados. Sem histórico suficiente, a tela diz projetado e explica o motivo, em vez de fingir precisão.
TerrenoNuma ida-e-volta, dois veículos podem estar a dezenas de metros em linha reta e a dezenas de quilômetros pela estrada. O sistema projeta cada posição sobre o traçado indexado e compara ao longo dele — inclusive o custo de quem já passou do ponto e precisa retornar contra o fluxo.
ResiliênciaUm pedido de socorro fura a fila na frente de qualquer ponto de GPS e é retentado até o servidor confirmar. Nada é enviado antes de ser gravado no aparelho: num teste sem cobertura, os pontos acumulados chegaram completos, em ordem e sem duplicar quando o sinal voltou.
StatusEm produção técnica, ainda sem cliente pagante. Testado em campo numa prova real com dois celulares e três funções simultâneas — abertura, fechamento e ambulância —, incluindo alerta de acidente com confirmação e acionamento automático.
Next.js 15TypeScriptSupabaseMapLibre GLTailwind v4VitestVercel
FRo flamme rouge
Flamme Rouge — a página pública: direção de prova ao vivo, medida pela estrada Galeria · 9
~35.300linhas de código
325testes automatizados
6idiomas verificados no build
9papéis de veículo
Decisões técnicas

O que se decide antes do dia da prova

O dicionário é tipado: uma chave ausente em alemão quebra o build, em vez de virar texto cru na tela de um motorista austríaco no dia da prova. A justificativa de cada acionamento é gravada desmontada — chave e números —, porque a mesma frase é lida por até três pessoas em idiomas diferentes, e só montando na leitura ela acerta para todas. Tabelas com dado sensível não têm política de RLS nenhuma: o Postgres nega por padrão. E a degradação é desenhada, não acidental — chave de mapa indisponível cai sozinha para o fundo padrão, banco fora do ar não vira porta trancada num formulário.

Produto pessoal → produto · Dashboard de treino

MY TRAKR

O dashboard que nasceu para um IRONMAN 70.3 e virou produto.

OrigemComecei como ferramenta de uso próprio: um painel para enxergar a preparação inteira num lugar só — calendário, carga, prontidão, lesões, temporada em fases.
A viradaO que funcionava para um atleta passou a funcionar para qualquer um. O TRAK virou MY TRAKR: multi-tenant, cada atleta com a própria conta e os próprios dados, isolados no banco.
ConceitoO produto não embarca IA. O atleta conecta a própria — Claude ou ChatGPT — por um conector MCP. O modelo passa a ler e escrever no sistema, e o painel é a camada visual daquela conversa. O custo de inferência sai da assinatura que ele já tem, e a prescrição continua com quem tem responsabilidade por ela.
SistemaAdesão por tempo em zona, pace ajustado por inclinação (GAP), carga de treino calculada, protocolos de teste de limiar com cadência de reteste, importação do Strava e leitura/escrita do formato .fit implementada do zero.
TeseO painel não compete com o chat. Ele mostra exatamente o que a conversa não consegue mostrar: tendência, comparação entre o prescrito e o realizado, e a temporada inteira de uma vez.
Next.jsReactTypeScriptTailwindSupabase · RLSMCPVercel
TRAKRscreenshot do dashboard
MY TRAKR — contagem para a prova, prontidão, condicionamento e calendário Galeria · 11
Identidade — processo criativo

Uma marca que mede o esforço

A identidade nasce do próprio produto: três barras em progressão — o gráfico de performance que cresce treino após treino — e um wordmark itálico que empresta velocidade. O símbolo aparece em construção, do traçado a lápis ao vetor final: moderno, hi-tech, desenhado para medir desempenho.

Logo MY TRAKR em construção — do esboço a lápis ao vetor final Identidade própria — do esboço ao vetor
Produto em construção · Plataforma B2B

TRAKR+

Escalar uma assessoria esportiva sem perder a qualidade do atendimento.

ProblemaUm treinador atende 30 a 50 alunos, e o gargalo não é conhecimento — é repetição mecânica. Montar semana, transcrever treino, conferir o que foi feito. Do outro lado, o dono raramente tem instrumentação de negócio: não sabe qual treinador está sobrecarregado nem qual carteira está perdendo aluno.
ConceitoCopiloto de IA para o profissional, painel para o resto. Conversa serve ao julgamento; painel serve à repetição. Cada profissional — treinador, nutricionista, fisioterapeuta — escreve no mesmo aluno, com escopo e permissões próprias.
OperaçãoRoster agrupado por fase e ordenado por atenção, banco de treinos da casa, prescrição em lote, blocos de plano multi-semana distribuídos pela disponibilidade real de cada aluno.
GestãoDashboards internos de negócio: placar comparativo por treinador, custo e margem por aluno, capacidade por profissional, redistribuição de carteiras com prévia do impacto antes de confirmar, e CRM de retenção — quem estava treinando e parou, com o valor mensal em risco.
TeseA unidade do painel do dono é o treinador, não o aluno. Empilhar todos os atletas numa lista é a versão que quebra justamente nos 200 alunos que são a meta.
Next.jsReactTypeScriptTailwindSupabase · RLSMCPn8nVercel
Em produção · Gestão de locação de frota

OM Rent Bikes

Sistema de gestão de aluguel de bicicletas de alta performance, rodando numa operação real na Itália.

ProblemaCada bicicleta é um ativo caro e único, montada peça a peça, que precisa estar no lugar certo, no tamanho certo, para o cliente certo. E o mesmo equipamento é disputado por reservas que se sobrepõem no transporte, não só no calendário — planilha não resolve isso.
ModeloA bicicleta é tratada como ativo, com componentes, custo de montagem e retorno acumulado em aluguéis. Um diagrama interativo com pontos clicáveis liga cada peça ao campo do formulário — cadastrar deixa de exigir vocabulário técnico de mecânico.
Janela físicaUm aluguel de segunda a sexta pode ter a bike saindo no domingo e voltando no sábado. Bloquear a frota pelas datas contratadas faz duas reservas colidirem no caminhão, então entrega e devolução são campos próprios e o bloqueio usa a janela real de indisponibilidade.
ContratoO contrato de locação não é texto decorativo: tem cláusulas de responsabilidade, condições de pagamento, dados bancários e política de cancelamento com penalidades. É montado a partir dos dados do aluguel, no idioma do cliente, pronto para assinar.
MigraçãoO projeto atravessou três bancos e uma reescrita completa de framework, sempre com dados reais em produção. As três tabelas centrais nunca foram recriadas: as 27 migrations só estendem o schema, e a reescrita foi erguida sobre o mesmo banco — o que permitiu migrar módulo a módulo em vez de virar a chave de uma vez.
Next.js 16React 19TypeScriptSupabase · RLSTailwind v4RechartsVercel
OMRtelas do sistema
~10.100linhas de TypeScript
22telas
27migrations sem recriar tabela
~1.370strings em 3 idiomas
Em andamento — de sistema a produto

Uma camada de marca em vez de um fork

A identidade visual e a identidade jurídica foram extraídas para uma camada única: cores, nome, favicon e os dados que entram no contrato saem todos de um só lugar. É o que transforma um sistema feito para um cliente em base para atender vários — sem duplicar código e sem manter dois sistemas parecidos vivos ao mesmo tempo.

Projeto pessoal — Origem da marca

VENTUNO 01 & 02

Antes de ser estúdio, Ventuno foi nome de bicicleta: duas máquinas de carbono — uma de estrada, uma de triathlon — pesquisadas, especificadas e montadas à mão pelo fundador.

ProcessoMeses de pesquisa profunda: geometria de quadro, curadoria de componentes, compatibilidades, pesos, relação custo-desempenho.
MontagemMontagem integral feita à mão, do cockpit à transmissão — com certificação de mecânica (Park Tool School) e bike fit para fechar o ciclo.
TeseO mesmo método do estúdio: pesquisa obsessiva, especificação precisa, execução própria. Design não é só desenhar — é decidir bem.
01·02fotos das bicicletas
Sistemas internos — Vibe coding

Sistemas Operacionais
Officine Mattio

Quatro sistemas construídos via vibe coding (Antigravity) para resolver problemas operacionais reais da própria rotina de trabalho. Quem vive o processo constrói a ferramenta certa para ele — do problema real à ferramenta funcional, em dias, não meses.

Vibe codingAntigravityDo problema à ferramenta
OM/01Controle de EnviosGestão e rastreamento de logística e transportes internacionais.
OM/02Tickets de SuportePlataforma para assistência técnica e gestão de garantias.
OM/03Ponto & RHRegistro de entrada/saída, folha mensal e solicitações de férias.
Prova de conceito — IA generativa

Produção visual com IA

De um desenho 2D de estampa de jersey a um manequim 3D realista em cenário de uso real — e até vídeo final — em poucos minutos e poucos prompts. Sem fotógrafo, sem modelo, sem set físico. Eficiência e redução radical de custo de produção para marcas pequenas.

Desenho técnico 2D da estampa do kit de ciclismo
AI/01Desenho 2DEstampa técnica plana do kit — o input original do designer.
Manequim 3D realista vestindo o kit de ciclismo
AI/02Render 3DManequim 3D realista vestindo a peça, gerado via IA em minutos.
Ciclista pedalando numa estrada de montanha com o kit
AI/03Cena realO kit em situação de uso real — luz, estrada e movimento, sem sair do estúdio.
AI/04Vídeo de campanhaA cena ganha movimento: vídeo pronto para mídia social — sem filmagem.
03 / 21

Identidade

marcas próprias

Quatro marcas desenhadas do zero, todas de produtos próprios. Cada símbolo nasce do que o produto mede ou faz — não de uma forma bonita procurando significado depois.

VENTUNO

O 021 do Rio reduzido a dois dígitos, cortado pela base da caixa.

FLAMME ROUGE
FLAMME ROUGE

A bandeira vermelha que marca o último quilômetro.

MY TRAKR B2C · o atleta TRAKR+ B2B · a assessoria
MY TRAKR  ·  TRAKR+

Uma marca, dois públicos. Três barras em progressão — o gráfico que cresce treino após treino — e um sinal de mais que basta para separar quem treina de quem treina os outros.

04 / 21

Skills

Três disciplinas, uma prática
A/

Design

Do produto físico à interface digital, com base em Design Industrial.

Design Industrial Comunicação Visual Modelagem 3D · Cobalt UI / Design Web
B/

Tech / Web

Desenvolvimento web autodidata, IA aplicada e automação de fluxos.

GitHub · Supabase Vibe coding · Antigravity Automação · n8n IA generativa No-code / Low-code
C/

Operações

15+ anos gerindo clientes, fluxos e equipes em ambientes complexos.

Customer Operations Order Management Logística internacional ERP / CRM Process Improvement Gestão de equipes Excel avançado
05 / 21

Experiência

2007 — 2026
2022 — Presente

Customer Operations & Care Specialist

Officine Mattio — Cuneo, IT

Atendimento pós-venda e garantias internacionais, coordenação de logística export (DHL, FedEx, BRT), monitoramento de fluxo operacional via ERP e desenvolvimento de ferramentas internas de controle de processo.

2007 — 2022

Gestor Bancário / Team Leader

Caixa Econômica Federal — BR

15 anos coordenando equipes multidisciplinares: CRM, processos administrativos, atividades financeiras e atendimento a clientes corporate e privados em um dos maiores bancos do Brasil.

Formação & Certificações
Formação
Design Industrial — Projeto de Produto e Comunicação Visual, PUC-Rio (1997)
Publicidade e Marketing — Faculdade da Cidade
Certificações
Mecânico de Bicicletas — Park Tool School, SP (2021)
Bike Fit · Ashlar Vellum Cobalt (3D)
06 / 21

Contato

cristiano@zeroventuno.com

Vamos construir
algo juntos.