2023 · addcar
El parcial
En la facultad había que entregar una app real. Cansado de los típicos carritos de compra, hice el sistema que el taller de mi viejo necesitaba.
Producto propio · Angular · Demo abierta
Empezó siendo el Excel del taller de mi viejo. Pasó por un proyecto de facultad que terminaron usando más de diez talleres reales. Hoy es taller.ar: un producto propio, reescrito desde cero en Angular 22, con roles, multi-taller y una demo abierta que podés probar ahora mismo sin registrarte.
La beta está publicada con datos de ejemplo y sin base de datos: entrás, tocás todo y no rompés nada. En el login hay un acceso rápido que te deja entrar con un click como superadmin, como dueño de taller o como mecánico, para ver cómo cambia la app según el rol. Si preferís escribirlo: cualquiera de los usuarios de la lista con la clave 1234.
Pablo, mi padre, tiene su propio taller de aire acondicionado automotor. Para registrar las órdenes de reparación usaba un Excel — largo, pesado, sin vínculos entre clientes, autos ni historial. Funcional a medias, imposible de consultar desde el celu en el medio de un trabajo.
Las aplicaciones del mercado no eran mucho mejores: viejas, de instalación local, atadas a una sola máquina y con interfaces que parecían de otra época. El UX era anticuado en todo lo que importa: usabilidad, acceso mobile y flujos pensados para el usuario real — no para el técnico que las desarrolló.
2023 · addcar
El parcial
En la facultad había que entregar una app real. Cansado de los típicos carritos de compra, hice el sistema que el taller de mi viejo necesitaba.
2023 — 2024 · ABM Taller
La que se usó de verdad
Full-stack en Next.js y Laravel. Salió de la facultad y la terminaron usando más de diez talleres, con 1.200 autos cargados.
2026 · taller.ar
El producto
Reescritura completa en Angular 22 con dominio propio, sistema de roles, multi-taller y una beta pública que cualquiera puede probar.


Reescribir algo que funciona casi nunca se justifica. Acá sí, y por una razón concreta: ABM Taller era un trabajo práctico que se volvió software de producción sin haber sido diseñado para eso. Servía para un taller, no para diez. No tenía roles, no tenía forma de separar los datos de un taller de los de otro, y cada cliente nuevo era un deploy aparte.
El salto no fue de tecnología, fue de producto: pasar de "una app para el taller de mi viejo" a "una app que cualquier taller puede usar". Eso cambia el modelo de datos, la autenticación y la navegación desde la raíz. Reescribir salió más barato que parchear.
La otra razón fue de oficio: quería construirla con lo que Angular hace bien hoy — signals, componentes standalone, el control flow nuevo y lazy loading por ruta — en lugar de arrastrar patrones de dos versiones atrás.








Alta, seguimiento y cierre, con estados (pendiente, en progreso, listo, entregado), fecha estimada y monto.
Base de clientes vinculada a sus vehículos y a todo su historial de órdenes.
Registro por patente con el historial de intervenciones de cada auto.
Equipo del taller, con las órdenes asignadas a cada uno.
Datos del taller y sus miembros. El superadmin además administra todos los talleres del sistema.
Tema claro y oscuro completo, con la preferencia guardada en el dispositivo.
Roles en dos dimensiones. Hay tres perfiles — superadmin, admin y miembro — y además un usuario puede o no pertenecer a un taller. Eso da casos que la app tiene que resolver bien: un usuario nuevo sin taller va al onboarding, un admin ve solo su taller, y el superadmin ve todos. La navegación se resuelve con cuatro guards de ruta encadenados (authGuard, tallerGuard, superadminGuard, onboardingGuard), que mandan a cada usuario donde corresponde en lugar de mostrarle una pantalla vacía o esconderle botones.
Vale aclarar qué son esos guards y qué no: resuelven la experiencia de navegación, no la seguridad. Un guard corre en el cliente y se saltea. La barrera real va a estar en la base, con Row Level Security por taller, cuando el backend entre en juego. Confundir las dos cosas es de los errores más caros en apps multi-inquilino, y prefiero dejarlo escrito antes que dar a entender que un guard alcanza.
Angular moderno, sin arrastre. Todos los componentes son standalone y con ChangeDetectionStrategy.OnPush. El estado se maneja con signals (signal(), computed(), viewChild()) y las plantillas usan el control flow nativo — @if, @for, @empty — en vez de las directivas viejas. Cada ruta carga con loadComponent, así que el bundle inicial solo trae el login.
Un tema, no un theme. PrimeNG 21 con el preset Aura personalizado en ámbar, y el modo oscuro resuelto con una sola clase en el <html> que PrimeNG recibe por darkModeSelector. Los componentes usan :host-context(.dark-mode) para sus overrides puntuales, y las páginas de listado comparten un partial de SCSS — no hay estilos duplicados entre módulos.
La demo es parte del producto. El acceso rápido del login con cinco usuarios preconfigurados no es un atajo de desarrollo: es la forma de que alguien entienda el sistema de roles en treinta segundos, sin crear una cuenta. Para un producto que todavía está buscando sus primeros usuarios, eso vale más que cualquier landing.
Migración de versiones al día. El proyecto arrancó en Angular 19 y hoy corre en la 22, pasando por la 20 y la 21. Mantener eso al día en un side project es aburrido, pero es exactamente lo que evita que dentro de dos años la reescritura vuelva a ser la única salida.


taller.ar está en beta pública, con datos de ejemplo y sin base de datos todavía. La autenticación y la persistencia son mock: todo vive en memoria y en localStorage. Eso es deliberado — la interfaz y los flujos se validan antes de comprometerse con un esquema de datos, que es lo caro de cambiar después.
Lo próximo es Supabase: mover la autenticación y los datos, con RLS por taller para que la separación entre talleres sea del lado de la base y no de la interfaz. La app ya está escrita esperando eso — el AuthService tiene la misma firma que va a tener con Supabase detrás.
Los números de abajo son de ABM Taller, la versión anterior, que sí estuvo en uso real. taller.ar todavía no tiene usuarios: por eso está publicada como demo abierta y no como producto cerrado.
¿Querés ver otros proyectos?