Case study

Ecoify – from research prototype to an ML-powered carbon tracker

Ecoify started as a university research project exploring whether raw GPS traces, machine learning, and LLMs could turn everyday mobility into an accurate, automatic climate signal.

Problem discovery

Researched how carbon dioxide emissions have increased over time and how an average US household emits ~7.5 tons of CO₂ per year, then framed it as a measurement problem: could raw GPS traces be turned into an accurate, zero-input emissions signal?

Model & pipeline design

Scoped the ML pipeline end-to-end: mapping APIs and emission-factor models for trip-level CO₂ estimates, plus a transport-mode classifier to auto-detect walking, biking, bus and car trips from location traces alone.

Prototype & validation

Built a JavaScript tracker prototype converting trips and energy usage into live CO₂ scores, then trained and benchmarked a 1D-CNN against an XGBoost baseline on the GeoLife GPS dataset (17,000+ trajectories), reaching 90%+ transport-mode classification accuracy.

My role

End-to-end ownership as a Machine Learning / AI Engineer

Research & problem framing

  • Researched how CO₂ emissions have risen over time and how an average US household emits ~7.5 tons/year, framing it as a measurement and ML problem, not just an awareness campaign.
  • Evaluated public mobility datasets, including GeoLife GPS traces, and existing carbon-tracking apps to find where automated, sensor-driven tracking could beat manual trip logging.
  • Defined the core technical bet: if transport mode and distance could be inferred from raw location data alone, emissions scoring could happen with zero user input.

Model development

  • Trained a 1D-CNN in PyTorch on the GeoLife GPS dataset (17,000+ trajectories) to classify transport mode (walk, bike, bus, car) from raw location traces, reaching 90%+ accuracy.
  • Benchmarked the CNN against an XGBoost baseline on engineered trip features to confirm the deep-learning approach was worth the added complexity.
  • Built the client-side JavaScript tracker that turns trip and energy-usage data into live CO₂ scores using mapping APIs and emission-factor models.

Technical approach

  • Deployed the transport-mode classifier as a REST inference API on AWS, provisioned with Terraform, to power automatic trip detection for Ecoify's carbon scoring.
  • Used mapping APIs (e.g., Google Maps) for distance and mode-aware CO₂ estimation, feeding model outputs directly into the scoring pipeline.
  • Designed a consent-based data pipeline for anonymized mobility signal collection, built for scalable processing on cloud infrastructure.

What I’d do next

  • Extend the transport-mode classifier with richer sensor fusion (accelerometer + GPS) to improve accuracy on dense urban trips.
  • Add LLM-driven nudges that translate daily footprints into actionable offsets — e.g., one tree seedling offsetting 25% of a day's emissions — backed by a consent-based pipeline for anonymized insights.
  • Stand up an MLOps loop — model monitoring, drift detection and periodic retraining — to keep the classifier accurate as mobility patterns shift.
  • Build a RAG-based assistant over emissions research and trip history to answer questions like "how do I cut my footprint fastest?"
  • A/B test offset nudge designs and model confidence thresholds to maximize conversion and retention.
  • Launch a simple analytics dashboard for companies to explore anonymized, aggregated mobility trends.