08/08/2026

TOIN.app: 37 ferramentas online gratuitas em 5 idiomas

Construí o TOIN.app com Astro e Claude Code: 37 calculadoras e conversores gratuitos, 3.758 páginas em cinco idiomas e zero JavaScript na home. Como o projeto foi pensado, o que tem em cada categoria e por que uma ferramenta vira uma página por variação.

TOIN.app: 37 ferramentas online gratuitas em 5 idiomas

Toda vez que eu precisava saber quantos dias faltavam pra alguma coisa, ou converter uma medida boba, eu caía num site cheio de pop-up, banner que pula e formulário pedindo cadastro pra calcular uma subtração de datas. É um tipo de página que existe há vinte anos e continua ruim.

Então construí o TOIN.app: ferramentas simples que fazem uma coisa bem feita, sem instalar nada, sem criar conta. O nome é a brincadeira de sempre, Toin de Toledo Interactive ou de "Incredible Tools", e o slogan resume a proposta: simple tools that do one thing well.

O site está no ar com 37 ferramentas e sigo construindo novas sempre que possível, 3.758 páginas e cinco idiomas.

O que tem lá dentro

As ferramentas estão organizadas em seis categorias, e cada categoria só existe porque consegue recusar alguma coisa. Explico isso melhor lá embaixo.

Datas (12 ferramentas)

A categoria maior, e a que me fez começar o projeto. Tem calculadora de idade, dias entre datas, quantos dias até uma data qualquer, calculadora de dias úteis (com feriados nacionais por país), conversor de fuso horário, semana do ano, dia do ano e uma contagem regressiva com anéis de progresso em SVG.

Tem também a família de aritmética de relógio, que é surpreendentemente útil e surpreendentemente mal resolvida na internet: calculadora de horas, horas entre dois horários, somar e subtrair horas e que horas serão.

Astronomia (4 ferramentas)

Minha categoria favorita, e a que mais deu trabalho. Fases da lua, nascer e pôr do sol, estações do ano (equinócios e solstícios) e eclipse lunar.

Nenhuma delas chama API. Os cálculos são implementações dos algoritmos do Meeus e do NOAA rodando no próprio navegador, testados contra as efemérides publicadas do USNO e contra o catálogo da NASA. Foi a parte do projeto em que eu mais aprendi.

Números (8 ferramentas)

Calculadora de porcentagem, aumento percentual, diferença percentual, porcentagem de um valor, calculadora de desconto, calculadora de gorjeta, calculadora de fração e regra de três.

A de frações faz aritmética racional exata, sem passar por ponto flutuante. A de gorjeta resolve o centavo que não divide, que é um daqueles detalhes que ninguém nota até dividir a conta entre sete pessoas.

Saúde (4 ferramentas)

Calculadora de IMC na escala da OMS, calculadora de calorias por Mifflin-St Jeor (com a margem de erro declarada, porque ela existe), calculadora de ovulação e calculadora gestacional.

Finanças (3 ferramentas)

Juros compostos, juros simples e simulador de financiamento com amortização Price e SAC.

A de juros compostos é a única página do site que ficou acima do orçamento de JavaScript de propósito. O argumento inteiro da ferramenta é o mês em que os juros passam os aportes, e uma tabela de números não deixa isso visível. O gráfico é SVG desenhado na mão, porque a biblioteca de gráficos mais barata que achei custava 14 KB e as que todo mundo usa primeiro custam de 60 a 130 KB.

Conversores (6 ferramentas)

Comprimento, peso, temperatura, área, volume e o mais brasileiro de todos: álcool ou gasolina, que usa a eficiência do seu carro como parâmetro em vez de repetir a regra dos 70% como se ela valesse pra todo mundo.

37 ferramentas, 3.758 páginas

O número que mais confunde quem olha o projeto é esse. Como 37 ferramentas viram quase quatro mil páginas?

Porque uma ferramenta não é uma página com um dropdown. É uma página por coisa que as pessoas procuram.

Essa é a decisão de produto mais importante do projeto, e é fácil errar: construir um conversor com um <select> de categoria parece mais organizado e é estritamente pior. Ninguém pesquisa "conversor de unidades" tanto quanto pesquisa "cm para polegadas". Um hub com dropdown compete por um termo genérico; cinco páginas competem por cinco termos específicos, cada uma com conteúdo próprio.

Some a isso os parâmetros na URL. Uma página tipo /calculadora-de-idade/nascido-em-1990/ chega com a ferramenta já preenchida e a resposta já na tela, e a URL é compartilhável, linkável e indexável. Cada parâmetro curado vira uma página de cauda longa a mais.

Multiplique por cinco idiomas e você chega nos 3.758. A divisão fica quase igual entre eles: 753 em inglês, 758 em francês, 752 em português, 749 em alemão e 746 em espanhol.

Cinco idiomas, e por que esses cinco

Inglês na raiz, e /pt/, /es/, /de/, /fr/ como espelhos completos. Não são traduções automáticas jogadas por cima: as URLs também são localizadas, então a calculadora de idade é /age-calculator/ em inglês e /pt/calculadora-de-idade/ em português. Quem procura em português encontra uma URL em português.

A escolha dos idiomas não foi por população. Foi por RPM de publicidade: os mercados tier-1 pagam algo como 10× o RPM brasileiro, então inglês vem primeiro, depois alemão e francês. A Índia é a rejeição mais instrutiva da lista: país mais populoso do mundo, RPM de 5 a 10 vezes menor, e os cerca de 200 milhões de usuários que navegam em inglês já chegam pelo site em inglês mesmo.

