# Carriage - App de Ayuda para Viajeros Entregada en 18 Meses

Company: Upwork
Service: Desarrollo de Aplicaciones
Period: 2022-12 - 2024-06
Tech: React Native, NestJS, GraphQL, MongoDB, TypeScript, Node.js, Expo, Socket.IO
Web: https://webanion.com
Canonical: https://webanion.com/es/portfolio/carriage-traveler-help-app-delivered-over-18-months

Aterrizas donde no hablas el idioma y la ayuda está por todas partes, fuera de alcance. Carriage la pone a tu alcance: enciende tus puntos y verás a personas cercanas que hablan tu idioma y están dispuestas a ayudar, acércate a una y, en cuanto acepte, podrás escribirle, llamarla o quedar en persona. Desarrollada como único desarrollador entre una app en React Native y un backend GraphQL en NestJS, entregada hito a hito desde un armazón de navegación vacío hasta el inicio de sesión social, los perfiles, el descubrimiento por radio, el flujo de acercamiento y la mensajería. Se aceptaron once hitos a lo largo de año y medio en una sola contratación continua, cerrando en la versión 1.8.0.

## La historia completa

El peor momento de un viajero, un desconocido que puede ayudar y un producto construido un hito aceptado tras otro.

### El momento en que nadie te entiende

<p>Todo viajero conoce ese momento: una estación, una farmacia o el mostrador de una comisaría donde nadie habla tu idioma y necesitas con urgencia que te entiendan. Las apps de traducción ayudan con una frase, no con una situación. Lo que quieres es una persona cerca que hable tu idioma y esté dispuesta a ayudar.</p><p>Carriage se creó exactamente para ese momento, y para las muchas personas que ayudarían con gusto a un desconocido si tan solo supieran que hay uno cerca.</p>

### Primero los idiomas, después quién puede encontrarte

<p>Cada perfil empieza por los idiomas que habla la persona y con qué nivel, desde unas pocas palabras hasta la fluidez, y sigue con sus intereses y una elección clara de quién puede verla: un rango de edad, géneros y tipos de perfil. Esa única configuración decide quién puede encontrar a quién, de modo que al viajero se le empareja por el idioma que importa y a nadie se le muestra a personas que no ha elegido.</p>

### Puntos en el mapa, personas dispuestas a ayudar

<p>Enciende tu punto y el mapa te muestra a las personas dentro de tu radio que comparten un idioma contigo y están disponibles, diez millas de Los Ángeles de un solo vistazo. Toca un punto para ver quién es, qué edad tiene, qué idiomas habla y una breve biografía, y luego acércate o sigue mirando. No se comparte nada más hasta que la persona que ayuda acepta, y entonces los dos pueden escribirse, llamarse por audio o por video y quedar en persona si la situación lo requiere.</p><p>Se parece menos a un directorio y más a cruzar la mirada con la persona adecuada entre la multitud.</p>

### Visible solo cuando tú lo decides

<p>Poder ser encontrado es una elección, no algo que viene activado. El punto de quien ayuda permanece apagado hasta que lo enciende, los filtros limitan quién aparece y cuántos puntos se muestran a la vez, y se pueden excluir la casa y el trabajo para que el punto se apague solo en esos lugares. Para quienes ayudan, esa es la diferencia entre ofrecer unos minutos de amabilidad y estar de guardia todo el día, y por eso la gente está dispuesta a unirse.</p>

### De un punto a una conversación

<p>Acercarse a un desconocido es pedir poco, y Carriage lo mantiene así. En cuanto quien ayuda acepta, los dos pasan a un chat privado donde el viajero puede explicar la situación en su propio idioma y quien ayuda puede responder con indicaciones, un nombre que buscar o un lugar donde esperar. Cada conversación anterior se queda en la bandeja de entrada, así que las personas que ya le han ayudado están a un toque de distancia la próxima vez que aterrice.</p><p>Para el fundador, este es el momento en que el producto deja de ser un mapa y se convierte en una relación, y eso es lo que hace que la gente vuelva a abrir la app.</p>

### Cuando escribir es demasiado lento

<p>Algunas situaciones no pueden esperar una respuesta. Un farmacéutico está haciendo preguntas, un tren está a punto de salir, un agente quiere una respuesta ya. Desde la cabecera del chat, el viajero puede llamar a quien le ayuda por audio, o pasar a video y apuntar la cámara al cartel, al formulario o al mostrador para que esa persona entienda la situación y hable en su nombre. Las llamadas funcionan con Twilio a través del mismo backend en NestJS que el chat, así que los dos hablan dentro de la app sin intercambiar números de teléfono, y quien ayuda decide hasta dónde llega su ayuda.</p>

### Crecimiento e ingresos integrados en el producto

<p>Una app de consumo necesita usuarios y una forma de costearse. Cada miembro recibe un código de referido y un código QR que comparte el enlace de la app, con recompensas cuando sus amigos se unen a través de él, así que la red crece gracias a las personas que ya forman parte de ella. Carriage Pro desbloquea más puntos, analíticas, una insignia Pro y una app sin anuncios tras una prueba gratuita, lo que da al fundador una línea de ingresos procedente de los usuarios que más partido le sacan.</p>

### Dieciocho meses, once hitos aceptados

<p>El fundador necesitaba un colaborador que siguiera entregando año y medio después. Carriage lo construyó un solo desarrollador, tanto la app en React Native como el backend en NestJS, GraphQL y MongoDB, en once hitos, cada uno planificado por escrito, entregado con capturas de pantalla y un video de recorrido, y aceptado con un documento de liquidación que el cliente conservó.</p>

### Una base aburrida, a propósito

<p>El primer hito fue deliberadamente poco vistoso: la navegación y la estructura de la app con pantallas en blanco, sin funciones de demostración. Todo lo que vino después se construyó sobre esa base en lugar de ir poniendo parches a un comienzo apresurado, y los cambios de alcance se negociaron abiertamente en vez de absorberse en silencio.</p><p>Para el fundador significó un producto que creció durante dieciocho meses sin reescribirse, un presupuesto que siempre estuvo a la vista y un registro de cada decisión. Para los viajeros significó una app que funcionó en el momento en que más la necesitaban.</p>
