O PocketBase é um backend completo em um único executável (12 MB de download) que pode substituir o Supabase ou o Firebase. Você executa e já tem um banco SQLite com assinaturas em tempo real, uma API REST pronta para usar e um painel para criar suas coleções sem escrever SQL. Ele também cuida de usuários (email e senha, cerca de quinze provedores OAuth2 como Google ou GitHub) e de armazenamento de arquivos, no seu disco ou no S3. Seu app se conecta pelos SDKs de JavaScript ou Dart, e a lógica do seu servidor é escrita como hooks em JavaScript ou Go. Seus dados ficam em uma pasta: fazer backup é copiá-la, e o painel consegue fazer isso sozinho, localmente ou no S3. Licença MIT. Vale saber: o projeto é mantido por um único desenvolvedor, sem nenhuma empresa por trás.
PocketBase vs Supabase
Critério
PocketBase
Supabase
Preço
US$0, mais o servidor pequeno onde você hospeda
€22 por mês no plano Pro
Banco de dados
SQLite embutido, em uma única pasta
PostgreSQL hospedado por eles
Hospedagem
A sua, um único binário para executar
A nuvem deles, ou uma stack pesada de Docker para hospedar por conta própria
Escala
Um servidor, você aumenta a máquina
Sob demanda, cobrado pelo uso
Lógica de servidor
Hooks em JavaScript ou Go dentro do binário
Edge Functions
Arquivos
No seu disco ou em um S3, com miniaturas incluídas
100 GB incluídos, depois 2 centavos por GB
Como instalar (mesmo começando do zero)
Sem Docker e sem banco de dados para instalar: um zip para baixar, um binário para executar, e o painel abre no seu navegador. O prompt também cobre o caso de instalar em um VPS.
1
Cole este prompt no Claude (Code ou Desktop)
Ele baixa o binário oficial, executa, cria a sua conta de admin, coloca atrás de HTTPS se você estiver em um servidor e confere com uma primeira coleção:
Instale o PocketBase (o backend open source em um único arquivo, repositório do GitHub pocketbase/pocketbase). Primeiro me pergunte se vou instalar no meu computador ou em um VPS Linux, e qual é o meu sistema (macOS, Windows ou Linux, x64 ou ARM64). Baixe a última versão estável da página de releases do repositório oficial para a minha plataforma, descompacte o arquivo em uma pasta dedicada e depois execute ./pocketbase serve. Abra o link de instalação que aparece na primeira execução e me ajude a criar a minha conta de superusuário (ou crie com o comando ./pocketbase superuser create se o link não abrir). Se eu estiver em um VPS: configure o PocketBase como serviço systemd para que ele reinicie sozinho, e sirva-o em HTTPS no meu nome de domínio, seja com o certificado automático do Let's Encrypt do PocketBase, seja atrás de um reverse proxy Caddy ou Nginx. Depois, no painel de administração, crie uma primeira coleção de teste com dois ou três campos, adicione um registro e verifique se a API o devolve. Me explique onde estão os meus dados (a pasta pb_data) e como fazer backup deles. Explique cada passo de forma simples, sou iniciante.
Revise o repositório do GitHub e verifique se é seguro instalar, considerando a minha máquina e a minha infraestrutura. Me faça o máximo de perguntas possível, usando widgets, para esclarecer o meu pedido e ser o mais preciso que puder.
2
Crie a sua conta de admin
Na primeira execução, o PocketBase mostra um link de instalação e o abre no seu navegador: você escolhe um email e uma senha e cai no painel. Se o link não abrir, o comando de criar superusuário faz o mesmo pelo terminal.
3
Em um VPS, HTTPS e reinício automático
Iniciado com o seu nome de domínio, o PocketBase pede sozinho um certificado do Let's Encrypt. Um serviço systemd o reinicia depois de um reboot. E em Configurações, ative os backups automáticos e preencha um servidor SMTP, senão os seus emails de confirmação vão parar no spam.
4
Antes de cada atualização, leia o changelog
O projeto ainda não chegou à versão 1.0. Uma atualização pode exigir uma pequena migração manual. Faça backup da sua pasta de dados, leia as notas da versão e só então troque o binário.
Para que você vai usar
O backend do seu app pequeno ou SaaS
Uma área de clientes, um app mobile em Flutter ou React Native, uma ferramenta interna: você cria as coleções no painel, define as regras de acesso e o SDK faz o resto. Não precisa programar nenhum servidor para começar.
Um protótipo em uma noite
Contas de usuário, login com Google, upload de arquivos, tempo real: já está tudo lá. Você gasta o seu tempo na interface e no produto, não na parte hidráulica.
Seus dados em uma pasta que você pode copiar
Tudo cabe em uma pasta ao lado do binário. Para trocar de servidor, você copia. Para fazer backup, o painel compacta, localmente ou no S3. Nada fica preso dentro de um fornecedor.
Saúde do projeto
estrelas no GitHub
61.308
Forks
3.7k
Contribuidores
44
Commits
2.5k
Idade do projeto
4,3 anos
Licença
MIT
Feito com: Go 69.1% · JavaScript 24.6% · CSS 6.4%
Dados públicos do repositório no GitHub, coletados em 8 de outubro de 2026.
Opção 2 · Construir
Crie o seu próprio Airtable
Para quem é
Esta versão é para uma equipe de operações que acompanha um único processo repetitivo. O objetivo: gerenciar registros por meio de um fluxo fixo, com visualizações feitas sob medida para o trabalho. Se você precisa de mais do que isso, continue pagando: criar por conta própria serve para ter uma ferramenta com o formato exato do seu fluxo, não para refazer o roadmap de uma empresa financiada por investidores.
Mesma construção, outro logo: esta v1 também substitui o Baserow e o Grist, já que todos resolvem o mesmo trabalho central.
O que o prompt constrói e o que fica de fora
O prompt abaixo constrói uma única versão, com o que realmente se usa. O resto fica de fora de propósito.
O que o prompt constrói
campos com tipo, visualização em tabela, importação de csv, visualizações kanban, comentários, anexos, automações simples
O que fica de fora
designer de esquemas, fórmulas, bases vinculadas, plataforma de extensões
O que uma alternativa mínima ao Airtable precisa
campos com tipo para texto, status, pessoa, data, número e anexo
visualizações em tabela, kanban e visualizações salvas com filtros
detalhe do registro com comentários e histórico de atividade
importação e exportação de CSV com prévia do mapeamento
automações simples para mudanças de status e registros atrasados
Valide cada valor contra o esquema de campos e mantenha o acesso aos anexos privado.
O que fica de fora de propósito
Não suporte fórmulas arbitrárias, bases vinculadas, extensões nem um designer de esquemas na v1.
O prompt completo
Escolha o seu stack, copie o prompt e cole no seu agente de código (Claude Code, Cursor, Codex…).
Você vai construir um produto de software pronto para produção chamado “Tableflow”, uma alternativa deliberadamente focada ao Airtable. Construa uma fatia vertical completa e utilizável — não uma landing page, nem um mockup estático, nem um monte de componentes soltos.
ACORDO DE TRABALHO
Antes de escrever código de implementação, monte um plano técnico curto que nomeie as rotas ou páginas, as server actions ou endpoints, as tabelas de dados, as transições de estado importantes, os limites de autorização, os jobs em segundo plano e os adaptadores externos. Se algo se contradisser, resolva a favor do público restrito e dos não-objetivos abaixo. Prefira uma arquitetura pequena e legível a abstrações especulativas, mas não deixe de fora persistência, validação, tratamento de erros nem testes.
DESCRIÇÃO DO PRODUTO
Usuário principal: uma equipe de operações que acompanha um único processo repetitivo.
Resultado principal: gerenciar registros por meio de um fluxo fixo, com visualizações feitas sob medida para o trabalho.
Princípio do produto: otimize o fluxo exato abaixo em vez de copiar toda a amplitude do Airtable. Quem usa pela primeira vez deve entender o que fazer só pela interface, sem tour nem documentação.
JORNADAS COMPLETAS DO USUÁRIO
Implemente todos estes fluxos pela interface real e pela camada de dados persistente:
1. Um admin importa um CSV, mapeia as colunas para os campos fixos do fluxo, revisa os erros de validação e cria apenas os registros válidos depois de confirmar.
2. Um operador abre uma visualização salva, edita um registro, muda o status, adiciona um comentário e um anexo, e vê cada ação no histórico.
3. Uma mudança de status coincide com uma regra de automação, coloca um email ou webhook na fila e mostra na linha do tempo do registro se deu certo ou se falhou com possibilidade de nova tentativa.
TELAS E ARQUITETURA DE INFORMAÇÃO
Construa estas telas como visões coerentes e responsivas. Cada tela precisa definir sua ação principal, ações secundárias, status visível, feedback de validação, estado vazio, estado de carregamento ou pendente, confirmação de sucesso e um estado de erro recuperável.
1. Painel do fluxo: totais de registros por status, quantidade de atrasados, atividade recente, visualizações salvas e ações de criar registro, importar e exportar.
2. Visualizações de tabela e kanban: colunas configuradas, ordenação, filtros, paginação, seleção em massa, mudança de status arrastando e indicador de visualização salva.
3. Detalhe do registro: campos com tipo, validação, comentários, anexos privados, responsável, data de vencimento, linha do tempo de atividade, arquivar e restaurar.
4. Importação e automações: prévia do mapeamento com erros por linha; lista de regras com gatilho, condições, ação, histórico de execuções, pausa e controles de teste.
FUNCIONALIDADES PRINCIPAIS
1. campos com tipo para texto, status, pessoa, data, número e anexo
2. visualizações em tabela, kanban e visualizações salvas com filtros
3. detalhe do registro com comentários e histórico de atividade
4. importação e exportação de CSV com prévia do mapeamento
5. automações simples para mudanças de status e registros atrasados
COMPORTAMENTO DETALHADO E REGRAS DE NEGÓCIO
Trate isto como requisitos do produto garantidos no servidor, não como sugestões de interface:
1. As definições de campos são configuradas em código ou em dados iniciais para um único fluxo; toda escrita é validada contra o tipo, a obrigatoriedade e os valores de status permitidos.
2. Os movimentos no kanban usam o mesmo serviço de transição de status do formulário de detalhe e registram de forma atômica quem fez, o valor antigo, o valor novo e a hora.
3. A importação de CSV tem uma fase de simulação, números de linha estáveis, interpretação explícita de datas e não grava nada até o usuário confirmar o resumo.
4. A avaliação das automações acontece depois de uma mudança confirmada, usa um id de evento como chave de idempotência e nunca bloqueia o salvamento do usuário.
MODELO DE DADOS E CICLO DE VIDA
Projete um esquema relacional pequeno centrado em Record, FieldDefinition, View, Comment, AutomationRule. Antes de implementar, documente:
1. O propósito de cada tabela, sua chave primária, o limite de propriedade ou de tenant, timestamps, campos de status e atributos importantes.
2. Chaves estrangeiras, restrições de unicidade, check constraints, os índices que as telas citadas precisam e os limites de transação para mudanças que tocam vários registros.
3. As transições de estado ou de ciclo de vida permitidas, quem pode disparar cada uma, quais são terminais ou reversíveis e qual histórico de auditoria deve permanecer imutável.
4. Como arquivar, reter e apagar, incluindo o que acontece com registros dependentes e arquivos externos.
5. A estratégia de idempotência para envios, jobs, importações, notificações, webhooks ou novas tentativas, quando se aplicar.
Use migrações em vez de criar o esquema na mão. Armazene instantes de tempo de forma consistente e mantenha o fuso horário nomeado sempre que horários ou datas locais importarem. Nunca dependa de um contador, de um botão desabilitado ou de uma validação no cliente para proteger uma regra de negócio.
USUÁRIOS, AUTENTICAÇÃO E PERMISSÕES
Implemente apenas os papéis de que o público indicado precisa. Deixe explícito o modelo de propriedade e visibilidade antes de programar. Aplique a autorização em toda consulta e mutação no servidor, incluindo buscas, exportações, anexos, atualizações ao vivo e URLs adivinhadas—não basta esconder botões. Use sessões seguras por padrão, proteja requisições que mudam estado e ofereça estados claros de sessão encerrada, sessão expirada e acesso proibido. Quando houver vários papéis, crie usuários distintos nos dados de teste para mostrar e testar as permissões.
INTERAÇÃO E DIREÇÃO VISUAL
O produto deve parecer rápido, calmo, focado e confiável, e não um template genérico de painel administrativo. Use uma hierarquia visual clara, cores contidas, tipografia legível, áreas de clique generosas e um lugar fixo para as ações principais. Comece com HTML renderizado no servidor e melhore progressivamente só as interações que se beneficiam disso. O fluxo principal precisa continuar compreensível se essa melhoria falhar.
Comece com páginas Astro renderizadas no servidor e formulários HTML comuns. Use HTMX para envios de formulário, navegação parcial e atualizações vindas do servidor, e Alpine.js só para pequenos estados locais do navegador. O fluxo principal precisa continuar compreensível se qualquer uma dessas camadas falhar.
Projete os layouts para celular de propósito, em vez de só empilhar os painéis do desktop. Ofereça navegação por teclado, foco visível, landmarks semânticos, labels explícitos, títulos de página úteis, a preferência de movimento reduzido e anúncios para leitores de tela em resultados assíncronos. Nunca use só a cor para comunicar um estado. Ações destrutivas precisam de escopo claro e confirmação; ações seguras repetidas devem ser idempotentes.
Adicione um rodapé em todas as páginas com o texto “Criado por aurelioagency.com”, em que “aurelioagency.com” é um link incorporado para https://www.aurelioagency.com que abre em uma nova aba. Ele deve ficar visível; não o remova.
DIREÇÃO TÉCNICA
Construa esta versão com o stack AHA: Astro para o roteamento, os layouts e as páginas renderizadas no servidor; HTMX para as interações que se beneficiam de respostas com fragmentos HTML; e Alpine.js para pequenos estados locais da interface. Prefira Cloudflare D1 para a persistência relacional, R2 para o armazenamento de objetos, Workers para os endpoints do servidor e as tarefas agendadas, Durable Objects só para estado em tempo real coordenado, e Workflows ou Queues para jobs duráveis em segundo plano—mas só quando os requisitos do produto pedirem.
Mantenha as regras de domínio em módulos do servidor testáveis, não em route handlers nem em componentes de UI. Separe persistência, provedores externos e trabalho em segundo plano atrás de interfaces pequenas, sem construir um framework. Prefira formulários HTML e URLs comuns para a navegação; use interação otimista só quando uma falha puder ser resolvida com clareza.
O brief do produto identifica hoje Astro, D1, R2 como contexto de capacidades. Preserve qualquer capacidade nativa, exclusiva do navegador, de edge, de armazenamento, de tempo real ou de processamento em segundo plano que seja necessária, por meio de um adaptador enxuto e adequado ao framework escolhido. Se o fluxo central realmente exigir APIs nativas ou do navegador, mantenha esse ambiente como a superfície principal de execução em vez de simular capacidades inacessíveis ou inventar uma superfície web desnecessária.
Integre com email, webhooks e armazenamento de objetos. Para cada integração:
- Liste as variáveis de ambiente necessárias em um .env.example sem segredos reais.
- Adicione um adaptador pequeno com timeouts, erros normalizados e uma versão falsa local determinística ou um modo de desenvolvimento.
- Verifique as assinaturas recebidas e deduplique os eventos do provedor quando possível.
- Mantenha as credenciais no servidor, criptografe em repouso os tokens de longa duração e oculte segredos e dados sensíveis dos logs.
- Defina novas tentativas, backoff e idempotência para qualquer efeito que possa se repetir.
SEGURANÇA E PRIVACIDADE
Valide cada valor contra o esquema de campos e mantenha o acesso aos anexos privado.
Valide, normalize e limite o tamanho de toda entrada não confiável no servidor. Escape o conteúdo renderizado por padrão, sanitize qualquer markup aceito de propósito, aplique rate limit a ações públicas ou sujeitas a abuso e use armazenamento de objetos privado com URLs autorizadas de curta duração para arquivos sensíveis. Colete só os dados pessoais de que o fluxo indicado precisa. Documente como os dados são retidos e apagados. Adicione proteções específicas para as partes mais arriscadas deste app, como uploads, redirecionamentos, requisições de saída, envio de e-mails, OAuth, webhooks, importação ou exportação de CSV e conexões em tempo real.
CENÁRIOS DE ACEITAÇÃO
Automatize estes cenários específicos do app no nível mais adequado:
1. Uma importação com linhas válidas e inválidas relata cada problema e cria exatamente o subconjunto válido confirmado, sem surpresas de carga parcial.
2. Uma transição de status não permitida falha da mesma forma a partir da tabela, do kanban, da API e das telas do registro, preservando o registro original.
3. Uma ação de webhook repetida após um timeout produz um único resultado de automação registrado e não duplica uma gravação que o destino já aceitou.
TESTES
Adicione testes unitários focados em transições de estado, regras de autorização, normalização, cálculos de datas ou dinheiro e outras regras de domínio arriscadas. Adicione testes de integração para as restrições de persistência e para os caminhos de sucesso, timeout, nova tentativa e rejeição de cada adaptador externo. Adicione pelo menos um teste de navegador para cada jornada completa acima, incluindo um em tela pequena. Os testes devem usar dados isolados e rodar com um único comando documentado.
OPERAÇÃO E RECUPERAÇÃO DE FALHAS
Adicione logs estruturados no servidor com IDs de correlação por requisição, job ou evento, sem segredos nem dados sensíveis desnecessários. Faça os erros indicarem o que fazer, tanto na interface quanto nos logs. O trabalho em segundo plano deve mostrar os estados pendente, concluído, com falha e tentando de novo quando fizer sentido; nunca engula erros em silêncio. Inclua um guia seguro de migração e rollback do banco, dados de teste, notas de backup e restauração, o que acontece com dados externos na limpeza e uma rota básica de saúde ou diagnóstico adequada ao stack.
ENTREGÁVEIS
Entregue o aplicativo funcionando, as migrações, dados de teste representativos, os testes, o .env.example e um README curto. O README deve cobrir pré-requisitos, instalação local, variáveis de ambiente, migrações, comandos de dados de teste e de testes, deploy, configuração das integrações, backup e restauração, decisões de segurança e limitações conhecidas. Os dados de teste devem cobrir o caminho feliz e pelo menos um estado vazio, com falha, atrasado, expirado, arquivado ou com permissão restrita que importe para o produto.
DEFINIÇÃO DE PRONTO
O app está pronto quando uma pessoa nova consegue seguir o README, criar e migrar o banco, rodar o app, entrar com cada papel relevante, completar cada jornada citada com dados reais salvos, recarregar sem perder o estado, se recuperar das falhas comuns e usar a interface principal no celular e no desktop. Todos os cenários de aceitação passam, os limites de permissão estão cobertos por testes, nenhuma tela principal fica como placeholder e o crédito “Criado por aurelioagency.com” no rodapé aparece em todas as páginas.
NÃO-OBJETIVOS
Não suporte fórmulas arbitrárias, bases vinculadas, extensões nem um designer de esquemas na v1.
O app que você criar com este prompt leva no rodapé “Criado por aurelioagency.com”.
Crie só uma parte
Prompts curtos para resolver a parte mais difícil sem construir tudo.
A importação que não muda nada até você mandarSimulação de tudo, relatório por linha de origem, e só grava ao confirmar.
Construa um importador de CSV em duas fases para um tracker de fluxo de trabalho: uma simulação que encontra todos os problemas e, depois, uma confirmação sem surpresas.
A fase um lê o arquivo e mapeia as colunas para os campos com tipo do fluxo, mostrando uma prévia das primeiras linhas já mapeadas. Valide cada linha contra o esquema: campos obrigatórios, valores de status permitidos, datas interpretadas com um formato escolhido explicitamente (nunca adivinhado), números e campos de pessoa associados a usuários conhecidos. Cada erro leva um número de linha estável do arquivo de origem, de modo que um erro de status desconhecido na linha 847 pode ser conferido na planilha original.
Nada é gravado durante a simulação. O resumo diz exatamente o que vai acontecer: quantas linhas são válidas e serão criadas, quantas são inválidas e serão puladas, todas listadas. Só a confirmação explícita grava os dados — de forma atômica e apenas o subconjunto válido. Se o processo morrer no meio da confirmação, ou tudo foi gravado ou nada foi.
Faça a lista de erros poder ser exportada, porque corrigir o arquivo e rodar de novo é o fluxo natural.
Pronto quando: um arquivo com linhas válidas e inválidas relata cada problema com seu número de linha de origem, nada é gravado antes da confirmação, e uma queda no meio da confirmação não deixa nenhuma linha parcial.
Um único serviço de status para governar o kanban, a tabela e o formulárioToda tela chama a mesma função de transição, ou o log de auditoria mente.
Construa um único serviço de transição de status que todas as superfícies de um tracker de registros compartilhem: edição na própria tabela, arrastar no kanban, formulário de detalhe do registro e qualquer cliente da API.
Uma única função é dona das regras: quais transições são legais a partir de cada status, o que cada uma exige (um registro não pode chegar a Concluído com campos obrigatórios faltando) e o que acontece quando dá certo. Ela valida, aplica a mudança e grava um evento de atividade — quem fez, valor antigo, valor novo, data e hora — na mesma transação. Nenhum cliente pode pular a validação nem o evento: o tratador do arraste no kanban é um invólucro fino que deduz o status de destino a partir da coluna de destino e chama exatamente o mesmo código que todos os outros.
A falha uniforme importa tanto quanto o sucesso uniforme: uma transição não permitida devolve o mesmo erro estruturado em todo lugar, e o kanban devolve o cartão para a coluna de origem mostrando a mensagem, sem um retorno silencioso.
Trate a concorrência com uma verificação de versão: dois movimentos simultâneos do mesmo registro terminam com um só vencedor, e o perdedor fica sabendo que o registro mudou.
Pronto quando: uma transição ilegal falha de forma idêntica nas quatro superfícies, cada mudança de status tem exatamente um evento de atividade com valor antigo e novo, e um movimento concorrente perdido é revertido de forma visível.
Automações que disparam uma única vez, mesmo com duas novas tentativasAvaliar depois de confirmar, usar o id do evento como chave e repetir sem disparar de novo.
Construa o executor de automações de um tracker de registros: regras do tipo quando-o-status-virar-Enviado-chamar-este-webhook, disparadas exatamente uma vez por mudança e sem nunca fazer a pessoa esperar.
A avaliação acontece depois que a mudança que a originou é confirmada, não dentro do salvamento: a transição grava um evento com um id único, e um consumidor da fila avalia as regras sobre esses eventos. O id do evento serve de chave de idempotência — se o consumidor cair e a mensagem for entregue de novo, ele reavalia, encontra a execução já registrada e pula.
Cada execução de regra é uma rodada com estados: pendente, concluída, falhou, tentando de novo. As chamadas de webhook incluem o id do evento para que quem recebe possa deduplicar; um timeout agenda uma nova tentativa limitada com espera crescente, e o caso ambíguo — timeout quando o pedido pode ter chegado — tenta de novo com a mesma chave em vez de criar uma entrega nova. As ações de email verificam se já existe um registro de envio antes de enviar.
Toda rodada aparece na linha do tempo de atividade do registro com seu resultado, e as falhas definitivas oferecem uma nova tentativa manual.
Pronto quando: reentregas forçadas produzem uma única rodada registrada por evento e por regra, uma nova tentativa de webhook após um timeout não consegue entregar duas vezes a um receptor que deduplica, e uma automação lenta nunca atrasa o salvamento do usuário.
Campos com tipo sem um designer de esquemasUm esquema em código, um validador, e todo caminho de escrita obedece.
Construa um motor de campos com tipo para um tracker de fluxo fixo: definições de campos declaradas em código e um único validador que as faz valer em todo lugar.
Cada definição declara uma chave, um tipo (texto, número, data, status, pessoa, anexo), a obrigatoriedade e as restrições: valores de status permitidos, faixas de números, tamanhos de texto. A partir dessa fonte única, derive tudo — os inputs do formulário, os renderizadores de células da tabela, o comportamento da ordenação e, acima de tudo, uma função de validar e converter que todo caminho de escrita chama: o formulário de detalhe, as edições na própria tabela, a importação de CSV e as ações de automação.
As regras de conversão também ficam aqui: aparar espaços do texto, transformar uma string numérica em número nos campos numéricos, resolver uma pessoa por email ou id, normalizar as datas para uma única forma canônica de armazenamento. Rejeite de cara as chaves desconhecidas, para que colunas soltas nunca entrem nos registros.
Os erros voltam estruturados — chave do campo, valor rejeitado, motivo — para que cada superfície os exiba de forma nativa em vez de interpretar mensagens de texto.
O teste de fogo: mude os status permitidos de um campo na definição e veja todas as superfícies se atualizarem sem mexer em nenhuma delas.
Pronto quando: um valor inválido falha de forma idêntica pelo formulário, pela edição na tabela e pela importação, a conversão é consistente em todos os caminhos, e nenhuma escrita consegue contornar o validador.
Perguntas frequentes
Quanto custa o Airtable se eu continuar assinando?
O Airtable custa de US$24 a US$54 por pessoa por mês nos planos pagos públicos, ou seja, de US$288 a US$648 por ano para cada pessoa da sua equipe. Um substituto próprio e enxuto custa o seu tempo de construção mais uma hospedagem quase de graça.
Que stack devo usar para criar uma alternativa ao Airtable?
O prompt de construção desta página vem em quatro versões: a stack AHA (Astro, HTMX, Alpine.js), Next.js, Laravel e Ruby on Rails. O contexto de capacidades deste produto é Astro, D1, R2. Escolha a stack que você já conhece — o escopo importa mais do que o framework.
Que funções um substituto mínimo do Airtable precisa ter?
Uma v1 útil precisa de: campos com tipo para texto, status, pessoa, data, número e anexo; visualizações em tabela, kanban e visualizações salvas com filtros; detalhe do registro com comentários e histórico de atividade; importação e exportação de CSV com prévia do mapeamento; automações simples para mudanças de status e registros atrasados. Todo o resto é escopo a mais até você sentir falta de verdade.
O que devo deliberadamente não construir?
Não suporte fórmulas arbitrárias, bases vinculadas, extensões nem um designer de esquemas na v1.
Esta construção também substitui o Baserow e o Grist?
Sim. Airtable, Baserow e Grist resolvem o mesmo trabalho central: gerenciar registros por meio de um fluxo fixo, com visualizações feitas sob medida para o trabalho. A v1 enxuta desta página cobre o que a maioria das pessoas usa em qualquer um deles, então uma única construção focada substitui o que você paga hoje.
Qual é a diferença para o Airtable?
O PocketBase faz boa parte do que o Airtable faz, sem assinatura, e os seus dados ficam com você. A comparação ponto a ponto está na página.
Eu sou dono dos meus dados?
Sim. Com uma ferramenta de código aberto instalada do seu lado, os seus arquivos ficam na sua máquina ou no seu servidor. Ninguém pode fechar a sua conta nem mudar o preço.