Uma consequência bem concreta disso está no código: cada widget carrega só os textos do próprio idioma. A ferramenta de fases da lua nasceu com 14,2 KB de JavaScript porque importava o mapa de textos das cinco línguas, ou seja, a página em inglês baixava as oito descrições de fase em alemão, francês, espanhol e português. Nenhum bundler elimina isso sozinho. Hoje está em 4 KB.

A stack

Astro 7 gerando site estático, TailwindCSS 4, deploy em Cloudflare Workers. E sim, JavaScript vanilla, que é só o jeito chique de dizer "JavaScript puro, sem framework": não tem React, não tem Vue, não tem nada. Cada ferramenta é um punhado de JavaScript próprio que roda no navegador.

Isso não é purismo, é orçamento. A meta é menos de 5 KB de JavaScript próprio por página, e a maioria das ferramentas cumpre com folga: calculadora de idade em 1.771 bytes, IMC em 2.493, semana do ano em 2.427. A home despacha zero JavaScript.

Medido em produção, antes de qualquer anúncio entrar:

MétricaMedidoMeta
LCP72 ms< 1,5 s
CLS0,00< 0,1
TTFB3 ms< 800 ms
JS próprio (página de ferramenta)3.781 B< 5 KB

Toda a matemática vive em módulos puros e testados: date-engine, moon-engine, sun-engine, eclipse-engine, finance-engine, fraction-engine e por aí. Separar o cálculo do componente é o que permite testar fase da lua contra efeméride publicada sem abrir um navegador.

O nome saiu de uma conversa no Claude Desktop

Antes de escrever uma linha de código eu precisava do domínio, e eu já tinha dois candidatos meus na mesa: toin.app e tointools.com. Joguei os dois no Claude Desktop pedindo mais ideias, com uma referência meio esquisita de propósito: queria algo na linha de Google, Uber, iFood, OLX, Buscapé, nomes que funcionassem no Brasil e fora dele ao mesmo tempo.

Veio uma lista grande, dividida por estratégia. Inventados curtos (zumo.tools, piko.tools, vixo.app, nubo.tools), nomes com sentido de kit ou ferramenta (kitto.app, utilo.app, caixa.tools), palavras reais que funcionam em português, espanhol e inglês (pronto.tools, nexo.tools, lume.app) e uns bem brasileiros que eu descartei na hora (faztudo.com.br, jeitinho.app, ferramentinha.com.br), porque um site que ia nascer em cinco idiomas não podia ter nome que só faz sentido aqui.

O útil não foi a lista, foi o veredito sobre o que eu já tinha. Entre os meus dois, toin.app ganhou de tointools.com por três motivos: é curto, não significa nada (o que é uma vantagem, e não um defeito, como Google demonstrou) e é pronunciável em português e inglês. O tointools.com é composto, mais longo e só funciona em inglês.

Duas ressalvas vieram junto, e são as que eu ainda carrego. .app obriga HTTPS, o que não custa nada, mas tem menos confiança de clique numa SERP brasileira do que um .com. E .tools é barato e disponível, só que ninguém digita direto, o que só não importa porque esse é um projeto de SEO puro, onde o tráfego chega pela busca e não pela barra de endereço.

É um uso de IA bem diferente do resto do projeto: não escreveu código nenhum, só me impediu de escolher o nome pior por conta própria.

Construído com Claude Code

O site inteiro foi construído com Claude Code, e a parte que fez diferença não foi gerar componente: foi o CLAUDE.md do projeto. Ele tem 516 linhas, e quase nada ali é instrução de estilo. É decisão de produto com o custo anotado junto: por que a categoria se chama astronomy e não space, por que numbers e não math, por que o bloco de ferramentas relacionadas mostra seis e não todas.

Esse último é meu exemplo favorito de armadilha. O componente listava todas as ferramentas menos a atual. Correto com onze ferramentas. Com vinte e sete virou 24 cards e 8,4 KB, 18% do HTML de toda página, mais que todo o JavaScript do site. Ninguém decidiu isso: a ausência de um limite decidiu por todo mundo. Já escrevi por aqui sobre como o CLAUDE.md carrega o contexto do projeto, e o TOIN foi onde essa ideia mais rendeu, justamente porque as decisões ficaram escritas com o motivo, não só com a regra.

Outro detalhe que o Astro cobrou: trailingSlash e formato de build precisam combinar, ou o Cloudflare te dá um 308 em toda URL interna. Isso me mordeu antes, e documentei a combinação que funciona.

Resumo

  • TOIN.app: 37 calculadoras e conversores gratuitos, sem cadastro e sem instalação.
  • Seis categorias: datas, astronomia, números, saúde, finanças e conversores.
  • 3.758 páginas em cinco idiomas, com URLs localizadas em cada um.
  • Astro 7 estático, Tailwind 4, JavaScript puro, Cloudflare Workers.
  • Uma página por variação de busca, com parâmetro na URL e resposta já preenchida na chegada.
  • Menos de 5 KB de JavaScript próprio por página; home com zero.

Se você tem um cálculo chato que faz sempre no papel ou numa planilha, ou ainda alguma ferramenta que sente necessidade, me conta. É exatamente assim que a lista cresce.

#astro #ferramenta #seo #ia

Tags

Se eu te ajudei de alguma forma e você quiser retribuir, pode me pagar um café ☕ ou ainda usar um dos meus links de indicação para abrir conta em serviços como Asaas, Bunny, Clara, assinar conteúdos gratuitos ou usar serviços recomendados.

Você pode me encontrar no: Github, Behance, LinkedIn, YouTube, Instagram, X ou por email hello@marciotoledo.com!

© 2002 - 2026 | Marcio Toledo. Todos os direitos reservados. For LLMs