Saltar al contenido
Volver a proyectos

ASH

Marketplace de servicios a domicilio: el dinero se libera cuando el trabajo termina.

Desarrollo ASH, un marketplace para contratar plomeros, electricistas y técnicos a domicilio. Construí la app móvil donde conviven cliente y proveedor, el backend que mueve el dinero con Stripe y el panel desde el que se opera el marketplace. Es un producto en desarrollo continuo.

grupoashmexico.com.mx
Mi rol
Arquitectura, app móvil, backend y flujo de pagos
Sector
Marketplace de servicios a domicilio
Alcance
App móvil + Panel administrador + Sitio web
7
Estados de una reservación
2
Apps en un mismo binario
3
Documentos verificados en el alta
2 h
Tamaño del bloque de agenda

Stack

  • React (Vite)
  • TypeScript
  • Astro
  • Tailwind CSS
  • Node.js
  • Express
  • MongoDB
  • Firebase Firestore
  • React Native (Expo)
  • Stripe

Pantallas

Capturas del sistema real en operación.

App móvil

App del cliente

El cliente ve los servicios disponibles en su zona, filtrados por categoría y ordenados por calificación. Entra al detalle, revisa qué incluye y reserva: elige dirección — el código postal completa estado y municipio solo —, describe la falla y paga con tarjeta. De ahí en adelante sigue su reservación, se comunica por chat con el técnico y recibe avisos de cada cambio de estado.

App móvil

App del proveedor

La misma app, otro rol. El técnico ve sus ganancias y sus trabajos del día, recibe las solicitudes nuevas para aceptar o rechazar, publica servicios con precio y cobertura, y arma su horario por bloques de dos horas. Los que operan como empresa dan de alta colaboradores con su propio acceso y reparten la agenda entre ellos. El alta pide INE, CURP y RFC antes de poder cobrar.

App web

Panel de administración

Desde aquí se opera el marketplace: aprobar proveedores revisando sus documentos, mover reservaciones por sus siete estados, administrar el catálogo de categorías, subcategorías y servicios, y leer cualquier conversación cuando hay una aclaración. La parte financiera concentra lo que se le debe a cada proveedor por periodo, la comisión de la plataforma y las suscripciones.

Sitio web

Sitio público

La cara pública de ASH: qué es, cómo funciona para quien contrata y para quien ofrece servicios, y las descargas de la app. Incluye el centro de ayuda con preguntas frecuentes y tutoriales, y las páginas que las tiendas de aplicaciones exigen — términos, privacidad, reembolsos, reporte de contenido y eliminación de cuenta.

El problema

ASH junta a dos partes que no se conocen: alguien con una fuga o un minisplit descompuesto, y un técnico dispuesto a ir a resolverlo. Para que esa transacción ocurra hacen falta cosas que ninguna de las dos puede garantizar sola: un precio conocido antes de reservar, un horario que el técnico realmente pueda cumplir, dinero que no se libere hasta que el trabajo termine y un filtro sobre a quién se le abre la puerta de la casa. El encargo no era un directorio de técnicos, era la infraestructura que hace que valga la pena confiar.

Lo que construí

Construí una sola app en React Native (Expo) donde cliente y proveedor son dos modos del mismo producto: el cambio es un botón y la aplicación entera se reconfigura —pestañas, inicio y perfil—, y una misma cuenta puede ser las dos cosas. El dinero corre sobre Stripe: se cobra al reservar y se libera cuando el trabajo termina; si en el sitio aparecen cargos adicionales, el técnico los levanta y el cliente los autoriza desde su teléfono antes de que se cobren. La plataforma descuenta su comisión y el panel concentra lo que se le debe a cada proveedor por periodo. El alta de proveedor pasa por revisión documental —INE, CURP y RFC— que un administrador aprueba antes de que esa cuenta pueda cobrar. El chat va en tiempo real sobre Firestore y se sincroniza al backend, para que soporte pueda leer la conversación completa desde el panel cuando hay una aclaración; alrededor de eso entregué el panel de operación —los siete estados de una reservación, el catálogo de categorías y servicios, pagos, comisiones y accesos por rol— y el sitio público con centro de ayuda y las páginas legales que exigen las tiendas de aplicaciones.

Decisiones técnicas

  1. 01

    Un binario, dos aplicaciones

    Cliente y proveedor viven en la misma app, y una misma cuenta puede ser las dos cosas. Resolví el cambio de modo reconfigurando pestañas, inicio y perfil en tiempo de ejecución, en lugar de mantener dos productos separados con la mitad del código duplicado.

  2. 02

    El dinero se libera cuando el trabajo cierra

    El cobro con Stripe ocurre al reservar, pero el pago se retiene hasta que el servicio termina. Los cargos adicionales que aparecen en el sitio los levanta el técnico y los autoriza el cliente desde su teléfono antes de que se cobren; la plataforma descuenta su comisión y el panel concentra lo que se le debe a cada proveedor por periodo.

  3. 03

    Agenda por bloques y colaboradores

    El proveedor define en qué municipios trabaja y en qué horarios, y arma su disponibilidad en bloques de dos horas. Los que operan como empresa dan de alta colaboradores con acceso propio, y la agenda reparte los bloques entre ellos según la capacidad del día.

  4. 04

    Verificación documental antes de poder cobrar

    Ningún proveedor cobra sin subir INE, CURP y RFC y pasar la revisión de un administrador. Ese filtro, junto con las reseñas y el historial de inasistencias, es lo que sostiene el negocio: la persona contratada va a entrar a una casa.

  5. 05

    Chat en tiempo real, auditable por soporte

    La conversación entre cliente y proveedor corre sobre Firestore para que sea instantánea, y se sincroniza al backend, donde queda el registro. Así soporte lee el hilo completo desde el panel cuando hay una aclaración, sin depender de capturas de pantalla.

Siguiente proyecto

Coco Aventura

La operación completa de un balneario con cabañas, de la reservación al corte de caja.