QSObook: meu caderno livre de contatos de radioamador

outubro 24, 2026

Estou criando um projeto que junta dois interesses meus: radioamadorismo e software livre. O nome é QSObook, e a proposta é ter um caderno digital de contatos de rádio simples, que funcione e que eu possa manter no meu próprio computador.

Sou radioamador, com o indicativo PU4ADW, e quero abrir um espaço aqui no Balaio Científico para compartilhar também esse lado da minha curiosidade. Dessa vez, além de falar do hobby, quero apresentar uma ferramenta que estou construindo e convidar quem se interessa pelo assunto a acompanhar o desenvolvimento.

O QSObook está no começo. Já existe uma primeira versão funcional, mas ainda há bastante coisa para melhorar. Quero contar com clareza o que estou fazendo, sem apresentar planos como se já estivessem prontos.

Um caderno para os contatos pelo rádio

Para quem chegou ao assunto agora, uso a palavra QSO aqui para me referir a um contato pelo rádio. O caderno é o lugar para registrar esses contatos e consultar depois com quem conversamos, quando aconteceu e quais observações vale a pena guardar.

A ideia do QSObook parte daí. Quero conseguir anotar um indicativo, organizar os dados da estação e encontrar um contato anterior sem transformar essa tarefa em um trabalho à parte. O programa precisa ajudar na prática do hobby, com uma interface direta e um funcionamento fácil de entender.

Não tenho a intenção de começar com uma lista enorme de recursos. Prefiro construir uma base que faça bem o essencial e ir acrescentando o que fizer sentido. Para mim, simplicidade também é conseguir voltar ao programa depois de um tempo e entender onde estão as coisas.

O que já dá para fazer no QSObook

Na primeira versão, já é possível cadastrar estações com indicativo, nome, cidade, estado, país e observações. O caderno permite registrar contatos, consultar o histórico, buscar por indicativo ou nome e editar os dados disponíveis de cada registro.

Também existe um Modo QSO, com uma tabela de participantes da rodada. Posso organizar as estações que estão participando e registrar o contato no caderno permanente. Retirar alguém dessa tabela mantém os contatos que já foram registrados.

Quando digito um indicativo que já está cadastrado, o programa pode preencher os dados locais e mostrar quantos contatos anteriores existem. Esses dados continuam editáveis. Não é uma consulta a um serviço externo: é o próprio histórico ajudando no preenchimento.

Um detalhe de que gosto nessa organização é a separação entre o cadastro atual da estação e o contato que aconteceu. Cada QSO guarda uma cópia dos dados daquele momento. Assim, atualizar o cadastro de uma estação não reescreve automaticamente os contatos antigos.

Autohospedagem e dados sob meu controle

Quero desenvolver o QSObook com foco em autohospedagem: poder executar o programa em um equipamento sob meu controle, sem depender de uma conta em um serviço para acessar meu caderno.

Hoje, essa proposta começa pelo uso local. O programa roda no computador e a interface abre no navegador desse mesmo equipamento. Os dados ficam em um banco SQLite local. Depois de compilado, ele pode funcionar sem conexão com a internet.

A configuração padrão aceita apenas conexões locais, sem autenticação. O projeto também ganhou um modo opcional para rede doméstica confiável, com senha obrigatória e endereços permitidos definidos. O guia da beta explica os limites: esse modo usa HTTP, que não cifra senha nem dados, e não deve ser exposto diretamente à internet. O ponto de partida continua sendo um caderno pessoal sob seu controle.

O projeto também não inclui telemetria, analytics ou consultas externas obrigatórias de indicativos. Gosto da ideia de uma ferramenta cuja função seja organizar meus contatos, com menos dependências no uso cotidiano.

Estou fazendo aos poucos, com uma base simples

Na parte técnica, estou usando Go e SQLite, com uma interface em HTML, CSS e JavaScript puro. Os recursos da interface acompanham o executável. É uma estrutura relativamente enxuta, que combina com o tipo de programa que quero criar.

O desenvolvimento está organizado em etapas, com documentação e testes para o armazenamento dos dados e os fluxos principais. Há um roadmap no repositório, que ajuda a acompanhar o que já existe e o que ainda é planejamento.

Exportação, importação e suporte ao formato ADIF ainda não estão disponíveis nesta versão. São assuntos importantes para a evolução do caderno. Quero tratar a portabilidade com cuidado: registrar contatos só faz sentido se também pensarmos em como preservar e aproveitar esse histórico no futuro.

E o aplicativo para Android?

Quero criar também um aplicativo para Android. Faz parte da direção que imagino para o QSObook, levando essa proposta de simplicidade para o celular.

Por enquanto, o que está disponível é a aplicação local com interface pelo navegador. O aplicativo Android é um próximo passo que pretendo desenvolver depois de firmar essa base; ainda não há uma versão para instalar nem uma data de lançamento definida.

Prefiro compartilhar esse caminho aos poucos. Quero poder mostrar o projeto evoluindo, ouvir sugestões e entender melhor o que realmente ajuda quem está usando.

Código aberto e um convite para acompanhar

O código do QSObook está público no GitHub, sob a licença GNU AGPL versão 3. É software livre: você pode estudar o código, usar, modificar e compartilhar, respeitando os termos da licença. A distribuição oficial é gratuita.

Essa escolha combina com o que quero incentivar aqui no Balaio: mais autonomia, conhecimento acessível e ferramentas que possamos compreender e adaptar. Não preciso inventar uma plataforma enorme para começar a contribuir. Um programa pequeno, útil e aberto já é um bom começo.

Se você é radioamador, gosta de software livre ou simplesmente tem curiosidade, fica o convite: conheça o QSObook e acompanhe o desenvolvimento. Uma estrela no repositório ajuda outras pessoas a encontrarem o projeto; sugestões e relatos de uso também são bem-vindos, seguindo as orientações de contribuição.

Quero continuar contando por aqui o que estou aprendendo com essa construção. Por enquanto, o objetivo é bem concreto: fazer um caderno de contatos simples, que funcione, e melhorar um passo de cada vez.