touchgrass — Making AI's Hidden Environmental Cost Visible

Inspiration

Everyone uses AI, but how many of us know what it actually costs?

Every prompt consumes electricity, water, and computing resources. Yet we regularly use powerful frontier models for simple tasks that smaller models could handle just as well.

We wanted to make those invisible costs visible while helping people reduce them without changing how they work. That's how touchgrass started.

What It Does

touchgrass is a Chrome extension that tracks your AI usage across ChatGPT, Claude, Gemini, Perplexity, Grok, and more, estimating the energy, water, and carbon emissions associated with your conversations.

But tracking is only half the idea.

As you type, touchgrass evaluates whether your prompt actually needs a powerful model. If a smaller model can handle it, a notification suggests switching. You can switch, open a greener alternative, or continue normally. Nothing gets blocked.

Using Chalk, we evaluated smaller models against larger ones to make recommendations based on measured performance rather than guesses.

We also integrated Factory Droid and Daytona to analyze exported conversations in privacy-preserving sandboxes, identifying inefficient usage patterns. Droid also helps repair broken extension adapters when AI websites change their interfaces.

Finally, NASA night-light imagery visualizes the physical infrastructure supporting AI, while our dashboard translates environmental savings into relatable metrics like trees saved.

How We Built It

We built touchgrass using Python, TypeScript, WXT, React, HTML/CSS, and FastAPI.

Our biggest focus was making the coaching system evidence-based.

We created 151 synthetic prompts across 13 categories, ranging from arithmetic to complex reasoning. Through the Chalk Model Gateway, we compared Claude Haiku 4.5 against Sonnet 5.5, using an independent AI judge to evaluate response quality blindly.

We tested whether reversing response order affected judgments, calibrated Jev's confidence threshold, and deployed our classifier and nine scorers as Chalk Functions.

For conversation analysis, Factory Droid generates parsing and analysis scripts using redacted or synthetic data. Those scripts execute on private exports inside Daytona sandboxes, returning only aggregated insights.

Challenges and Accomplishments

Integrating Factory with Daytona was difficult because sandbox networking restrictions blocked direct communication. We solved this by separating code generation from private data execution.

Our initial AI judge was also overly strict, penalizing correct answers for irrelevant details. We refined its criteria and accounted for variation in Jev's confidence scores.

Our biggest achievement was achieving zero bad recommendations across 14 held-out test prompts, with 43 evaluation rows completing successfully. Our privacy tests also passed 8/8 checks.

What We Learned

Our biggest lesson was evaluate, don't guess. Simple rules misclassified tasks, while measured evaluations helped us make more reliable recommendations.

We also learned that AI agents need independent verification, especially when handling sensitive data.

Ultimately, sustainable AI doesn't have to mean using AI less. Sometimes it simply means using the right model for the right task.

Built With

Share this project:

Updates

Submission history