Blog

K-Track: tudo que você assiste e lê, num só lugar

Criei um app para acompanhar séries, animes, mangás, filmes e livros sem planilha e sem cinco aplicativos diferentes. Mostro o que ele faz, como foi construído e como começar de graça.

5 min de leitura K-Track, Projetos, Python, FastAPI

Tela do K-Track com cards de séries, animes, mangás e livros, ao lado do título do post

Quem acompanha séries, animes e livros ao mesmo tempo costuma espalhar isso por todo lado: um aplicativo para séries, outro para animes, uma nota no celular com o capítulo do mangá e, para os livros, a memória. Eu queria um lugar só, que mostrasse onde parei e o que vem a seguir. Foi para isso que criei o K-Track.

Ele já está no ar em k-track.kelvencardoso.tech, funciona no navegador do computador e do celular, e o plano gratuito é suficiente para começar.

O acervo do K-Track com séries, animes, mangás e livros em andamento
O acervo, com o que está em andamento primeiro. As capas são dados de exemplo.

O que dá para fazer

Adicionar em um clique. Você busca pelo nome e, no próprio resultado, escolhe o status: quero ver, vendo ou já vi. Se a obra já estiver no seu acervo, o app avisa antes de duplicar.

Saber exatamente onde parou. Séries e animes chegam com temporadas e episódios. Dá para marcar episódio por episódio, marcar tudo "até aqui" ou a temporada inteira. O card mostra o próximo episódio e quanto falta.

Detalhes de um anime com a lista de episódios marcados
Cada episódio com a data de lançamento e a marcação de visto.

Coleções de livros e mangás. Ao adicionar uma série de livros, o K-Track traz todos os volumes de uma vez, cada um com a sua capa e com preferência por edições em português. Cada volume é marcado como lido separadamente.

Ver o que sai em seguida. Um monitor confere novas temporadas a cada seis horas. A aba Quando sai junta os próximos episódios e as estreias de filmes, com a contagem de dias.

Aba Quando sai com os próximos episódios e estreias
A aba Quando sai, com os próximos lançamentos do seu acervo.

Levar seus dados com você. Exporte tudo em JSON, para restaurar depois, ou em CSV, para abrir numa planilha. A importação pode mesclar com o que já existe ou substituir.

Como funcionam os planos

  • Grátis: até 10 obras, com todas as funções. Ao chegar no limite nada é bloqueado: você continua usando tudo o que já tem, só não adiciona obras novas.
  • Assinatura anual: acervo sem limite. O pagamento é por Pix: o app mostra a chave, você paga e toca em Já paguei. Eu confiro e libero o plano pela área administrativa.

Escolhi o Pix com liberação manual de propósito. Para um projeto deste tamanho, é simples, não tem taxa de intermediário e ninguém precisa cadastrar cartão.

O K-Track no celular
No celular, o mesmo acervo, com o plano gratuito sinalizado no topo.

Bastidores: como foi construído

Sou da área de dados, então tratei o K-Track como trato um projeto de BI: fontes externas que falham, regra de negócio clara, os dados de cada pessoa protegidos e tudo testado antes de ir para produção.

Diagrama da arquitetura do K-Track
O navegador conversa com a API; a API cuida do banco, dos catálogos e dos avisos.

Uma pilha enxuta. O servidor é em Python, com FastAPI e SQLite. A interface é HTML e JavaScript puros, com o Tailwind compilado localmente. Sem framework de front-end e sem etapa de build obrigatória: o app inteiro sobe num único container.

Seis catálogos, nenhum perfeito. Séries vêm do TVMaze; livros, do Open Library e do Google Books; animes e mangás, do Jikan (MyAnimeList) e do MangaDex; filmes, do iTunes. Cada API tem limite de requisições, formato e lacunas diferentes. Por isso o app guarda as buscas em cache, tenta de novo quando a API pede calma (o famoso erro 429) e prefere edições brasileiras quando elas existem.

Segurança revisada de ponta a ponta. Antes de divulgar, revisei o app inteiro:

  • toda rota de edição confere se o item pertence a quem está logado;
  • as senhas usam PBKDF2-HMAC-SHA256 com 310 mil iterações, e contas antigas migram para o formato novo no próximo login;
  • todo texto vindo de usuários ou de APIs externas é escapado antes de virar HTML;
  • há limite de tentativas no login e no cadastro, e sair da conta invalida a sessão no servidor;
  • todas as respostas levam cabeçalhos de segurança, como a Content-Security-Policy.

Testes de verdade. São 89 testes automatizados com pytest, cobrindo autenticação, isolamento entre usuários, importação e exportação, planos e as integrações com os catálogos.

O bug que só aparece em produção. Na primeira publicação da versão nova, o container entrou em loop de reinício. O motivo: a imagem passou a rodar com um usuário sem privilégios de root, como deve ser, mas o volume com o banco ainda pertencia ao root da versão anterior, e o SQLite não conseguia gravar. A correção foi um script de entrada que ajusta o dono da pasta de dados e só então troca para o usuário restrito. Ficou a lição: testar a atualização de uma instalação existente, não só a instalação do zero.

IA como par de programação. Usei o Claude, da Anthropic, como par de programação durante o desenvolvimento. Eu definia o produto e as prioridades, revisava cada mudança e testava no navegador; a IA acelerava a escrita do código, dos testes e da revisão de segurança. O resultado é um app que eu entendo por completo e mantenho sozinho.

Experimente

O cadastro está aberto:

  1. Acesse k-track.kelvencardoso.tech e crie sua conta.
  2. Busque a série, o anime ou o livro que você está acompanhando agora.
  3. Escolha o status. Pronto: o app passa a mostrar o próximo episódio ou volume.

Encontrou um erro ou sentiu falta de alguma coisa? Me mande uma mensagem. E se você precisa de algo parecido na sua empresa, com dados de várias fontes reunidos num lugar só, esse é exatamente o tipo de problema que eu gosto de resolver.