Feed sem algoritmo: como implementar uma timeline cronológica

Feed sem algoritmo: como implementar uma timeline cronológica

A opção “sem algoritmo” não elimina algoritmos das redes sociais: ela muda quem decide a ordem do feed. Essa diferença importa para quem projeta sistemas de recomendação, porque oferecer uma timeline cronológica exige mudanças em produto, dados e interface — não apenas um botão para desligar uma função.

Segundo o Abril.com.br, o governo australiano propôs um novo código para obrigar plataformas a oferecer uma alternativa ao feed personalizado por algoritmo. A iniciativa, chamada “My feed, my way”, ainda seria submetida a discussão e audiências públicas. Portanto, estamos falando de uma proposta, não de uma regra já em vigor.

Para desenvolvedores, o ponto central é o controle explícito do usuário. Em vez de presumir que uma classificação automatizada é sempre desejável, a plataforma teria de apresentar opções compreensíveis: um feed recomendado e outro limitado às publicações de amigos e perfis seguidos. Implementar isso bem é mais difícil do que parece.

O que significa oferecer um feed sem algoritmo de recomendação

Todo feed precisa de algum critério para mostrar itens. Até uma timeline cronológica usa lógica: filtra publicações, verifica permissões, ordena por data e pagina os resultados. Assim, “sem algoritmo” normalmente quer dizer sem ranqueamento personalizado, não sem código ou processamento.

No feed personalizado, o sistema pode estimar quais publicações têm maior chance de interessar àquela pessoa. Para isso, combina sinais como relações de seguimento, interações anteriores, atualidade, formato do conteúdo e objetivos definidos pela plataforma. Cada empresa implementa esses mecanismos de forma diferente, e a proposta australiana não especifica um algoritmo técnico único.

Já uma opção cronológica pode mostrar primeiro as publicações mais recentes de contas seguidas. A regra é mais fácil de explicar e auditar, mas não resolve todos os problemas: um usuário que segue milhares de contas pode receber um volume impossível de acompanhar. “Cronológico” é uma escolha de ordenação, não uma garantia de um feed útil ou seguro.

Por que a escolha do feed é uma decisão de produto e de arquitetura

Um sistema de recomendação costuma separar etapas como seleção de candidatos, cálculo de pontuação, aplicação de regras e ordenação final. Primeiro, busca possíveis publicações; depois, estima relevância; por fim, aplica limites de segurança e entrega uma página de resultados. Uma timeline de quem o usuário segue pode reutilizar parte da infraestrutura, mas precisa impedir que a etapa de ranqueamento personalizado altere a ordem.

Isso afeta também o modelo de dados. Para montar um feed cronológico com baixa latência, a plataforma pode manter índices por autor, listas de seguidores ou estruturas pré-calculadas. Cada alternativa envolve custos diferentes de armazenamento, atualização e leitura. Sistemas grandes frequentemente combinam abordagens: uma parte dos dados é distribuída na publicação, outra é buscada quando o usuário abre o feed.

Também há uma decisão de interface. Se a opção estiver escondida em configurações profundas, pouca gente vai encontrá-la. Se a tela apresentar apenas “com algoritmo” e “sem algoritmo”, sem explicar as consequências, a escolha pode ser tecnicamente disponível e ainda assim pouco informada.

Transparência sem prometer neutralidade

Um modo cronológico não é automaticamente neutro. Quem a pessoa segue, quem publica com frequência e quais conteúdos são removidos continuam influenciando o resultado. Da mesma forma, o feed personalizado não é necessariamente ruim: pode ajudar a descobrir conteúdo relevante em redes muito grandes. O problema aparece quando os critérios são opacos, difíceis de controlar ou incompatíveis com as expectativas do usuário.

Na minha leitura, a proposta é interessante porque trata a escolha do feed como uma preferência do usuário, e não só como um detalhe interno do produto. Para engenheiros, isso traz uma exigência de design importante: explicar o efeito da opção sem sugerir que um modo é universalmente melhor.

