myodo Complete System Flow
Status: SANDBOX DOCUMENT - Work in Progress
Purpose: Comprehensive explanation of end-to-end product flows
Last Updated: January 2026
This document explains every step of how data moves through the myodo ecosystem - from the moment a repair order is created to the moment a customer books their next appointment. Every touchpoint, every handoff, every notification.
Table of Contents
- System Overview
- Service Record Upload Flow
- Device Telemetry Flow
- Vehicle Profile & Linking
- Service Notification Flow
- Scheduling System Flow
- Shop-Consumer Messaging Flow
- Data Privacy & Consent Flow
- Complete User Journey (End-to-End)
1. System Overview
The Core Concept
myodo acts as an intelligent broker between three parties:
- Vehicle Owners - People who drive cars and need maintenance
- Repair Shops - Independent businesses that service vehicles
- The Vehicle Itself - Via the myodo device, providing real-time data
The system's job is to create and maintain connections between these parties, facilitate communication, and ensure the right information reaches the right person at the right time.
The Universal Key: VIN
Everything in myodo revolves around the Vehicle Identification Number (VIN). The VIN is a 17-character unique identifier assigned to every vehicle manufactured since 1981. It never changes for the life of the vehicle.
The VIN connects:
- The myodo device installed in the vehicle
- The vehicle owner's account in the myodo app
- Every service record ever uploaded for that vehicle
- The shop(s) that have serviced that vehicle
- Manufacturer maintenance schedules for that specific make/model/year
When any piece of data enters the myodo system, the first question is always: "What VIN does this belong to?"
Data Sources
Data enters myodo from three sources:
| Source | Data Type | How It Enters |
|---|---|---|
| myodo Device | Mileage, engine data, trip info | Automatic cellular transmission |
| Shop Dashboard | Service records, repair orders | Manual upload by shop staff |
| Consumer App | Historical records, preferences | Photo upload, manual entry |
2. Service Record Upload Flow
Step 1: Service Is Performed
A vehicle owner brings their car to a repair shop. The shop performs work - could be an oil change, brake replacement, tire rotation, major repair, or any combination of services. At the end of the visit, the shop generates a repair order (also called an invoice or work order).
This repair order contains:
- Shop name and contact information
- Date of service
- Vehicle information (make, model, year, VIN, license plate, mileage)
- Customer information (name, phone, email)
- Line items for each service performed
- Parts used (part numbers, quantities, prices)
- Labor charges (hours, rates)
- Totals, taxes, payment information
- Technician notes or recommendations
Step 2: Shop Uploads the Repair Order
The shop employee accesses the myodo Shop Dashboard and uploads the repair order. This can happen in several ways:
Method A: PDF Upload (Most Common)
- Shop exports repair order as PDF from their shop management system (ShopGenie, Tekmetric, Mitchell, etc.)
- Shop employee drags and drops the PDF into the myodo dashboard
- myodo receives the file and queues it for processing
Method B: Photo Upload
- Shop employee takes a photo of the printed repair order
- Photo is uploaded via the dashboard or mobile app
- myodo receives the image and queues it for processing
Method C: Direct Integration (Future)
- Shop management system has API integration with myodo
- When repair order is finalized, it automatically syncs to myodo
- No manual upload required
Step 3: AI Document Processing
When myodo receives a repair order (PDF or image), the AI processing pipeline activates:
3a. Document Intake
- File is received and stored in secure cloud storage
- File is assigned a unique document ID
- Metadata is recorded: upload timestamp, uploading shop ID, file type, file size
3b. Text Extraction
- For PDFs: Text is extracted directly from the PDF structure
- For images: Optical Character Recognition (OCR) converts the image to text
- The raw extracted text is stored for processing
3c. VIN Detection
- AI scans the extracted text looking for a valid VIN
- VINs follow a specific pattern: 17 characters, specific character positions have meaning
- If found, the VIN is validated against known patterns
- If no VIN is found, the system attempts to identify the vehicle via make/model/year + license plate
- If vehicle cannot be identified, the upload is flagged for manual review
3d. Data Extraction
The AI extracts structured data from the unstructured document:
- Service Date - When the work was performed
- Mileage at Service - Odometer reading at time of service
- Services Performed - Each line item (oil change, brake pads, etc.)
- Parts Used - Part numbers, descriptions, quantities
- Labor Details - Hours, rates, descriptions
- Costs - Parts costs, labor costs, totals
- Technician Recommendations - "Recommend replacing tires at next visit"
- Customer Information - Name, phone, email (if present)
3e. Data Normalization
Different shops describe the same service in different ways. The AI normalizes this:
- "Oil Change" = "Lube, Oil, Filter" = "LOF" = "Engine Oil Service"
- "Brake Pads - Front" = "Front Brake Pad Replacement" = "Fr Brake Pads"
- All variations are mapped to standard service categories
3f. Confidence Scoring
- Each extracted field gets a confidence score (0-100%)
- High confidence fields are accepted automatically
- Low confidence fields may be flagged for human review
- Overall document confidence determines if manual review is needed
Step 4: Record Storage
Once processed, the service record is stored in the myodo database:
- Primary Key: VIN + Service Date + Shop ID
- Indexed Fields: VIN, Shop ID, Service Date, Service Types
- Original Document: Stored as reference (never deleted)
- Extracted Data: Stored in structured format for querying
Step 5: Relationship Linking
After storage, the system checks for and creates relationships:
5a. Vehicle-Shop Link
- If this is the first time this shop has serviced this VIN, a new shop-vehicle relationship is created
- If the relationship already exists, the "last service date" is updated
- The shop is now the "most recent service provider" for this vehicle
5b. Vehicle-Owner Link (If Device Exists)
- System checks: Is there a myodo device registered to this VIN?
- If yes: The service record is linked to the vehicle owner's account
- If no: The record is stored but not linked to any consumer account (yet)
5c. Consumer Notification (If Linked)
- If the vehicle owner has a myodo account and has opted into notifications:
- A push notification is sent: "New service record added: [Service Type] at [Shop Name]"
- The record appears in their app under Service History
3. Device Telemetry Flow
Step 1: Device Installation
The vehicle owner (or a shop employee) installs the myodo device:
- Locate the OBD-II port (under the dashboard, driver's side, near the steering column)
- Plug the myodo device into the port
- The device powers on automatically (draws power from the vehicle's 12V system)
- LED indicator shows status (blinking = connecting, solid = connected)
Step 2: Device Registration
The device must be registered to a vehicle owner's account:
- Vehicle owner opens the myodo app
- Selects "Add Device"
- Scans the QR code on the device (or manually enters the device serial number)
- The app sends a registration request to the myodo backend
- The backend associates the device serial number with the user's account
Step 3: VIN Auto-Detection
Once plugged in, the device reads the vehicle's VIN:
- Device sends a request over the OBD-II protocol asking for the VIN
- The vehicle's onboard computer responds with the 17-character VIN
- Device transmits the VIN to myodo servers
- The VIN is validated and associated with the device and user account
- The vehicle's make, model, year, and engine are decoded from the VIN
- Manufacturer maintenance schedules for this specific vehicle are loaded
Step 4: Continuous Data Collection
While the device is installed, it continuously collects data:
When the Vehicle is Running:
- Every 1 second: GPS coordinates captured (for distance calculation)
- Every 5 seconds: Speed, RPM, engine load recorded
- Every 60 seconds: Data packet assembled and transmitted to myodo servers
Data Packet Contents:
- Device ID
- Timestamp
- Current odometer reading
- Trip distance since last transmission
- Current speed
- Engine RPM
- Coolant temperature
- Battery voltage
- Fuel level (if available)
- Check engine light status
- Any diagnostic trouble codes (DTCs)
When the Vehicle is Parked:
- Device enters low-power mode
- Transmits a "heartbeat" packet every 4 hours
- Heartbeat confirms device is still connected and vehicle battery status
Step 5: Data Transmission
The device sends data to myodo servers via cellular connection:
- Device has a built-in cellular modem with pre-installed SIM card
- Connects to available cellular network (multi-carrier, chooses strongest signal)
- Data is encrypted before transmission
- Transmitted to myodo ingestion servers
- Server acknowledges receipt
- If transmission fails, data is buffered on-device (up to 7 days of storage)
Step 6: Server-Side Processing
When data arrives at myodo servers:
6a. Authentication
- Device ID is verified against registered devices
- Cryptographic signature is validated
- Invalid or unregistered devices are rejected
6b. GPS Processing (Privacy-Critical)
- GPS coordinates are used ONLY to calculate distance traveled
- Distance is added to running trip total
- GPS coordinates are then immediately discarded
- Only the distance value is stored, never the location
6c. Odometer Update
- New odometer reading is compared to previous reading
- Sanity check: Is the increase reasonable? (Can't go backward, can't jump 10,000 miles)
- If valid, vehicle's odometer record is updated
- Mileage history is logged (date + odometer reading)
6d. Service Interval Calculation
- Current odometer is compared against service schedules
- For each maintenance item (oil change, tire rotation, etc.):
- Calculate: Miles since last service of this type
- Compare to: Recommended interval for this vehicle
- Determine: Miles remaining until service is due
6e. Alert Generation
- If any service is within threshold (default: 500 miles), flag for notification
- If check engine light is on, flag for immediate notification
- If battery voltage is low, flag for notification
- Alerts are queued for the notification system
4. Vehicle Profile & Linking
The Vehicle Profile
Every vehicle in myodo has a profile, which is the central record that connects everything:
- VIN - The unique identifier
- Decoded Vehicle Info - Year, Make, Model, Engine, Trim
- Current Odometer - Most recent known mileage
- Service History - All uploaded service records
- Maintenance Schedule - Manufacturer-recommended service intervals
- Service Status - What's due, what's coming up, what's overdue
- Linked Device - If a myodo device is installed
- Linked Owner - If a consumer has claimed this vehicle
- Linked Shops - Shops that have serviced this vehicle
How Linking Works
Scenario A: Device First, Then Service
- Consumer buys myodo device and installs it
- Device registers VIN to consumer's account
- Vehicle profile is created (or existing orphan profile is claimed)
- Consumer takes car to a shop for service
- Shop uploads repair order
- myodo detects: "This VIN has a registered owner"
- Service record is automatically linked to consumer's account
- Consumer sees record in their app immediately
- Shop is now linked as a service provider for this vehicle
Scenario B: Service First, Then Device
- Consumer takes car to a myodo-connected shop
- Shop uploads repair order
- myodo creates a vehicle profile for this VIN (orphan profile - no owner)
- Service record is stored, linked to vehicle profile
- Later, consumer buys and installs myodo device
- Device reads VIN during registration
- myodo detects: "This VIN already has service history"
- Existing vehicle profile is linked to consumer's account
- All previous service records now appear in consumer's app
- Consumer "inherits" the service history
Scenario C: Consumer Uploads Historical Records
- Consumer has myodo device installed
- Consumer has old service records (paper, email, photos)
- Consumer uploads these via the myodo app
- AI processes and extracts data
- VIN is matched to consumer's vehicle
- Historical records are added to the vehicle's service history
- Service intervals are recalculated based on complete history
The Shop-Consumer Connection
When a shop services a vehicle with a myodo device, a relationship is created:
- The shop can see: This vehicle exists, its service history (at their shop only), upcoming service needs
- The shop cannot see: Consumer's personal details, service history at other shops, location data
- The consumer can see: The shop's name, contact info, their service history at that shop
- The consumer controls: Whether the shop can contact them, what data is shared
5. Service Notification Flow
Trigger: Service Approaching
The notification system constantly monitors all vehicles with active devices:
- Every time new mileage data arrives, service intervals are recalculated
- If a service item crosses the notification threshold, an alert is triggered
- Default threshold: 500 miles before service is due
- Consumer can customize thresholds (250 miles, 1000 miles, etc.)
Notification Content Generation
When a notification is triggered, the system generates the message:
Information Gathered:
- What service is due (e.g., "Oil Change")
- Miles until due (e.g., "487 miles")
- Most recent shop for this vehicle (e.g., "Joe's Auto Repair")
- Consumer's notification preferences (push, email, SMS)
Message Constructed:
"Your [Vehicle Year Make Model] is due for an oil change in about 500 miles. Schedule with Joe's Auto Repair?"
Notification Delivery
Push Notification (Primary)
- Message is sent to Apple Push Notification Service (iOS) or Firebase Cloud Messaging (Android)
- Consumer's phone receives the notification
- Notification appears on lock screen and in notification center
- Tapping the notification opens the myodo app to the scheduling screen
Email Notification (Secondary)
- If consumer has email notifications enabled:
- Email is generated with service details
- Includes "Schedule Now" button linking to the app
- Sent via email delivery service
SMS Notification (Optional)
- If consumer has SMS notifications enabled:
- Short message is generated
- Sent via SMS gateway
- Includes link to schedule
Notification Frequency Controls
To prevent notification fatigue:
- Same service type: Maximum one notification per 7 days
- Total notifications: Maximum 3 per week per vehicle
- Consumer can snooze: "Remind me in 1 week"
- Consumer can dismiss: "I've already scheduled this"
- Consumer can disable: Turn off notifications for specific service types
6. Scheduling System Flow
Consumer Initiates Scheduling
From the notification or from the app, the consumer decides to schedule:
- Consumer taps "Schedule" button
- App opens scheduling interface
- Default shop is pre-selected (most recent service provider)
- Consumer can change shop if desired
Shop Availability (Pro Shops)
If the shop has a Pro subscription with calendar integration:
- myodo queries the shop's calendar for available slots
- Available times are displayed to the consumer
- Consumer selects a date and time
- Selected slot is temporarily held (5 minutes to complete booking)
Shop Availability (Free Shops)
If the shop is on the free tier (no calendar integration):
- Consumer sees shop's business hours
- Consumer selects a preferred date/time
- Request is sent to shop as a "requested time" (not guaranteed)
- Shop will confirm or suggest alternatives
Appointment Request Submission
Consumer submits the scheduling request:
Data Included in Request:
- Consumer ID (anonymized until shop confirms)
- Vehicle: Year, Make, Model (not full VIN yet)
- Service requested: "Oil Change"
- Requested date/time
- Consumer's contact preference (app message, phone call, email)
- Optional notes: "Car is making a squeaking noise too"
Shop Receives Request
The shop is notified of the incoming appointment request:
- Push notification to shop dashboard: "New appointment request"
- Email notification to shop's designated email
- Request appears in shop's dashboard queue
Shop Confirms or Modifies
Option A: Confirm as Requested
- Shop clicks "Confirm"
- Appointment is locked in
- Consumer receives confirmation notification
- Appointment appears on both calendars
Option B: Suggest Different Time
- Shop clicks "Suggest Alternative"
- Shop selects available times to offer
- Consumer receives notification with options
- Consumer selects from alternatives or requests different times
- Process repeats until agreement is reached
Option C: Decline
- Shop declines the request (too busy, don't offer that service, etc.)
- Consumer is notified
- Consumer can request from a different shop
Appointment Confirmation
Once confirmed, both parties receive:
Consumer Receives:
- Push notification: "Appointment confirmed for [Date] at [Time]"
- Calendar invite (if enabled)
- Shop name, address, phone number
- Service to be performed
- Option to add to phone calendar
Shop Receives:
- Consumer's name and contact information (now revealed)
- Vehicle details including VIN
- Service history at their shop
- Service requested
- Consumer's notes
Appointment Reminders
As the appointment approaches:
- 24 hours before: Consumer receives reminder notification
- 2 hours before: Consumer receives final reminder
- Morning of: Shop receives daily schedule including this appointment
7. Shop-Consumer Messaging Flow
myodo as Message Broker
All communication between shops and consumers flows through myodo. This provides:
- Privacy: Consumer's personal phone/email not exposed to shop
- Control: Consumer can block a shop at any time
- Record: All messages are logged for dispute resolution
- Filtering: Spam/inappropriate messages can be blocked
Message Types
Type 1: Service Updates
Shop sends updates about in-progress service:
- "Your vehicle is being worked on now"
- "We found an additional issue - see details"
- "Your vehicle is ready for pickup"
Type 2: Quotes and Estimates
Shop sends pricing information:
- Itemized quote for requested service
- Quote for additional recommended work
- Consumer can approve or decline via app
Type 3: Photos and Documentation
Shop shares visual information:
- Photos of worn parts
- Photos of damage discovered
- Inspection report images
Type 4: General Communication
Free-form messaging:
- Questions about the vehicle
- Clarifications about service
- Scheduling coordination
Message Flow (Shop to Consumer)
- Shop composes message in dashboard
- Shop attaches photos/documents if applicable
- Shop clicks "Send"
- Message is stored in myodo database
- Consumer notification is triggered
- Consumer's phone shows push notification
- Consumer opens app to view full message
- Read receipt is recorded
- Consumer can reply
Message Flow (Consumer to Shop)
- Consumer opens conversation in app
- Consumer types message or attaches photo
- Consumer sends
- Message is stored in myodo database
- Shop notification is triggered
- Shop sees notification in dashboard
- Shop views and responds
Privacy Controls in Messaging
- Consumer can block shop: No further messages allowed
- Consumer can mute shop: Messages allowed but no notifications
- Consumer can report shop: Flagged for myodo review
- Shop cannot message without relationship: Must have serviced vehicle first
- Shop cannot mass-message: Only individual conversations allowed
8. Data Privacy & Consent Flow
Consumer Data Ownership
Fundamental principle: The consumer owns their data.
- Service records belong to the consumer, not the shop
- Mileage data belongs to the consumer, not myodo
- The consumer decides what to share and with whom
Consent Levels
Level 1: Account Creation
Consumer agrees to:
- myodo Terms of Service
- Privacy Policy
- Data processing for service functionality
Level 2: Device Registration
Consumer agrees to:
- Collection of vehicle telemetry data
- Use of GPS for mileage calculation (not storage)
- Transmission of data via cellular network
Level 3: Shop Connection
When a shop services their vehicle, consumer is notified:
- "[Shop Name] uploaded a service record for your vehicle"
- "[Shop Name] can now see your service history at their shop"
- Consumer can disconnect the shop at any time
Level 4: Data Sharing (Per-Request)
When consumer schedules with a new shop:
- Consumer chooses what to share: Full history? Just basics?
- Sharing is revocable at any time
- Shop only sees what consumer explicitly shared
Data Deletion Rights
Delete Specific Records
Consumer can delete individual service records:
- Record is removed from consumer's visible history
- Record is flagged as deleted (not shown to shops)
- Original document may be retained for legal compliance (configurable)
Delete Account
Consumer can delete their entire account:
- All personal data is removed from active systems
- Device is deregistered
- Backup copies are purged within 30 days
- Anonymized aggregate data may be retained for analytics
Shop Data Access
Shops have limited data access by design:
- Can see: Vehicles they have serviced, service history at their shop
- Cannot see: Service history at other shops, consumer personal data (until appointment confirmed), location history (doesn't exist)
9. Complete User Journey (End-to-End)
Let's follow a complete journey from device purchase to return visit:
Day 1: Device Purchase and Installation
- Sarah buys a myodo device ($150) from the myodo website
- Device ships within 2 days
- Sarah receives device, downloads myodo app
- Sarah creates account (email, password)
- Sarah plugs device into her 2019 Honda Accord
- Device reads VIN: 1HGCV1F34KA123456
- App confirms: "2019 Honda Accord EX detected"
- Device is now transmitting mileage data
Day 5: Historical Records Upload
- Sarah finds old service receipts in her glovebox
- Opens myodo app, taps "Add Service Record"
- Takes photos of 3 old receipts
- AI processes and extracts: Oil change (15,000 mi), Tire rotation (18,000 mi), Oil change (21,000 mi)
- Records appear in her service history
- App calculates: "Next oil change due at 26,000 miles"
Day 30: Shop Visit
- Sarah takes car to Joe's Auto Repair for a check engine light
- Joe diagnoses: Loose gas cap (no repair needed)
- Joe uploads the repair order to myodo Shop Dashboard
- myodo links the record to Sarah's vehicle (VIN match)
- Sarah receives notification: "New service record from Joe's Auto Repair"
- Record appears in her app: "Check Engine Diagnosis - $45"
- Joe's Auto Repair is now linked as a service provider
Day 90: Service Notification
- Sarah has driven 4,500 miles since her last oil change
- Oil change interval for her vehicle: 5,000 miles
- myodo triggers notification (500 miles before due)
- Sarah's phone buzzes: "Your Honda Accord is due for an oil change in about 500 miles. Schedule with Joe's Auto Repair?"
Day 90: Scheduling
- Sarah taps the notification
- myodo app opens to scheduling screen
- Joe's Auto Repair is pre-selected
- Sarah sees available times (Joe has Pro subscription)
- Sarah selects: "Thursday 10:00 AM"
- Sarah taps "Request Appointment"
- Request is sent to Joe's dashboard
Day 90: Shop Confirmation
- Joe receives notification: "New appointment request"
- Joe sees: Sarah M., 2019 Honda Accord, Oil Change, Thursday 10 AM
- Joe sees Sarah's history at his shop: "Check Engine Diagnosis - 2 months ago"
- Joe clicks "Confirm"
- Sarah receives: "Appointment confirmed! Thursday 10:00 AM at Joe's Auto Repair"
Day 93: Appointment Reminder
- Wednesday evening: Sarah receives push notification
- "Reminder: Oil change tomorrow at 10:00 AM at Joe's Auto Repair"
- Sarah adds to phone calendar
Day 94: Service Visit
- Sarah arrives at Joe's at 10 AM
- Joe already has her info pulled up from myodo
- Joe performs oil change
- Joe notices: "Brakes are getting worn, recommend replacing in 10,000 miles"
- Joe completes service, generates repair order
- Joe uploads to myodo: "Oil Change - $65, Note: Brake pads wearing"
Day 94: Post-Service
- Sarah receives notification: "Service record updated: Oil Change at Joe's Auto Repair"
- Record appears in app with full details
- myodo updates next service: "Oil change due at 31,500 miles"
- myodo notes: "Brake pad replacement recommended around 36,000 miles"
- Sarah's service history is complete and up to date
Day 180: Next Cycle Begins
- Sarah approaches 31,000 miles
- myodo sends notification: "Oil change due in 500 miles"
- Sarah schedules with Joe again
- The cycle continues
Summary: The myodo Value Loop
The complete system creates a virtuous cycle:
- Device tracks mileage → Enables accurate service predictions
- Accurate predictions → Consumer trusts notifications
- Consumer trusts notifications → Consumer schedules service
- Consumer schedules service → Shop retains customer
- Shop retains customer → Shop uploads records
- Shop uploads records → Better service history
- Better service history → More accurate predictions
- Repeat
myodo sits at the center of this loop, facilitating every connection while ensuring the consumer maintains control of their data and relationships.
myodo - Your car. Your records. Your choice.
Investor Elevator Pitch
What We Do: myodo is the intelligence layer between vehicles and repair shops. We broker the relationship - tracking real mileage, storing service history, and connecting drivers to shops at exactly the right moment.
How It Works: A small device plugs into your car and reports mileage to our system. We combine that with service records from shops. When maintenance is actually due, we notify the driver and route them back to their shop. One tap to schedule.
Why We Win: We sit in the middle. Drivers get accurate reminders and a complete service history. Shops get customers who come back. We're the broker that makes both sides better off.
The Business: $150 device, $15/month for drivers. Free dashboard for shops, $100/month Pro tier. $25/month for fleets. Same device, same backend, three revenue streams.
The Ask: $500K on a $5M cap. 12-month runway to 300 devices, 20 shops, $65K ARR.
Document Status: SANDBOX - Work in Progress