Operaciones

Dejá de pagar Retool

Tres herramientas internas valen más que un imperio de arrastrar y soltar.

Retool cuesta US$12–65 por persona / mes, o sea US$144–780 al año. Tenés dos caminos:

Opción 1 · Instalar

Instalá Budibase gratis

Budibase es la alternativa open source a Glide y Softr: convertís tus datos en una app web para tu equipo o tus clientes, sin código. Partís de un Google Sheet, una base Postgres o MySQL, una API REST o la base de datos integrada, y después armás pantallas, tablas, formularios y automatizaciones. Los agentes de IA también pueden leer tus datos y disparar acciones, con tu propia clave de API. La versión autoalojada es gratis, con todas las apps y usuarios que quieras. El núcleo es GPL v3 y los bloques de tus apps son MPL, así que lo que construís sigue siendo tuyo. Lo que hay que saber antes de dejar Glide o Softr: esa versión gratis corre en tu propio servidor, con Docker.

Budibase vs Glide

CriterioBudibaseGlide
PrecioUS$0, en tu servidor€22 por mes, más créditos
Apps publicadasIlimitadas2 en el plan Basic
AutomatizacionesIlimitadas1 flujo activo en Basic
UsuariosIlimitados2 miembros del equipo en Basic
AlojamientoTu servidor, con DockerSolo en su nube
CódigoGPL v3, MPL para tus appsCerrado

Cómo instalarlo (aunque arranques de cero)

Una sola imagen de Docker todo en uno, un puerto, un volumen para tus datos. Calculá 20 minutos en un VPS con HTTPS. El prompt se ocupa de todo, incluida la primera fuente de datos.

  1. 1

    Pegá este prompt en Claude (Code o Desktop)

    Despliega Budibase desde el proyecto oficial con Docker, configura HTTPS, crea tu cuenta de administrador y conecta una primera fuente de datos:

    Desplegá Budibase (el constructor de apps de negocio open source, repo de GitHub Budibase/budibase) con Docker en mi servidor o mi VPS, o en local en mi máquina para probar: fijate qué tengo y decime qué es lo mejor. Usá la imagen oficial todo en uno budibase/budibase siguiendo la documentación docs.budibase.com/docs/docker: un volumen persistente para los datos, el puerto 10000, y secretos aleatorios para JWT_SECRET, INTERNAL_API_KEY, MINIO_ACCESS_KEY, MINIO_SECRET_KEY, REDIS_PASSWORD, COUCHDB_USER y COUCHDB_PASSWORD. Si estoy en un servidor con nombre de dominio, configurá el acceso por HTTPS (la variable CUSTOM_DOMAIN, o un reverse proxy Caddy delante del puerto 10000) y verificá que el certificado sea válido. Después abrí la interfaz, guiame para crear la cuenta de administrador en el primer inicio y creá un primer workspace. Conectá una primera fuente de datos para verificar: alcanza con la base interna Budibase DB con una tabla de prueba, y si quiero un Google Sheet, explicame la configuración del SSO de Google que hay que hacer en un servidor autoalojado. Terminá mostrándome cómo actualizar Budibase, porque seguido salen correcciones de seguridad. Explicame cada paso de forma simple, soy principiante.
    
    Revisá el repositorio de GitHub y fijate si es seguro instalarlo dada mi máquina y mi infraestructura. Hacime todas las preguntas que puedas, usando widgets, para aclarar mi pedido y ser lo más preciso posible.
  2. 2

    Prepará una máquina con algo de margen

    Budibase junta en una sola imagen una base CouchDB, almacenamiento de objetos MinIO y Redis. La documentación recomienda 2 núcleos y 6 GB de RAM. En un VPS chico de 2 GB es probable que ande a paso de tortuga. Para probar, alcanza con Docker Desktop en tu computadora.

  3. 3

    Google Sheets pide primero un login de Google

    En un servidor autoalojado, el conector de Google Sheets solo funciona una vez que configuraste el SSO de Google: un proyecto en la consola de Google, un ID de cliente y un secreto. Calculá quince minutos de trámites. Para empezar, la base de datos integrada o una importación de CSV es más rápido.

  4. 4

    Actualizá con cada versión

    Sale una versión nueva casi todas las semanas, y en el verano de 2026 salió un lote grande de avisos de seguridad. Un docker pull y un reinicio, nada más. Nunca dejes que una instancia expuesta a internet se quede atrás.

