Project Info
Inspiration
When we landed in SF, we knew we wanted to tackle climate change with LLMs. We spent a while thinking about it. But then, we realized something—LLMs are (in a sense) furthering climate change. It takes significant amounts of energy to train and run these models, especially multimodal tools.
What it does
Users can log text and image generation calls using our Python library. They can view how many of each call they've made in our dashboard, along with CO2 emissions generated and the cost to offset them. If users choose, they can offset their emissions using Sui. The general public can also verify whether or not a company has offset their emissions through a dynamic page.
How we built it
We built our web app with Next.js. Our frontend was supported by Tailwind CSS and shadcn/ui, while our backend utilized MongoDB to track each user's LLM calls. We used Suiet Wallet kit to enable Sui Wallet integrations into our app. We also developed and published our custom Python library using PyPI.
Challenges we ran into
Setting up blockchain transactions (no prior experience) Connecting to a Chrome extension (no prior experience) Organizing MongoDB functions (wrote 250+ lines of helper functions in <4 hours)
Accomplishments we're proud of
Getting everything deployed on Vercel Configuring blockchain transactions with Sui Getting the Python library to work with our backend API routes Engineering dynamic routes to give the general public transparency into carbon offsetting progress
What we learned
How to work with Sui blockchain transactions How to write optimized functions to fetch and write data to MongoDB How to deploy a Python library That SF is an awesome city
What's next
Building out enterprise-ready code Adding smart contract-esque functionality with Sui Developing carbon credit tokens with Sui
CallToChange 🌍
Team LiquidDeath: Aditya, Ganesh
Description
CallToChange is a carbon emission calculator designed by Team LiquidDeath. This tool analyzes and calculates the carbon emissions generated by a company's LLM (Large Language Model) calls. The application offers a comprehensive solution for monitoring and reducing the environmental impact of LLM call operations.
Inspiration
Our inspiration for CallToChange stemmed from the growing need to address carbon emissions generated by technology operations and a way to keep companies accountable and aware of the emissions they produce from AI usage. We aimed to create a tool that empowers companies to measure and mitigate their carbon footprint related to LLM calls.
What it does
CallToChange seamlessly integrates with our custom Python library (call-to-change) to log LLM call emissions. It utilizes academic research and information from the Department of Energy to accurately determine the carbon footprint of each LLM call. Our visually engaging dashboards provide clear insights into emissions data, aiding companies in making informed decisions to reduce their environmental impact.
How we built it
We developed CallToChange using Next.js and Python.
Our Python library logs LLM calls in MongoDB. Under the hood, our library does this by sending a POST request to API routes in our web app. These API routes securely handle data updates in MongoDB.
In our web app, we use Next.js and MongoDB to fetch user information (such as the number of times a user has used text generation). To create an interactive interface, we utilized Tailwind CSS. For user authentication, we used Clerk to manage user accounts.
Screenshots
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
Analysis
View
Metric
- 11
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- JavaScriptIn code
- MongoDBIn code
- Next.jsIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- PythonClaimed
- VercelClaimed
7 of 9 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
59 KB
Source files
31
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
adityakakarla/calltochange
40 files · 497 KB · @ d1f1f2f
Structure
Interface
22 files · 55%Screens, components and styles rendered to the user.
+4 moreAPI & routing
2 files · 5%Request entry points: routes, handlers and controllers.
Application logic
3 files · 8%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript81%
- JavaScript12%
- Markdown4%
- CSS3%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 35- @clerk/nextjs
- @geist-ui/core
- @hookform/resolvers
- @mysten/sui
- @radix-ui/react-icons
- @radix-ui/react-label
- @radix-ui/react-navigation-menu
- @radix-ui/react-slot
- @suiet/wallet-kit
- all
- class-variance-authority
- clsx
- dotenv
- geist
- lucide-react
- mongodb
- next
- react
- +17 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.