-
-
Redeem Page
-
Opening Page
-
Summary Page
-
Trip Summary
-
Home Page
-
Routes
-
Figma Design - The map page, probably will defer to the current app, as that design is better
-
Figma Design - User Flow Chart
-
Figma Design - Home page, showing daily carbon savings
-
Figma Design - Same map page, but for ending. Will defer to app, the same as above.
-
Figma Design - Cumulative score page, showing carbon savings over time
Inspiration
In a City of the Future, low-carbon mobility should be visible, rewarding, and woven into daily life. People already walk, cycle, or ride transit, but rarely see the collective impact. Carbon Saver turns those choices into clear CO₂ savings and a simple points system that feeds back into greener, more resilient cities (e.g., tree planting and local conservation).
What it does
Real-time trip tracking (~every 5 seconds), route visualisation on a city map, and distance measurement.
Mode selection across Walking, Cycling, Bus, Train, Metro (with Car as the baseline).
CO₂ savings versus driving (baseline 0.171 kg/km) and 100 pts per kg CO₂ (~17 pts per km for non-car modes).
Personal dashboard with trip history, total distance, CO₂ saved, and points that help residents see their contribution to a cleaner urban environment.
Impact redemptions: plant a tree (2000 pts) and donate to conservation (1500 pts), closing the loop between personal choices and city-scale outcomes.
How we built it
Tech stack: SwiftUI (UI), Core Location (GPS), MapKit (mapping/route overlays), UserDefaults (local persistence; planned migration to a secure database for city-scale use).
Logic: Periodic sampling (~5s) → distance accumulation → CO₂ saved vs. car → points = saved_kg_CO2 × 100.
Team workflow: Everyone contributed to ideation. Leon and Jinghan built the iOS app (MacBook toolchain); Caleb and Richard led product/UX. A temporary GitHub–Xcode issue on Jinghan’s machine pushed us to ZIP handoffs during staggered night shifts (Jinghan ~8pm–1am; Leon ~1am–5am). After GitHub was fixed in the morning, Jinghan committed settings and polish.
Designed from the outset to plug into future city ecosystems (transit, health, and urban greening programs).
Challenges we ran into
Asynchronous handoffs across night schedules. Jinghan & Leon were working on the development because only they two have the Macbook and Caleb & Richard were working on designing the interfaces. Unfortunately Jinghan's GitHub didn't work on Saturday and she tried different ways but no luck. As Jinghan and Leon have different working schedule, Jinghan worked from 8 p.m. to 1 a.m. and Leon worked from ~1 a.m. to 5 a.m., so they decided to use zip files to share the newest progress.
Accomplishments that we're proud of
An MVP that works :D What we have learnt in regards to iOS programming, swift, and swiftUI Getting the in-real-time tracking to work, which was very difficult to do A project idea that was thoughtful and meaningful to us
What we learned
None of us were familiar with mobile development before this hackathon, but we wanted to make a mobile app so we ended up watching some tutorials on swiftUI made by apple to learn the basics of developing an iphone app. Learning a new framework was super fun and it was really cool to see the updates in code make changes to the app in real time.
What's next for Carbon Saver
Some further UI and UX design, as we would like to have some customer feedback for design. Some things like unit of measurement change (imperial vs metric, changing from metres to kilometres as distance changes, etc)
Connecting with sponsors in order to create genuine incentives and have a greater impact.
A validation system for working out the mode of transport, rather than relying on user honesty. A classification model based on the location points, mapping them to roads, bus stops, train stations, etc, would allow for more accurate estimates of emissions saved.
Scalability, allowing for more users, and for points and routes to be persistantly stored. Creating a database/server to manage this, rather than using local variables, would be important when pushing to production.
Log in or sign up for Devpost to join the conversation.