Para qué lo vas a usar

Tu Google Sheet se convierte en una app para el equipo

Una tabla de pedidos, un cronograma, un seguimiento de obra: lo conectás, Budibase te sugiere pantallas ya armadas, las ajustás y publicás. Los cambios que hacés en la app vuelven a la planilla.

Un portal de clientes sin costo por usuario

Formularios, una lista de pedidos, roles para decidir quién ve qué. Tus clientes o freelancers inician sesión, sin que cada cuenta te cueste una suscripción.

Automatizaciones que corren en segundo plano

Se agrega una fila, sale un email, un webhook a n8n o a Slack, una tarea programada para el lunes a la mañana. Y si querés, un agente de IA con tu clave que lee tus tablas y crea filas por su cuenta.

Salud del proyecto

estrellas en GitHub
28.330
Forks
2.2k
Colaboradores
124
Commits
60.3k
Antigüedad
7,3 años
Licencia
Other

Hecho con: TypeScript 69.7% · Svelte 25.9% · JavaScript 2.9% · Shell 0.6% · CSS 0.5%

Datos públicos del repositorio en GitHub, tomados el 8 de octubre de 2026.

Opción 2 · Construir

Armá tu propio Retool

Para quién es

Esta versión apunta a un equipo chico que cada tanto abre la base de datos de producción para responder preguntas. El objetivo: darle al equipo pantallas seguras y auditadas para las consultas, los tableros y las aprobaciones que hace todas las semanas. Si necesitás más que eso, seguí pagando: armarlo vos sirve para tener una herramienta hecha a la medida de tu forma de trabajar, no para recrear la hoja de ruta de una empresa con millones de inversión.

Misma app, otro logo: esta v1 también reemplaza a Appsmith y Superblocks, porque todas resuelven el mismo trabajo central.

Qué arma el prompt y qué queda afuera

El prompt de abajo arma una sola versión, con lo que de verdad se usa. Lo demás queda afuera a propósito.

Lo que arma el promptbúsqueda de registros, tablero de operaciones, cola de aprobaciones, roles, registro de auditoría inmutable, endpoints de escritura validados
Lo que queda afueraconstructor de arrastrar y soltar, IDE de consultas, sistema de plugins

Qué necesita una alternativa mínima a Retool

  • un panel para buscar y editar registros con campos tipados y validación
  • un tablero de operaciones con los pocos números que el equipo mira de verdad
  • una cola de aprobaciones con estados pendiente, aprobado y rechazado
  • acceso por roles que separa a quienes solo ven, quienes editan y quienes aprueban
  • un registro de auditoría inmutable de cada lectura sensible y cada escritura

Modelo de datos

User, Role, ApprovalRequest, AuditEntry

Integraciones

proveedor OAuth de la empresa

Contexto de capacidades

Astro, HTMX, D1

La regla de oro

Pasá cada escritura por endpoints validados y con permisos verificados, registrados en un log de auditoría de solo agregar, y nunca expongas SQL crudo al navegador.

Lo que no se construye a propósito

No armes un constructor de apps de arrastrar y soltar, un IDE de consultas, un sistema de plugins ni una biblioteca genérica de componentes.

El prompt completo

Elegí tu stack, copiá el prompt y pegáselo a tu agente de código (Claude Code, Cursor, Codex…).

Vas a construir un producto de software listo para producción llamado “Backdesk”, una alternativa deliberadamente enfocada a Retool. Armá un corte vertical completo y usable: no una landing, ni una maqueta estática, ni un montón de componentes sueltos.

ACUERDO DE TRABAJO
Antes de escribir código de implementación, armá un plan técnico corto que nombre las rutas o páginas, las server actions o endpoints, las tablas de datos, las transiciones de estado importantes, los límites de autorización, los jobs en segundo plano y los adaptadores externos. Si algo se contradice, resolvelo a favor de la audiencia acotada y de los no-objetivos de abajo. Elegí una arquitectura chica y legible antes que abstracciones especulativas, pero no omitas persistencia, validación, manejo de errores ni tests.