Feed cronológico e feed personalizado: diferenças práticas

Aspecto Feed cronológico de contas seguidas Feed personalizado
Ordenação Em geral, pela data de publicação Por uma pontuação calculada pelo sistema
Explicabilidade Mais simples de comunicar e depurar Depende dos sinais e das regras usados
Descoberta Limitada principalmente à rede seguida Pode incluir recomendações fora da rede direta
Desafio técnico Escala, volume e atualização dos índices Qualidade do ranqueamento, vieses e transparência

Essa comparação não significa que toda plataforma ofereça exatamente essas duas opções hoje. Produtos diferentes têm feeds, controles e políticas diferentes. O ponto é distinguir claramente os modos possíveis antes de implementar ou avaliar uma solução.

Na Prática: um seletor entre feed personalizado e cronológico

Para demonstrar a diferença, o exemplo abaixo cria dois modos. O modo personalizado ordena por uma pontuação simples de afinidade e atualidade. O modo “seguindo” filtra as contas selecionadas e ordena pela data, sem usar afinidade para decidir a posição.

Em produção, não trataria essa pontuação de demonstração como um recomendador real. Um sistema de recomendação precisa de métricas, testes, tratamento de abuso, controles de privacidade e monitoramento. Aqui, o objetivo é tornar explícita a separação entre filtro de elegibilidade e critério de ordenação.

function buildFeed(posts, mode, followedAuthorIds, now = Date.now()) {
  const followed = new Set(followedAuthorIds);

  if (mode === "following") {
    return posts
      .filter(post => followed.has(post.authorId))
      .sort((a, b) =>
        new Date(b.createdAt).getTime() -
        new Date(a.createdAt).getTime()
      );
  }

  if (mode === "personalized") {
    return [...posts]
      .map(post => {
        const ageHours =
          (now - new Date(post.createdAt).getTime()) / 3_600_000;

        const recencyScore = 1 / (1 + Math.max(ageHours, 0) / 24);
        const affinityScore = Number(post.affinity ?? 0);

        return {
          ...post,
          score: affinityScore * 0.7 + recencyScore * 0.3
        };
      })
      .sort((a, b) => b.score - a.score);
  }

  throw new Error(`Modo de feed inválido: ${mode}`);
}

const posts = [
  {
    id: "p1",
    authorId: "ana",
    createdAt: "2026-09-20T10:00:00Z",
    affinity: 0.3
  },
  {
    id: "p2",
    authorId: "caio",
    createdAt: "2026-09-20T11:00:00Z",
    affinity: 0.95
  },
  {
    id: "p3",
    authorId: "ana",
    createdAt: "2026-09-20T12:00:00Z",
    affinity: 0.4
  }
];

const followedAuthorIds = ["ana"];

console.log(buildFeed(posts, "following", followedAuthorIds));
console.log(buildFeed(posts, "personalized", followedAuthorIds));

A distinção mais importante está no fluxo: no modo “following”, a afinidade não participa da ordenação. Se a interface disser que o feed é cronológico, mas uma etapa posterior reorganizar os itens por engajamento, a promessa do produto não corresponde ao comportamento real.

Passo a passo para implementar a escolha

  1. Defina os modos com precisão. Documente se “seguindo” inclui todas as publicações dessas contas, se há filtros de segurança e qual regra ordena os itens.
  2. Salve a preferência no perfil. Use uma configuração explícita e persistente, em vez de depender apenas do estado temporário da tela.
  3. Separe seleção de ordenação. Filtrar quais publicações são elegíveis não é a mesma coisa que decidir a posição de cada publicação.
  4. Mostre o modo ativo. Uma indicação visível reduz surpresas e ajuda a pessoa a entender por que o feed está diferente.
  5. Teste comportamento e desempenho. Compare consistência da ordenação, tempo de resposta, paginação e atualização após novas publicações.

