ibute partnered with Iris Technologies to build a machine learning system that automatically detects transportation modes using smartphone sensors — achieving 88% accuracy while consuming less than 5% battery daily. Delivered in 6 months with a lean team of 6 specialists.
The Challenge
Iris Technologies AB, a Stockholm-based impact tech startup, set out to help businesses and individuals measure and reduce their climate impact in support of the UN 2030 Sustainability Agenda. Their vision was ambitious: create a platform that could automatically track how people travel and calculate the carbon footprint of each journey — without requiring any manual input from users.
The core technical challenge: How do you automatically and accurately detect whether someone is traveling by bicycle, motorcycle, car, bus or subway — using only the sensors in their smartphone, while running continuously in the background without draining the battery?
Why This Was Hard
Unlike controlled environments where you might track delivery vehicles with dedicated hardware, this system needed to work:
- Across dramatically different traffic conditions (smooth European highways vs. congested Asian city streets)
- In areas with no internet connectivity (subway tunnels)
- Without destroying phone battery life (users won't keep an app that drains their battery)
- With high accuracy across diverse real-world scenarios (traffic jams, stop-and-go driving, multi-modal trips)
- On both iOS and Android (each with different background processing limitations)
- Within a startup budget (no room for expensive cloud computing or extensive field testing)
Traditional GPS-based solutions couldn't solve this. A car stuck in traffic looks like a bicycle on GPS. A subway train underground has no GPS signal at all. The solution required something more sophisticated: machine learning combined with sensor fusion and smart algorithms.
Have a complex AI challenge?
Transportation mode detection is just one example of how machine learning can solve complex real-world problems. Whether you're in logistics, healthcare, finance or sustainability — let's discuss how we can build a custom solution for your business.
Book a free 30-minute consultation →The Solution
Phase 1: Understanding the Problem Space
Before writing a single line of code, we conducted extensive research into existing academic papers on transportation mode detection. We analyzed the strengths and limitations of various sensor combinations and machine learning approaches.
Key insight: No single sensor could reliably distinguish between transportation modes. We needed to combine multiple data sources and create custom algorithms that could understand context.
Phase 2: Custom Deep Learning Model Development
We developed a custom Multi-Layer Perceptron (MLP) deep learning model trained on sensor data fusion from:
- Gyroscope — Detects rotational movement patterns (different for bicycles vs. cars)
- Accelerometer — Measures acceleration forces and vibration patterns unique to each mode
- GPS/Location — Provides speed and route information
- Magnetometer — Tracks directional changes and turning patterns
- Barometer — Detects altitude changes (critical for subway detection)
The Training Data Challenge
We couldn't buy a ready-made dataset for this specific use case. Instead, we:
- Recruited students and volunteers to collect real-world data across different transportation modes
- Supplemented with publicly available transportation research datasets
- Built a feedback loop where users could correct misidentifications, continuously improving the model
The Geographic Diversity Problem
Early testing revealed a critical challenge: transportation patterns vary dramatically by region.
Asia (Lahore)
- Frequent stops at traffic signals
- Slower average speeds with lots of stop-and-go
- Traffic jams causing cars to move at bicycle speeds
- Trips naturally broken into many smaller segments
Europe (Sweden, Denmark)
- Smoother, faster-moving traffic
- Well-organized public transportation
- Different acceleration/deceleration patterns
- Longer uninterrupted segments
- Underground subway tracks and stations
We needed the model to work in both environments without being retrained for each region. This required extensive testing and algorithm refinement to handle diverse global transportation patterns.
Result: 88% accuracy in transportation mode detection across both continents — a strong performance given the complexity and diversity of real-world conditions.
Technical Architecture
A full-stack solution combining native mobile apps, cloud infrastructure and machine learning.
Mobile Applications
Native development: Kotlin (Android) + Swift (iOS). Background sensor monitoring, trip start/stop detection, battery-optimized data collection, multi-modal trip segmentation.
Backend Infrastructure
Node.js API layer hosted on AWS. Authentication & user management, trip data processing, ML model orchestration, CO₂ statistics aggregation.
Python ML Pipeline
TensorFlow/Keras custom MLP model. Model training & retraining, real-time prediction API, cost-optimized AWS processing, model versioning & monitoring.
React.js Dashboard
Web-based user analytics interface. CO₂ footprint trends, company-level sustainability metrics, trip history visualizations, gamification elements.
Challenges Overcome
Challenge 1: Battery Optimization
The Problem: Continuous sensor monitoring could drain a phone battery in hours. Users would immediately uninstall an app that killed their battery life.
Our Solution:
- Implemented adaptive sampling rates (collect data more frequently when movement is detected, less when stationary)
- Used geofencing to detect when users left home/work and only then activated intensive monitoring
- Optimized sensor wake-up patterns to minimize CPU usage
- Carefully managed iOS background execution limits (more restrictive than Android)
- Reduced battery impact from approximately 20% daily drain to less than 5%
Technical innovation: We developed a state machine that intelligently transitioned between "sleep," "monitoring," and "active trip" modes based on movement patterns, dramatically reducing unnecessary sensor polling.
Challenge 2: Trip Start/Stop Detection
The Problem: How do you distinguish between a traffic light stop and the end of a trip? Or between a parking lot search and continued driving?
Our Solution:
- Built a time-and-distance algorithm analyzing duration, location history and time of day
- Implemented a "trip confidence score" to finalize trips only after meeting thresholds
- Handled edge cases like drive-throughs and gas station stops
Result: Accurate trip boundaries even in congested urban environments with frequent stops.
Challenge 3: Subway Detection Without Internet
The Problem: Subway trains travel underground where GPS signals are unavailable and cellular data doesn't work. How do you track a trip you can't see?
Our Solution:
- Used barometer data to detect underground descent
- Combined accelerometer patterns (distinctive subway vibrations) with last known location
- Calculated likely routes using entry/exit stations, time elapsed and known subway speeds
- Applied confidence scores and allowed user corrections
Technical innovation: By combining multiple sensor modalities and geographic context, we could accurately reconstruct subway trips even with zero GPS data during the journey.
Challenge 4: Airplane Detection
The Problem: When users fly, their phones are typically in airplane mode — no GPS, no cellular data and limited sensor activity. Yet flights represent significant carbon footprints that need to be tracked.
Our Solution:
- Detected airplane mode activation during typical travel hours
- Used the last known location before airplane mode and first location after
- Calculated distance and verified it matched airport-to-airport travel
- Applied time-distance heuristics (e.g. 500+ miles in 2 hours = likely a flight)
- Prompted users to confirm flight travel rather than assuming
Result: Captured air travel carbon footprint without requiring manual entry.
Challenge 5: Multi-Modal Trip Segmentation
The Problem: In European cities especially, a single "trip" might involve walking to a bus stop, taking a bus, transferring to a subway, then walking to a destination. The app needed to recognise this as one journey with multiple segments, not five separate trips.
Our Solution:
- Developed trip chaining algorithms analyzing time gaps, geographic connections and travel direction
- Created configurable time thresholds for trip continuation vs. new trip detection
- Handled different cultural patterns (Europe: many transfers, Asia: fewer but more stops)
- Allowed users to merge/split trips if the algorithm misclassified
Result: Intelligent trip representation that matched users' mental models of their journeys.
Real-World Testing
To validate the system's robustness, we conducted extensive testing in two dramatically different environments:
Asia (Lahore, Pakistan)
- Dense urban traffic with frequent stops
- Mixed transportation modes on the same roads
- Motorcycles weaving through traffic
- Unpredictable speed patterns
- Challenging GPS accuracy in narrow streets
Europe (Sweden, Denmark)
- High-speed highway travel
- Well-organized public transportation networks
- Extensive subway systems
- Smoother traffic flow
- Different rush hour patterns
Testing the model across these diverse conditions was critical. We didn't want a solution that only worked in Swedish suburbs. The 88% accuracy achieved across both regions validated that our sensor fusion and algorithmic approach was genuinely robust.
Business Value
Discovery
Requirements gathering, Academic research, Architecture planning, Sensor strategyDevelopment
ML model training, Android app (Kotlin), iOS app (Swift), Node.js backend, React dashboard, Data collection drives, Cross-continental testingLaunch
Global testing, Battery optimisation, Production deployment, User feedback loopFor Iris Technologies
Speed to Market
Delivered a working MVP in 6 months with a lean team of 6 specialists — 3–4× faster than building an in-house team from scratch.
ROI: 3–4× faster than in-house buildCost Efficiency
Avoided $100K–$120K in hiring and infrastructure costs. No trial-and-error on unfamiliar technical domains. AWS usage optimized for startup budgets.
$100K–$120K in avoided costsGlobal Validation
Testing across Asia and Europe gave Iris the confidence their solution could scale internationally — critical for investor conversations and future market expansion.
Investor-ready proof pointsTechnical De-Risking
Proved that accurate, battery-efficient transportation mode detection was achievable with smartphone sensors — validating the core assumption their business model depended on. Enabled seed funding round.
Enabled seed funding roundFor End Users
Effortless Carbon Tracking
Users didn't need to manually log trips or remember transportation modes. The app handled everything automatically in the background.
Actionable Insights
Daily, weekly and monthly CO₂ statistics helped users understand their environmental impact and make more sustainable choices.
Battery-Friendly
Optimized to run continuously without noticeably impacting phone battery life — critical for long-term user retention.
Privacy-Conscious
All processing happened on device or in secure cloud infrastructure, with no location data sold or shared.
Key Achievements
Lessons Learned
1. Real-World ML Is Messy
Academic papers often show 95%+ accuracy in controlled conditions. Real-world accuracy of 88% across diverse, uncontrolled environments is actually exceptional — because the real world is full of edge cases, sensor noise and unpredictable user behaviour.
2. Geographic Diversity Matters
A model trained only on Swedish data would have failed in Lahore. Testing across continents wasn't just nice-to-have — it was essential for building a truly robust system.
3. Battery Life Is Non-Negotiable
No matter how accurate your AI, users will uninstall an app that kills their battery. Mobile ML requires obsessive optimisation of sensor usage, processing frequency and background execution.
4. Sensor Fusion Beats Single-Source Data
GPS alone couldn't solve this problem. Accelerometer alone couldn't solve it. The magic happened when we intelligently combined multiple sensors and applied contextual algorithms.
5. Startups Need Technical Partners Who Understand Constraints
Iris didn't have unlimited budget or time. We delivered an MVP in 6 months with a lean team by making smart technology choices, optimising cloud costs from day one, focusing on core functionality first, and bringing deep expertise so we didn't waste time on dead ends.
I have been using ibute for our software development requirements and highly recommend them. The dedication and pragmatism of the team along with the affordability has proven a valuable partner for us as a startup. We will continue using the services and grow together with ibute.