DESCRIPCIÓN DEL PRODUCTO
Usuario principal: un equipo chico que cada tanto abre la base de datos de producción para responder preguntas.
Resultado principal: darle al equipo pantallas seguras y auditadas para las consultas, los tableros y las aprobaciones que hace todas las semanas.
Principio del producto: optimizá el flujo exacto de abajo en lugar de copiar toda la amplitud de Retool. Alguien que lo usa por primera vez tiene que entender qué hacer desde la propia interfaz, sin tour ni documentación.

RECORRIDOS COMPLETOS DEL USUARIO
Implementá todos estos flujos usando la interfaz real y la capa de datos persistente:
1. Un operador inicia sesión con el proveedor OAuth de la empresa, busca el registro de un cliente, edita un campo tipado pasando por la validación y el cambio queda en el registro de auditoría.
2. Un agente de soporte envía un pedido de reembolso a la cola de aprobaciones; un aprobador revisa el contexto del registro adjunto, lo aprueba y la acción se ejecuta exactamente una vez.
3. Un gerente abre el tablero de operaciones, revisa los números clave de la semana y baja al detalle de una anomalía sin tocar nunca una consola de base de datos.

PANTALLAS Y ARQUITECTURA DE INFORMACIÓN
Construí estas pantallas como vistas coherentes y responsive. Cada pantalla tiene que definir su acción principal, sus acciones secundarias, el estado visible, el feedback de validación, el estado vacío, el estado de carga o pendiente, la confirmación de éxito y un estado de error recuperable.
1. Panel de registros: búsqueda por ID o email, vista de lectura con campos sensibles enmascarados, formulario de edición tipado con validación e historial de cambios por registro.
2. Tablero de operaciones: las pocas métricas acordadas, selector de rango de tiempo, resaltado por umbrales y enlaces de detalle a los registros que están detrás de cada número.
3. Cola de aprobaciones: pestañas de pendientes, aprobadas y rechazadas, contexto del pedido, identidades de quien pide y de quien aprueba, notas de la decisión y estado de ejecución.
4. Administración: lista de usuarios con roles, matriz de capacidades por rol, búsqueda en el registro de auditoría por autor y por registro, y exportación.

FUNCIONES PRINCIPALES
1. un panel para buscar y editar registros con campos tipados y validación
2. un tablero de operaciones con los pocos números que el equipo mira de verdad
3. una cola de aprobaciones con estados pendiente, aprobado y rechazado
4. acceso por roles que separa a quienes solo ven, quienes editan y quienes aprueban
5. un registro de auditoría inmutable de cada lectura sensible y cada escritura

COMPORTAMIENTO DETALLADO Y REGLAS DE NEGOCIO
Tratá esto como requisitos del producto que se validan en el servidor, no como sugerencias de interfaz:
1. Hacé cumplir los roles en el servidor en cada lectura y escritura; el navegador nunca recibe datos ni acciones que el rol actual no permita.
2. Agregá a un registro de auditoría inmutable cada lectura sensible, escritura, decisión de aprobación y cambio de rol, con autor, fecha y hora, y valores anteriores y posteriores.
3. Exigí que quien aprueba sea una persona distinta de quien pidió, hacé la ejecución idempotente y nunca vuelvas a ejecutar un pedido que ya tiene decisión.
4. Aceptá escrituras solo a través de endpoints tipados y validados, con campos en lista permitida; no debe existir SQL crudo ni un camino genérico de actualización.

MODELO DE DATOS Y CICLO DE VIDA
Diseñá un esquema relacional chico centrado en User, Role, ApprovalRequest, AuditEntry. Antes de implementarlo, documentá:
1. El propósito de cada tabla, su clave primaria, el límite de propiedad o de tenant, timestamps, campos de estado y atributos importantes.
2. Claves foráneas, restricciones de unicidad, check constraints, los índices que necesitan las pantallas nombradas y los límites de transacción para cambios que tocan varios registros.
3. Las transiciones de estado o de ciclo de vida permitidas, quién puede disparar cada una, cuáles son terminales o reversibles y qué historial de auditoría tiene que quedar inmutable.
4. Cómo se archiva, se retiene y se borra, incluido qué pasa con los registros dependientes y los archivos externos.
5. La estrategia de idempotencia para envíos, jobs, importaciones, notificaciones, webhooks o reintentos, donde aplique.
Usá migraciones en lugar de crear el esquema a mano. Guardá los instantes de tiempo de forma consistente y conservá la zona horaria con nombre cada vez que importen horarios o fechas locales. Nunca dependas de un contador, un botón deshabilitado o una validación del lado del cliente para proteger una regla de negocio.

