13 pontos por GN⁺ 2025-10-08 | 1 comentários | Compartilhar no WhatsApp
  • Reúne todos os dados pessoais — como fotos, vídeos, mensagens, histórico de localização, conteúdo de redes sociais e contatos — e os organiza em ordem cronológica em uma ferramenta local de arquivamento em linha do tempo
  • Importa dados de vários serviços, como Google Takeout, iCloud, Facebook, Twitter/X, Strava e Instagram, e os organiza automaticamente em um banco de dados baseado em SQLite
  • Oferece recursos de exploração visual como mapa, visualização 3D, visualização integrada de conversas e reconhecimento de entidades, mostrando também as relações entre diferentes dados, como mensagens, fotos e localizações
  • Todos os dados são armazenados no PC pessoal, e não na nuvem, eliminando o risco de vazamento externo, e permitindo explorar os arquivos originais como estão
  • É um projeto de autobiografia digital que reconstrói visualmente a vida da pessoa e pode se expandir para compartilhamento de dados entre familiares ou preservação de legado digital

Visão geral

  • Timelinize é uma ferramenta local de integração de dados que reúne diferentes rastros digitais pessoais em uma única linha do tempo integrada
  • Coleta fotos, vídeos, conversas, redes sociais, histórico de localização e contatos, reorganizando tudo com foco em tempo, espaço e pessoas
  • Permite registrar com riqueza de detalhes o cotidiano da pessoa e da família, possibilitando uma exploração de histórias mais completa e profunda do que bibliotecas de fotos ou apps de diário tradicionais
  • Funciona no navegador e permanece acessível mesmo offline
  • Não substitui os diversos apps e serviços já usados, mas cria um backup permanente e pessoal de todos os dados com que o usuário trabalha
  • O Timelinize opera “nos bastidores” do ambiente já existente e cumpre o papel de um arquivo em segundo plano que não interfere na vida do usuário

Principais recursos

  • Suporte a diversas fontes de dados
    • Importa diretamente formatos de exportação de dados GDPR de Google Takeout, Apple iCloud, Facebook, Instagram, Twitter/X, Strava e outros
    • Reconhece e organiza automaticamente arquivos .zip ou .tar sem necessidade de descompactar
  • Interface de exploração visual
    • Visualização de linha do tempo: exibe de forma integrada todos os itens de dados por data
    • Visualização de mapa 3D: com base nos dados de localização, mostra o trajeto ao longo do tempo
    • Gráfico de bolhas: analisa quais tipos de dados foram mais registrados em cada horário do dia
  • Estrutura de dados baseada em entidades
    • Organiza as relações dos dados em torno de entidades como pessoas, animais e instituições
    • Reconhece automaticamente a mesma pessoa ou organização e permite mesclagem manual quando necessário
  • Integração de conversas
    • Conecta mensagens de plataformas diferentes em uma única visualização de Conversations
    • Junta Facebook Messenger e SMS em um só fluxo para restaurar o contexto da conversa
  • Integração de galeria
    • Exibe, além da biblioteca de fotos, imagens enviadas em mensagens ou redes sociais, memes e mais
    • Oferece vários filtros para explorar por mídia ou tema

Estrutura e funcionamento

  • Os dados são organizados no disco local em uma estrutura de pastas por data, enquanto os metadados são armazenados em um banco SQLite
  • Oferece HTTP API e CLI de forma simétrica, permitindo executar os mesmos comandos tanto na web quanto na linha de comando
  • Usa um esquema baseado em JSON para converter automaticamente argumentos de comando e campos de formulário HTTP
  • Disponibiliza ambiente Dev Container para configurar um ambiente de desenvolvimento baseado em Docker

Filosofia e visão do projeto

  • O objetivo central do projeto é a preservação autônoma e a libertação dos dados pessoais
    • Foi projetado para que a própria pessoa gerencie seus dados diretamente, prevenindo o risco de desaparecimento de serviços de nuvem centralizados
    • Ao visualizar a vida em formato quantificado, pode evoluir para uma autobiografia digital ou um registro histórico familiar
  • No longo prazo, apresenta o ideal de mesclar linhas do tempo individuais para compor uma “linha do tempo de toda a humanidade”

Desenvolvimento e instalação

  • É possível baixar a release mais recente para Linux, macOS e Windows
  • É possível desenvolver com Dev Container em um ambiente VSCode + Docker
  • O projeto é distribuído sob a licença AGPL, restringindo a reutilização comercial

