Seere
La plataforma de despacho white-label que cualquier flota puede hacer suya: una sola lógica corriendo en web, móvil y desktop.
- TypeScript
- Rust
- Arquitectura hexagonal
- React Native
- Tauri
- Three.js
- GLSL
- Verdaccio
Seere es una plataforma de despacho y logística pensada para operadores de flotas que necesitan coordinar viajes, conductores y clientes en tiempo real. La idea de producto es simple: una sola plataforma que cada empresa configura con su marca y sus reglas, en lugar de mandar a desarrollar un sistema a medida. Por dentro, eso se sostiene con un núcleo de dominio TypeScript headless que corre idéntico en los tres dispositivos y un backend Rust hexagonal donde cada cliente es una configuración, no un fork. Miguel lidera el equipo y dirige la arquitectura del producto, del backend al showroom 3D.
Microservicios Rust
hexagonales
Archivos Rust
Runtimes
web · native · desktop
Costuras de extensión
ports · strategies · slots · hooks
Cada flota quiere su propio sistema de despacho
Los operadores de logística suelen elegir entre comprar un software rígido que no se adapta a cómo trabajan, o mandar a desarrollar uno a medida que tarda meses y se queda sin mantenimiento. Y todos necesitan lo mismo en el fondo: coordinar viajes y conductores en vivo, desde la web de la central y desde el teléfono en la calle, sin que las dos versiones se contradigan.
Un producto que se configura, no se reescribe
Seere parte de un núcleo de dominio único (dispatch-core, TypeScript sin dependencias de plataforma) que web, móvil y desktop consumen idéntico, y un backend Rust de doble hexágono con cuatro costuras de extensión. Cada empresa nueva entra como un tenant white-label: su marca, sus reglas y sus integraciones encajan en esas costuras como configuración. El equipo, dirigido por Miguel, sostiene una sola base de código que sirve a muchos clientes a la vez.
Una plataforma, muchas flotas, una sola verdad
El resultado es un producto que una flota puede empezar a usar con su propia identidad sin esperar un desarrollo a medida, con la misma lógica garantizada en todos sus dispositivos y un showroom 3D propio que funciona como vidriera comercial. Estados imposibles eliminados por tipos y branding por tema: el sistema crece sumando clientes, no copias.
Lo que se ve
Caballo cromado
RevealPass radial + god rays + iridiscencia 'curando'
Flow-field generativo
Campo de fuerzas en el fondo del showroom
Re-skin white-label
Seere-azul → TiendaLeón-verde por brandingToTheme()
Doble hexágono
engine/platform/services + domain/logic/strategies/hooks
Una pieza load-bearing
Código real del proyecto — la parte que sostiene la idea.
/** Programado, sin tripulación: no puede portar driver/vehicle. */
export interface UnassignedTrip extends TripBase {
readonly state: "unassigned";
}
/** En curso: suma timestamps que estados previos no tienen. */
export interface InProgressTrip extends TripBase {
readonly state: "in_progress";
readonly crew: Crew;
readonly vehicle: VehicleRef;
readonly boardingStartedAt: IsoDateTime;
readonly departedAt: IsoDateTime;
}
/** La unión discriminada: el compilador veda los estados imposibles. */
export type Trip =
| UnassignedTrip | AssignedTrip | BoardingTrip
| InProgressTrip | CompletedTrip | CancelledTrip;Estados imposibles, irrepresentables. La unión discriminada sobre la que todos los consumidores hacen pattern-match. Cada estado solo declara los campos que en él existen.
En concreto
Una sola plataforma de despacho que la flota usa desde la web, el celular del conductor o el escritorio de la central, sin diferencias de comportamiento.
Cada empresa cliente entra como un tenant white-label que se configura con su marca y sus reglas — no se reescribe ni se forkea el producto.
El núcleo de dominio (dispatch-core) corre verbatim en los tres dispositivos, así una regla de negocio se cambia una vez y vale en todos lados.
Backend Rust hexagonal de ~1.200 archivos con doble hexágono y cuatro costuras de extensión donde encajan las particularidades de cada cliente.
Type-driven design: uniones discriminadas y branded IDs que hacen inexpresables los estados imposibles, para que un despacho no termine en un estado roto.