USUARIOS, AUTENTICACIÓN Y PERMISOS
Implementá solo los roles que necesita la audiencia indicada. Dejá explícito el modelo de propiedad y visibilidad antes de programar. Aplicá la autorización en cada consulta y mutación del servidor, incluidas búsquedas, exportaciones, adjuntos, actualizaciones en vivo y URLs adivinadas—no alcanza con ocultar botones. Usá sesiones seguras por defecto, protegé los requests que cambian estado y mostrá estados claros para sesión cerrada, sesión vencida y acceso prohibido. Si hacen falta varios roles, cargá usuarios distintos en los datos de prueba para poder mostrar y testear los permisos.

INTERACCIÓN Y DIRECCIÓN VISUAL
El producto tiene que sentirse rápido, tranquilo, enfocado y confiable, no como una plantilla genérica de panel de administración. Usá una jerarquía visual clara, color medido, tipografía legible, áreas de clic generosas y un lugar fijo para las acciones principales. Arrancá con HTML renderizado en el servidor y mejorá de forma progresiva solo las interacciones que lo necesiten. El flujo principal tiene que entenderse aunque esa mejora falle.

Arrancá con páginas de Astro renderizadas en el servidor y formularios HTML comunes. Usá HTMX para envíos de formularios, navegación parcial y actualizaciones que manda el servidor, y Alpine.js solo para estado local chico del navegador. El flujo principal tiene que entenderse aunque falle cualquiera de esas dos capas.

Diseñá las vistas de celular a propósito, no apilando los paneles de escritorio. Soportá navegación con teclado, foco visible, landmarks semánticos, labels explícitos, títulos de página útiles, la preferencia de movimiento reducido y anuncios para lectores de pantalla en resultados asincrónicos. Nunca uses solo el color para comunicar un estado. Las acciones destructivas necesitan un alcance claro y una confirmación; las acciones seguras que se repiten tienen que ser idempotentes.

Agregá un footer en todas las páginas con el texto «Creado por aurelioagency.com», donde «aurelioagency.com» es un link embebido a https://www.aurelioagency.com que se abre en una pestaña nueva. Tiene que quedar visible; no lo saques.

DIRECCIÓN TÉCNICA
Construí esta versión con el stack AHA: Astro para el ruteo, los layouts y las páginas renderizadas en el servidor; HTMX para las interacciones que se benefician de respuestas con fragmentos HTML; y Alpine.js para estado chico y local de la interfaz. Preferí Cloudflare D1 para la persistencia relacional, R2 para el almacenamiento de objetos, Workers para los endpoints del servidor y las tareas programadas, Durable Objects solo para estado en tiempo real coordinado, y Workflows o Queues para jobs en segundo plano durables—pero solo cuando los requisitos del producto lo pidan.

Mantené las reglas de dominio en módulos del servidor que se puedan testear, no en los route handlers ni en los componentes de UI. Separá la persistencia, los proveedores externos y el trabajo en segundo plano detrás de interfaces chicas, sin armar un framework. Preferí formularios HTML y URLs comunes para la navegación; usá interacción optimista solo cuando un error se pueda resolver con claridad.

El brief del producto identifica hoy a Astro, HTMX, D1 como contexto de capacidades. Conservá cualquier capacidad nativa, solo de navegador, de edge, de almacenamiento, de tiempo real o de procesamiento en segundo plano que haga falta, a través de un adaptador acotado y apropiado para el framework elegido. Si el flujo central realmente necesita APIs nativas o de navegador, dejá ese entorno como la superficie principal de ejecución en vez de simular capacidades inaccesibles o inventar una superficie web innecesaria.