Histórico do projeto

  • Começou em 2013 como o projeto pessoal “Photobak” e depois se expandiu para uma ferramenta de backup de Google Photos, Facebook e Twitter
  • Mais tarde evoluiu com suporte multiusuário e integração de dados de localização, chegando ao formato atual do Timelinize
  • O criador também é desenvolvedor do servidor Caddy e conduz este projeto como um experimento de longo prazo em prol da soberania dos dados pessoais

1 comentários

 
GN⁺ 2025-10-08
Comentários no Hacker News
  • Acho um serviço excelente, mas queria que isso fosse muito mais longe e chegasse a substituir até o Nextcloud e o Zotero, registrando todos os documentos e livros que eu adiciono, abro ou modifico, todas as notas que escrevo, as abas do navegador que abro, copiar/colar e até as teclas digitadas, para responder na hora perguntas como "o que eu estava fazendo neste dia, duas semanas atrás?"; tudo isso precisaria ser pesquisável e obrigatoriamente self-hosted, e não com o objetivo de virar software de vigilância; quando vejo pessoas usando sistemas de links manuais no Obsidian, fico pensando que a perspectiva do tempo é ainda mais importante; se eu pesquiso algo na Wikipédia hoje, há uma boa chance de eu também encontrar informações parecidas ou fazer coisas relacionadas nesse mesmo momento, e isso é muito significativo

    • Lembro que a Microsoft tinha um produto para ajudar a fazer recall do que eu estava fazendo antes

    • Não consegui achar o link exato, mas lembro de alguém ter proposto a ideia de um sistema computacional em que todos os objetos existam puramente com base no tempo, e todo o resto seja acessado só por filtros; queria encontrar isso de novo

    • Até a parte de substituir Nextcloud e Zotero e armazenar todas as notas, abas do navegador, área de transferência e até teclas digitadas parece realmente útil no longo prazo, mas registrar abas do navegador, teclas digitadas etc. me parece detalhado demais; não acho que precise chegar a esse ponto, mas acredito que vale a pena tentar registrar e compreender a própria vida com dados, e este app também partiu dessa mesma preocupação

  • mholt é conhecido por ter criado o servidor web Caddy, então isso aumenta ainda mais meu interesse no Timelinize

  • Há 10 anos eu precisava exatamente de um produto assim, então venho registrando dados de GPS a cada 2 ou 3 minutos; acho isso extremamente interessante

    • Fiquei curioso para saber como você vem registrando esse histórico de GPS
  • O Timelinize é um sistema entity-aware, então mesmo sem dados de coordenadas ele consegue mostrar no mapa informações temporalmente semelhantes por entidade; isso me faz perceber o quanto o Google pode combinar meus dados com base em Android/Chrome/Gmail/Maps/Timeline; fiquei curioso sobre como exatamente os dados meteorológicos serão usados, por exemplo, se estão pensando em conectar entidades com localização ao histórico de clima

    • Sim, a ideia é usar dessa forma; também dá para integrar dados públicos como clima/notícias para adicionar mais contexto à timeline
  • Acho a ideia muito legal, mas se eu tiver que executar o Google Takeout toda vez que adicionar dados, fica trabalhoso demais; seria um killer app de verdade se tivesse atualização em tempo real, então é uma pena
    Documentação da fonte de dados do Google Fotos

    • Isso é realmente um grande obstáculo; tentei automatizar com Chrome headless, mas na prática era preciso autenticar fisicamente a cada 10 minutos, então a automação fica praticamente impossível; em geral, faço Takeout uma ou duas vezes por ano e acho bom fazer isso de qualquer forma, mesmo sem usar Timelinize, como forma de backup dos dados
  • Tenho muito interesse neste serviço, (e também agradeço pelo Caddy)
    Queria saber como vocês lidam com atualização/correção de dados; quando se importa dados semiestruturados e, por exemplo, um evento de "jog" passa a ser refinado em "light run" e "intense walk", com aplicação retroativa aos dados antigos, você precisa reimportar dados duplicados; no FAQ só fala de importação aditiva, mas como a estrutura dos dados muda o tempo todo, não quero sofrer com atualizações SQL e por isso hoje faço controle de versão com texto puro e git; assim a pessoa consegue acompanhar as mudanças dos dados como se estivesse viajando no tempo

    • Obrigado por gostar do Caddy,
      nas opções avançadas de importação você pode definir a unicidade dos itens e como duplicatas são identificadas; também pode escolher diretamente como tratar duplicatas; por padrão, duplicatas são ignoradas, mas também é possível atualizar, e você pode definir qual valor terá prioridade; no entanto, atualizações são consultas UPDATE, então não podem ser desfeitas; também experimentei um esquema puramente aditivo, mas na prática era difícil por causa da complexidade, do risco de erros e do desempenho mais lento na navegação; ainda assim, continuo pensando na possibilidade, porque poder percorrer a timeline e ver as transformações ao longo do tempo tem muito potencial
  • Este serviço seria perfeito se fosse combinado com registros financeiros (por exemplo, dados bancários) e um LLM local,
    Não sei exatamente como isso seria usado, mas com base no histórico de mensagens, localização etc., daria para analisar gastos no cartão, classificá-los em orçamento e mostrar várias estatísticas,
    Se você tiver um carro conectado à nuvem como um Tesla, também poderia classificar automaticamente deslocamentos de trabalho/pessoais, despesas etc. para fins fiscais,
    Também parece útil para recomendação de experiências locais que você ainda não fez e para gestão do tempo

    • ledger.txt (plaintextaccounting.org), integração com g-cal e Home Assistant estão todos se reunindo de forma parecida

    • Eu também ouço esse tipo de coisa com muita frequência e tenho grandes expectativas em relação à integração de informações financeiras e LLMs; acho isso realmente interessante e útil, e também algo viável como assistente pessoal do ponto de vista da proteção de dados pessoais

  • O projeto é legal; se você não gosta do nome timelinize, já pensou em um nome em latim, por exemplo algo como Temperi
    E também seria ótimo ter suporte ao FindPenguins, que tem vários tipos de dados como GPS, fotos e texto

    • Já me sugeriram nomes em latim várias vezes, mas a maioria é difícil de soletrar e pronunciar, então não representava uma melhora muito significativa; também acho o FindPenguins um bom serviço; eu não o uso, mas qualquer pessoa pode implementar e adicionar sua própria fonte de dados
  • Ultimamente tenho ficado frustrado com o fato de que as ferramentas de histórico de localização estão cada vez mais fechadas, e acho que este projeto é um avanço importante para recuperar a verdadeira propriedade sobre os dados; com certeza vou experimentar

    • Concordo, penso da mesma forma
  • Parece realmente muito legal e o tipo de serviço que eu queria sem perceber,
    Tenho algumas ideias

  • Como a sensibilidade de privacidade é alta, o ideal seria fazer self-hosting em casa, atrás de uma VPN como Wireguard ou Tailscale, e seria ótimo se fosse um aplicativo com criptografia E2E como o Ente.io

  • Seria bom separar índice e backend de armazenamento, para que fotos etc. possam ficar onde já estão (Immich, Ente.io etc.) e evitar armazenamento duplicado; como o Timelinize não vai substituir todos os tipos de dados, eu gostaria de usá-lo em paralelo com apps especializados que tratam melhor cada tipo de dado

  • Também seria muito melhor se houvesse suporte para importar histórico de viagens do Polarsteps e backup do Signal
    GitHub da ferramenta de backup do Signal

    • Obrigado pelas boas perguntas e comentários
    • O modelo é realmente rodar isso em um computador pessoal em casa
    • Se for hospedado fora, o dono do hardware sempre pode ter acesso físico a qualquer momento, então acho difícil falar em privacidade real; também considerei algo como banco de dados criptografado em tempo real, mas como no processamento de qualquer forma é preciso descriptografar, isso me parece logicamente impossível ou extremamente incômodo e frágil; posso estar errado, mas não vejo uma alternativa prática
    • Quanto à duplicação de dados, o objetivo é deliberadamente copiar os dados para dentro desta timeline; isso também funciona como backup e garante consistência, confiabilidade e disponibilidade; outros apps, como o PhotoStructure, fazem só indexação e não criam cópias dos dados; seria difícil para o Timelinize impor esse outro modelo
    • Quero oferecer suporte a várias fontes de dados, incluindo Polarsteps e Signal; os dados do Signal mudam de formato com frequência e também são criptografados, então foi difícil importar isso de forma confiável; mas qualquer pessoa pode adicionar novas fontes por conta própria e, no futuro, pretendo disponibilizar também uma API de importação; a ideia é permitir que scripts ou apps externos também enviem dados para o Timelinize
    • No fim das contas, como o objetivo do Timelinize é realmente garantir a posse prática dos dados, acho aceitável tolerar certo nível de duplicação; armazenamento está cada vez mais barato e, mesmo quando é caro, ainda vale a pena