Projetos Pessoais

Apps pessoais que eu desenho, construo e lanço de ponta a ponta — além do trabalho.

Projeto pessoal em destaque

LoopBeat

Sua música. Em todo lugar.

Uma ferramenta pessoal de música sem senha e com acesso por convite. Cole uma URL do YouTube, uma busca ou um link de playlist do Spotify / Apple Music — o LoopBeat baixa o áudio, transcodifica para MP3 ou AAC, armazena em object storage e entrega um link de download assinado de curta duração.

Astro + React 19FastAPI · Python 3.11Postgres + Cloudflare R2

Como foi construído

Da frente ao back, cada serviço conectado — em um relance.

web

Front-end

Site estático Astro 5 com "islands" React 19, implantado na Vercel. O navegador só fala com a própria origem — a Vercel reescreve /api/* para o backend no servidor, mantendo sessões first-party.

Astro 5React 19TailwindTypeScriptVercel
dns

Back-end

FastAPI (Python 3.11) em container no Render. Downloads rodam como tarefas em background — yt-dlp puxa o áudio, ffmpeg transcodifica — e podem ser delegados a um worker self-hosted no meu servidor, acessado via Cloudflare Tunnel.

FastAPIyt-dlpffmpegRenderCloudflare Tunnel
storage

Banco de dados

Neon / Postgres via SQLAlchemy guarda apenas metadados — usuários, sessões, jobs, matches de playlist. O áudio nunca fica no DB. Segredos são armazenados como hashes, nunca em texto puro.

Neon PostgresSQLAlchemyAlembic
cloud

Armazenamento de áudio

Os arquivos de áudio ficam no Cloudflare R2 sob chaves aleatórias. Reprodução e downloads usam links assinados de curta duração que o app renova, mantendo sua biblioteca disponível sem expor os arquivos brutos.

Cloudflare R2Chaves aleatóriasLinks auto-renovados
lock

Login

Sem senha e com acesso por convite. Peça um magic link por e-mail (via Resend) ou entre com passkey (WebAuthn) — em ambos os casos você cai na mesma sessão segura, sem senha armazenada.

Magic linkPasskeysResendAcesso por convite
hub

Serviços conectados

Spotify e Apple Music fornecem metadados de playlist; a YouTube Data API alimenta o autocomplete de busca ao vivo; o yt-dlp busca o áudio real no YouTube.

Spotify APIApple MusicYouTube Data APIyt-dlp

De um link à sua biblioteca

Como uma música é realmente armazenada e servida.

  1. link
    Cole ou busqueURL do YouTube / Spotify ou uma consulta simples
    arrow_forward
  2. download
    Downloadyt-dlp puxa o melhor áudio disponível
    arrow_forward
  3. graphic_eq
    Transcodificaffmpeg → MP3 ou AAC a 192 / 320 kbps
    arrow_forward
  4. cloud_upload
    Armazena no R2Enviado ao Cloudflare com chave UUID
    arrow_forward
  5. vpn_key
    Link assinadoURL assinada de curta duração para ouvir / salvar

Dentro do app

Dashboard e busca ao vivo.

Dashboard — formulário de download + histórico