Integrá con proveedor OAuth de la empresa. Para cada integración:
- Listá las variables de entorno necesarias en un .env.example sin secretos reales.
- Agregá un adaptador chico con timeouts, errores normalizados y una versión falsa local determinística o un modo de desarrollo.
- Verificá las firmas entrantes y deduplicá los eventos del proveedor cuando se pueda.
- Mantené las credenciales en el servidor, encriptá en reposo los tokens de larga duración y ocultá secretos y datos sensibles en los logs.
- Definí reintentos, backoff e idempotencia para cualquier efecto que se pueda repetir.

SEGURIDAD Y PRIVACIDAD
Pasá cada escritura por endpoints validados y con permisos verificados, registrados en un log de auditoría de solo agregar, y nunca expongas SQL crudo al navegador.
Validá, normalizá y limitá el largo de todo input no confiable en el servidor. Escapá el contenido renderizado por defecto, sanitizá cualquier markup que aceptes a propósito, poné rate limit a las acciones públicas o fáciles de abusar y usá almacenamiento de objetos privado con URLs autorizadas de corta duración para archivos sensibles. Juntá solo los datos personales que necesita el flujo indicado. Documentá cómo se retienen y se borran. Sumá protecciones específicas para las partes más riesgosas de esta app, como subidas de archivos, redirecciones, requests salientes, envío de emails, OAuth, webhooks, importación o exportación CSV y conexiones en tiempo real.

ESCENARIOS DE ACEPTACIÓN
Automatizá estos escenarios propios de la app en el nivel que corresponda:
1. Dado un rol de solo lectura, al abrir un registro se ven los campos sensibles enmascarados y ningún control de edición, y un pedido de edición falsificado se rechaza en el servidor.
2. Dados dos aprobadores que actúan al mismo tiempo sobre el mismo pedido pendiente, gana exactamente una decisión y la acción de fondo se ejecuta una sola vez.
3. Dado un campo de cliente editado, el registro de auditoría guarda quién lo cambió, cuándo, y los valores viejo y nuevo, y esa entrada no se puede alterar.

TESTS
Agregá tests unitarios enfocados en transiciones de estado, reglas de autorización, normalización, cálculos de fechas o dinero y otras reglas de dominio riesgosas. Agregá tests de integración para las restricciones de persistencia y para los caminos de éxito, timeout, reintento y rechazo de cada adaptador externo. Agregá al menos un test de navegador para cada recorrido completo de arriba, incluido uno en pantalla chica. Los tests tienen que usar datos aislados y correr con un solo comando documentado.

OPERACIÓN Y RECUPERACIÓN DE ERRORES
Agregá logs estructurados en el servidor con IDs de correlación por request, job o evento, sin secretos ni datos sensibles de más. Hacé que los errores digan qué hacer, tanto en la interfaz como en los logs. El trabajo en segundo plano tiene que mostrar los estados pendiente, completado, fallido y reintentando cuando aplique; nunca te tragues errores en silencio. Incluí una guía segura de migración y rollback de la base, datos de prueba, notas de backup y restauración, qué pasa con los datos externos al limpiar y una ruta básica de salud o diagnóstico acorde al stack.

ENTREGABLES
Entregá la aplicación funcionando, las migraciones, datos de prueba representativos, los tests, el .env.example y un README corto. El README tiene que cubrir requisitos previos, instalación local, variables de entorno, migraciones, comandos de datos de prueba y tests, deploy, configuración de integraciones, backup y restauración, decisiones de seguridad y limitaciones conocidas. Los datos de prueba tienen que cubrir el camino feliz y al menos un estado vacío, fallido, vencido, expirado, archivado o con permisos restringidos que importe para el producto.

DEFINICIÓN DE TERMINADO
La app está terminada cuando alguien nuevo puede seguir el README, crear y migrar la base, levantar la app, entrar con cada rol relevante, completar cada recorrido nombrado con datos reales guardados, recargar sin perder el estado, recuperarse de los errores comunes y usar la interfaz principal en celular y escritorio. Todos los escenarios de aceptación pasan, los límites de permisos están cubiertos por tests, ninguna pantalla principal queda como placeholder y el crédito «Creado por aurelioagency.com» del footer se ve en todas las páginas.

NO-OBJETIVOS
No armes un constructor de apps de arrastrar y soltar, un IDE de consultas, un sistema de plugins ni una biblioteca genérica de componentes.