Erros comuns ao criar feeds com controle do usuário

  • Chamar qualquer timeline de “sem algoritmo”. A plataforma ainda precisa filtrar, ordenar e aplicar regras. Descreva o comportamento observável, como “publicações de quem você segue, da mais recente para a mais antiga”.
  • Reordenar silenciosamente depois da paginação. Se cada página é montada com critérios diferentes, itens podem saltar, repetir ou desaparecer ao atualizar o feed. A ordenação precisa ser estável dentro de uma sessão ou cursor.
  • Confundir preferências com permissões. Escolher um feed não deve contornar bloqueios, controles de privacidade ou regras de segurança. Esses limites precisam ser aplicados em todos os modos.
  • Expor um seletor sem explicar os efeitos. “Personalizado” e “cronológico” são termos mais claros quando acompanhados de uma descrição curta e concreta.
  • Tratar a opção como configuração definitiva. Preferências mudam. A pessoa deve conseguir alternar de modo sem perder o contexto nem precisar refazer sua configuração toda vez.
  • Medir sucesso só por engajamento. Mais cliques ou mais tempo de uso não provam que a experiência melhorou. Considere também compreensão do controle, satisfação, diversidade percebida e facilidade de encontrar publicações recentes.

O que a proposta australiana pode significar para quem desenvolve

Se a proposta avançar, plataformas afetadas poderão ter de tratar a seleção do feed como requisito de produto e de conformidade. Isso pode envolver registro da preferência, apresentação clara das alternativas e evidências de que o modo escolhido produz o comportamento prometido. Os detalhes dependem do texto final e das regras aplicáveis; não dá para inferir obrigações técnicas específicas apenas pela descrição jornalística.

Mesmo sem uma mudança regulatória imediata, há uma lição útil para equipes de engenharia: preferências importantes precisam atravessar toda a arquitetura. Não basta adicionar um botão no frontend. API, serviço de ranking, cache, paginação e testes precisam respeitar a mesma configuração.

Eu começaria adicionando testes de contrato para cada modo. Por exemplo: no modo cronológico, todas as publicações exibidas pertencem à rede seguida e a data nunca cresce entre itens consecutivos. No modo personalizado, o sistema pode aplicar seu ranqueamento documentado, desde que continue obedecendo a bloqueios e demais restrições. Isso transforma uma promessa de interface em comportamento verificável.

Perguntas frequentes sobre feed sem algoritmo

Um feed sem algoritmo é realmente possível?

Um feed sem qualquer lógica não é prático: a plataforma ainda precisa buscar, filtrar e ordenar publicações. O que normalmente se quer dizer é um feed sem ranqueamento personalizado, como uma lista cronológica de contas seguidas.

Feed cronológico significa que vou ver tudo o que meus amigos publicam?

Não necessariamente. Limites de carregamento, configurações de privacidade, bloqueios, moderação e filtros podem afetar o que aparece. A plataforma precisa explicar quais regras continuam valendo naquele modo.

A proposta australiana já obriga as redes sociais a oferecer essa opção?

De acordo com a notícia do Abril.com.br, trata-se de uma proposta apresentada pelo governo e sujeita a discussão e audiências públicas. A descrição não indica que a obrigação já esteja em vigor.

Como testar se o modo cronológico está funcionando?

Crie testes automatizados que verifiquem a rede de autores permitida e a ordenação por data, incluindo casos de paginação e novas publicações. Também teste bloqueios e privacidade para garantir que a troca de feed não contorne essas regras.

Um feed personalizado é sempre pior para o usuário?

Não. Pode ajudar a encontrar conteúdo relevante em redes extensas. O desafio é evitar que a personalização seja opaca ou impossível de controlar e oferecer uma alternativa compreensível para quem prefere outra forma de organização.

Gostou? Me segue no GitHub e deixa um comentário se tiver dúvida ou quiser aprofundar algum ponto.

Y

Yuri Sousa

Front-End Developer / Designer

Desenvolvedor apaixonado por criar experiências digitais acessíveis e visualmente perfeitas. Escrevo sobre desenvolvimento web, design e tecnologia.