Copiloto — Mockup overlay + flujo
Cómo se verá el semáforo encima de la oferta de Ridery, en los 3 escenarios.
1. Los 3 estados del semáforo
🔊
"Verde. Seis cincuenta la hora. Neto tres veinticinco."
🟢 BUEN VIAJE
Pickup corto + destino directo + tarifa decente
🔊
"Amarillo. Tres ochenta la hora. Neto uno sesenta."
🟡 MARGINAL
Pickup largo o tarifa baja. Tú decides.
🔊
"Rojo. Uno sesenta la hora. Neto cuarenta centavos."
🔴 PIERDES PLATA
Pickup más largo que el viaje. Rechaza.
Notas del diseño:
El overlay vive sobre la oferta de Ridery sin taparla por completo — ves los datos de Ridery abajo (precio, addresses, botones). El overlay aparece en ~1 segundo después de que Ridery muestra la oferta. Se cierra automático cuando aceptas/rechazas o pasan 12s. La voz se dispara una sola vez y NO interrumpe llamadas/música — usa audio focus transitorio.
2. Ejemplo de cálculo — caso ROJO de arriba
| Concepto |
Cálculo |
Monto |
| Te pagan |
Precio Ridery (in-app) |
$1.78 |
| Combustible |
(5.2 + 1.4) km × ($1.20 ÷ 11.1 km/L) |
−$0.71 |
| Desgaste técnico |
6.6 km × $0.035 |
−$0.23 |
| Mantenimiento |
6.6 km × $0.045 |
−$0.30 |
| Comisión Ridery |
Ya descontada (te pagan neto) |
$0.00 |
| Neto para ti |
15 min (4 pickup + 11 viaje) |
$0.54 |
| $/hora real |
$0.54 ÷ (15 min / 60) = $0.54 × 4 |
$2.16/h |
| Tu meta horaria |
($800 vida + $500 ahorro) ÷ (26 × 10) |
$5.00/h |
Verdad incómoda: esto es exactamente lo que pasa cuando aceptas un viaje barato con pickup largo. Ridery te muestra $1.78 y lo aceptas pensando "bueno, algo es algo". Copiloto te dice: estás ganando $2.16/h, menos de la mitad de tu meta. Si rechazas esto y el siguiente es verde a $6.50/h, ganaste tiempo y plata.
3. Flujo técnico end-to-end
flowchart TD
A[Ridery muestra
oferta en pantalla] --> B{Accessibility
detecta?}
B -->|sí| C[OfferParser extrae
precio, km, min, payment]
B -->|no| Z[Ignora]
C --> D{Fingerprint
nueva?}
D -->|no - misma oferta| Z2[Ignora
el timer corriendo]
D -->|sí| E[CherryPickerEngine
calcula con tus ajustes]
E --> F[Determina nivel
verde/amarillo/rojo]
F --> G1[OverlayService
dibuja cuadro flotante]
F --> G2[TTS dice frase
nivel + h + neto]
F --> H[CaptureStore persiste
oferta + análisis a JSONL]
G1 --> I{Pantalla cambia
o pasan 12s?}
I -->|sí| J[Overlay se cierra]
classDef green fill:#86efac,stroke:#15803d,color:#15803d;
classDef yellow fill:#fde68a,stroke:#ca8a04,color:#854d0e;
classDef red fill:#fca5a5,stroke:#b91c1c,color:#7f1d1d;
classDef blue fill:#bfdbfe,stroke:#1e40af,color:#1e3a8a;
class C,E,F blue;
class G1,G2 green;
4. Pantalla "Mi negocio" — lo que tú configuras
- Tipo de vehículo — dropdown: sedán / compacto / SUV / van / moto / adaptado. Aplica defaults.
- Rendimiento (km/L) — slider 5–60. Default por tipo (sedán 11.1, moto 40).
- Precio gasolina (USD/L) — slider $0.20–$2.00. Default $1.20.
- Desgaste técnico (USD/km) — slider $0.005–$0.10. Default por tipo.
- Mantenimiento (USD/km) — slider $0.01–$0.15. Default por tipo.
- Costo de vida mensual (USD) — slider $300–$3000. Default $800.
- Ahorro renovación carro (USD/mes) — slider $0–$1500. Default $500.
- Días trabajados al mes — slider 15–30. Default 26.
- Horas/día al volante — slider 4–14. Default 10.
La tarjeta arriba de los sliders se actualiza en vivo: "Costo total por km: $X.XX · Meta por hora: $X.XX". Idéntico a Dilo.
5. Privacidad y filosofía
- 100% en tu teléfono. Cero Firebase, cero red. Ajustes en SharedPreferences. Capturas en JSONL local.
- Análisis local. El cálculo del semáforo corre en ~5 ms en el mismo hilo que captura. No hay round-trip a servidor.
- El análisis se guarda con la captura. Cada oferta capturada incluye su nivel verde/amarillo/rojo + el neto calculado. Útil después para responder "¿qué % de las ofertas que tomé eran realmente rojas?"
- Es para Adolfo. Distribución limitada — no es producto comercial todavía.