La app que armes con este prompt lleva en el footer «Creado por aurelioagency.com».

Armá solo una parte

Prompts cortos para resolver la pieza más difícil sin construir todo.

El registro de auditoría que nadie edita en silencioQue sea de solo agregar es una promesa. Con cadenas de hashes se puede comprobar.
Armá un registro de auditoría a prueba de manipulaciones para una herramienta de administración interna, que guarde cada lectura sensible, cada escritura, cada decisión de aprobación y cada cambio de rol.

Cada entrada captura autor, fecha y hora, acción, el registro tocado y los valores anteriores y posteriores en las escrituras. No expongas ningún camino de modificación ni de borrado de entradas en ninguna capa, incluidos los permisos del usuario de la base de datos. Después hacé que la manipulación sea detectable, no solo prohibida: dale a cada entrada un hash calculado sobre su propio contenido más el hash de la entrada anterior, formando una cadena, y guardá la cabeza de la cadena por separado. Un comando de verificación vuelve a calcular todos los hashes del registro e informa la primera entrada donde se rompe la cadena. Las correcciones de entradas equivocadas se hacen agregando una entrada correctiva que referencie a la original, nunca tocándola. Manejá escritores concurrentes sin romper la cadena, ya sea serializando los agregados o encadenando por partición y verificando por partición.

Está listo cuando: la verificación pasa con un registro limpio, cambiar un solo byte de una entrada vieja directo en la base de datos hace que la verificación nombre esa entrada exacta, y ningún camino de API u ORM puede modificar una fila existente.
Dos aprobadores, un reembolso, exactamente una vezLa carrera entre dos personas que hacen clic en aprobar no es hipotética.
Armá la cola de aprobaciones para una herramienta interna de operaciones: los agentes envían pedidos sensibles, los aprobadores deciden y la acción de fondo se ejecuta exactamente una vez.

Un pedido pasa de pendiente a aprobado o rechazado, y la decisión es un único reclamo atómico: una actualización condicional que solo tiene éxito si el estado sigue siendo pendiente. Cuando dos aprobadores actúan sobre el mismo pedido al mismo tiempo, uno gana y el otro recibe un mensaje claro de "ya decidido" con el nombre y la hora de quien ganó, no una página de error. Hacé cumplir el principio de cuatro ojos en el servidor: el aprobador tiene que ser una persona distinta de quien pidió, verificado al momento de decidir contra identidades que el cliente no puede aportar. La ejecución es un paso separado de la aprobación, protegido por su propia clave de idempotencia, de modo que una ejecución reintentada o repetida después de un timeout nunca corra el reembolso dos veces. Registrá el pedido, la decisión y el resultado de la ejecución como entradas de auditoría separadas.

Está listo cuando: cien llamadas simultáneas de aprobar sobre un pedido dan exactamente una decisión y una ejecución, quien pidió no puede aprobar su propio pedido ni siquiera con un cliente falsificado, y un pedido de ejecución reenviado no hace nada.
Enmascarado de campos que el navegador no puede desenmascararSi el secreto llegó al cliente, el enmascarado ya falló.
Armá el enmascarado de campos por rol para una herramienta interna de búsqueda de registros, donde quien solo mira ve el número de tarjeta de un cliente enmascarado, un administrador ve más, y la diferencia se hace cumplir en el servidor.

Definí una política de visibilidad por campo: cada campo sensible asigna a los roles completo, enmascarado u oculto. Aplicala en la capa de serialización, de modo que un campo enmascarado salga del servidor ya reducido a su forma visible, los últimos cuatro dígitos, una marca de tachado, lo que diga la política. El navegador nunca recibe el valor real junto con un truco de CSS; hacé un grep de la respuesta de la API para demostrarlo. Para las necesidades legítimas, agregá una acción explícita de revelar: un endpoint aparte, con permisos verificados, que devuelve un campo de un registro y escribe una entrada de auditoría con autor, registro, campo y hora, porque las lecturas sensibles merecen el mismo rastro que las escrituras. Limitá la cantidad de revelados por usuario para que nadie pueda cosechar datos en masa con el botón de revelar. Las ediciones de campos enmascarados pasan por endpoints de escritura que aceptan valores nuevos sin devolver nunca los viejos.

