Inspiration
The infrastructure powering the tools people use every day is scaling faster than any regulation can respond to. People know this. They want to do something about it. But every existing solution hands them a lifestyle questionnaire, spits out a generalised guess, and calls it an offset. We built something different, carbon offsets based on what we actually measure. The demand is proven. Ryanair ran a voluntary carbon offset programme with no real measurement and credible accusations of greenwashing, and still got roughly 2.5 million users to sign up. Voluntarily. The number of people who fly Ryanair is a fraction of those who use an LLM, own a laptop, or carry a phone. If we could capture even a small slice of that demographic and move them to offset 10% of their digital emissions, that's a meaningful environmental win.
What it does
WattPrint is an ecosystem that tracks users' energy usage across devices and lets them offset their emissions in one place. We built a Windows data pipeline that collects battery energy data hourly and pushes structured emissions metrics to our backend. We built an Android app that captures mobile battery drain. And we built a Chrome extension that tracks token usage across Claude, ChatGPT, and Gemini. All three feed into a unified dashboard where users can see their real carbon footprint and offset it through Stripe Climate, with aggregated orders ensuring every purchase meets minimum thresholds for verified direct air capture.
How we built it
We started by architecting the full system as a Mermaid diagram to map data flows and component connections. The design evolved as complexity grew, but having it to refer back to kept us aligned. We also ran the project through Jira, breaking work into focused task blocks to maintain momentum across the team. We divided work by expertise. William owned the Stripe integration. Travis built the Windows metrics pipeline. Shay architected the database and wrote the SQL. We combined AI-assisted development with classical coding throughout, which let us move fast and unblock ourselves when issues arose.
Challenges we ran into
We initially scoped this for enterprise, but the further we got into the problem the clearer it became that individual consumers are the underserved market. Companies generally have access to carbon offset services. Most people don't. Measuring energy accurately across different devices and LLM models is genuinely hard, hardware varies, models differ in efficiency, and there's no single standard. We designed our pipeline to abstract around this as much as possible, with the intention of extending precision as the project grows. We also hit API access walls during the hackathon. When keys weren't available in time, we pivoted rather than stalled, keeping a working product the priority throughout.
Accomplishments we're proud of
We shipped three entirely separate data capture systems, a Windows pipeline, an Android app, and a Chrome extension, built in parallel across completely different domains, and got them all talking to the same backend. For that to come together into a unified product within a hackathon was the accomplishment we're most proud of.
What we learned
Structure compounds. Our Mermaid diagrams meant nobody had to interrupt a teammate to understand how the system fit together. Our Jira meant we always had a clear next task. The more organised we were upfront, the faster and smoother development went. It's a lesson we all knew, but this project made it visceral. Taking brief notes of what we were working on, blockers etc. kept us in the loop on the status of the project. This helped smooth out downtime between tasks.
What's next for WattPrint
The most immediate path is expanding device coverage, macOS, iOS, and more LLM providers. Beyond that, we want to build bespoke measurement methods for each platform rather than relying on generalised proxies, making the emissions data genuinely precise. Longer term, there's a clear case for an enterprise tier, organisations that want verified, device-level emissions reporting rather than estimated scope 3 figures.
Built With
- chromeextension
- javascript
- python
- stripe
- supabase
Log in or sign up for Devpost to join the conversation.