Booker: Primeiros passos como indie hacker

PUBLISHED ON SEP 8, 2026 / 2 MIN READ

Eu gosto muito de ler na internet, mas sempre odiei ler no browser. Quando pego algo para ler e não consigo terminar por qualquer motivo, ou fica parado em uma aba ou vai para um bookmark.

O que eu mais tenho nos bookmarks são pastas de coisas para ler depois. Dezenas delas.

Brave

Meu Brave atualmente

Já tem um tempo que tenho achado isso impraticável. E como todo bom software engineer, ao invés de usar uma ferramenta pronta, porque não fazer a minha?

Mas qual seria a forma mais simples para resolver? Como, onde e de que forma eu iria consumir esse conteúdo? Assim nasceu a primeira versão.

Resolvendo o meu problema

Decidi fazer um CLI em Go para gerar um EPUB, com a ideia de passar uma lista de links e cada um virar um capítulo, na mesma ordem de entrada.

Adicionei mais umas coisas e o projeto ficou com a seguinte estrutura:

├── assets
│   ├── covers       # 30 imagens tratadas do Pexels para servir de capa
│   ├── fonts        # Fontes customizadas. Roboto (título), Baskerville (corpo)
│   └── templates    # CSS customizado
└── internal
    ├── cover        # Gerador de capa
    ├── epub         # Compila o EPUB final
    ├── extract      # Parser transforma HTML em um objeto estruturado (model)
    │   └── testdata # Posts de exemplo para testes unitários
    ├── fetch        # Cliente HTTP
    ├── ingest       # Ligação entre a camada de cache e parser
    ├── model        # Objetos de domínio (Post, Image, Book, Chapter)
    └── store        # Cache usando SQLite

No final, para cada link passado ele:

  • Verifica se o link não está no cache
  • Se sim, retorna
  • Se não, faz o download do HTML e envia para o parser
  • No parser removemos footer, advertisements e qualquer outra coisa irrelevante
  • Salvamos os dados no cache
  • Começamos a geração do EPUB; capa, define os capítulos, salva no disco

Assim ficou a primeira versão com Bubble Tea:

CLI

CLI rodando com Bubble Tea

Agora eu posso mandar pro Kindle ou ler no Books do Mac a hora que eu quiser. Ganho de graça todas as features dos leitores como marcação de página, tempo de leitura, sincronização entre meus devices, etc.

Um passo além

Já tinha esse setup funcionando há um tempo, mas havia algumas partes chatas:

  • Guardar os links me algum lugar (txt, abas) até passar eles pro CLI
  • Enviar para o Kindle via Send-to-Kindle manualmente
  • Reprocessar livros manualmente quando faço uma melhoria no parser

Então isso se tornou uma grande ideia para um projeto que possívelmente ninguém vai comprar!

Assim nasceu o Booker!

Ele está bem longe de ser feature-perfect. Esse é um projeto onde eu quero estudar várias soluções, tecnologias enquanto leio meus artigos. Estou sem muita pretenção dele se tornar um produto viável financeiramente. Se for útil para uma dúzia de pessoas, to feliz.

Nos próximos posts vou me aprofundar mais nas decisões de arquitetura e como migrei do CLI para SaaS.

Stay tuned! ;)