Está listo cuando: la respuesta cruda de la API para quien solo mira no contiene ningún valor sensible sin enmascarar en ninguna parte, cada revelado produce una entrada de auditoría y quien solo mira y llama directo al endpoint de revelar recibe un rechazo del servidor.
El endpoint de escritura que se niega a ser genéricoSin SQL crudo, sin ruta de “parchear cualquier cosa”, sin excepciones para administradores.
Armá la capa de escritura para una herramienta interna que edita registros de producción, diseñada de modo que no exista ningún camino genérico de actualización.

Cada tipo de registro editable tiene un endpoint tipado con una lista permitida explícita de campos. Los pedidos que contengan cualquier campo fuera de la lista se rechazan enteros, no se recortan en silencio, así un error del cliente o un payload armado a propósito no puede colar una escritura a una columna que nunca quisiste exponer, como un saldo o un rol. Validá cada campo por tipo y por regla de negocio en el servidor: los campos de enumeración contra su conjunto real, las referencias contra filas existentes, los formatos donde importan. Si sale bien, calculá la diferencia entre antes y después dentro de la misma transacción que la escritura y pasásela al registro de auditoría, así el rastro nunca puede contradecir lo que pasó. Devolvé los fallos de validación campo por campo. Y hacé cumplir la disciplina desde la arquitectura: el usuario de base de datos con el que se conecta la app no tiene ningún permiso genérico de actualización sobre tablas enteras más allá de lo que necesitan estos endpoints.

Está listo cuando: un payload con un solo campo desconocido de más se rechaza por completo, cada edición exitosa produce una diferencia de auditoría que coincide con el cambio real, y se puede demostrar que no hay ninguna ruta que acepte pares columna-valor arbitrarios.

Preguntas frecuentes

¿Cuánto cuesta Retool si sigo suscripto?

Retool sale entre US$12 y US$65 por persona al mes en sus planes pagos públicos, o sea entre US$144 y US$780 por año por cada persona de tu equipo. Un reemplazo propio y enfocado te cuesta el tiempo de armarlo más un hosting que casi no se paga.

¿Qué stack uso para armar una alternativa a Retool?

El prompt de esta página viene en cuatro versiones: el stack AHA (Astro, HTMX, Alpine.js), Next.js, Laravel y Ruby on Rails. El contexto de capacidades de este producto es Astro, HTMX, D1. Elegí el stack que ya conocés: el alcance importa más que el framework.

¿Qué funciones necesita un reemplazo mínimo de Retool?

Una v1 útil necesita: un panel para buscar y editar registros con campos tipados y validación; un tablero de operaciones con los pocos números que el equipo mira de verdad; una cola de aprobaciones con estados pendiente, aprobado y rechazado; acceso por roles que separe a quienes solo ven, quienes editan y quienes aprueban; un registro de auditoría inmutable de cada lectura sensible y cada escritura. Todo lo demás es alcance de más hasta que lo extrañes en serio.

¿Qué conviene no construir a propósito?

No armes un constructor de apps de arrastrar y soltar, un IDE de consultas, un sistema de plugins ni una biblioteca genérica de componentes.

¿Esta versión también reemplaza a Appsmith y Superblocks?

Sí. Retool, Appsmith y Superblocks resuelven el mismo trabajo central: darle al equipo pantallas seguras y auditadas para las consultas, los tableros y las aprobaciones que hace todas las semanas. La v1 acotada de esta página cubre lo que la mayoría usa de cualquiera de ellas, así que una sola versión enfocada reemplaza a la que estés pagando hoy.

¿En qué se diferencia de Retool?

Budibase hace casi todo lo que hace Retool, sin suscripción, y tus datos quedan con vos. La comparación punto por punto está en la página.

¿Soy dueño de mis datos?

Sí. Con una herramienta open source instalada de tu lado, tus archivos quedan en tu máquina o en tu servidor. Nadie puede cerrarte la cuenta ni cambiarte el precio.

Ver las 22 apps →

¿Sin tiempo para hacerlo?

Lo armamos por vos.

Si preferís que alguien lo instale, lo conecte a tus herramientas y lo deje andando, en Aurelio hacemos exactamente eso.

Pedir una auditoría de automatización