Inspiration
Fading Light came from the Tunisia water-scarcity story and the wider question of how people respond when essentials get limited. When resources shrink, behaviour changes. People get stressed, priorities narrow, and cooperation becomes harder to maintain. We wanted to capture that pressure and see what patterns appear when a group has to make decisions under scarcity.
What it does
It is a multi-agent simulation where Light is the scarce resource, standing in for things like water, energy, or attention. Light does not affect whether agents can communicate. Instead it affects their internal state, mainly anxiety. As Light drops, anxiety rises, agents become more self-protective, coordination gets harder, and decision quality can deteriorate. The point is to let social behaviour emerge from the interaction, rather than scripting outcomes.
How we built it
The frontend is built with React and Vite, styled with Tailwind, and standard JavaScript, HTML, and CSS. Agent dialogue is turned into speech using the ElevenLabs API so each personality can have a consistent, distinct voice.
The backend uses the Claude API for reasoning, with agents managed through LangGraph and LangChain. We used a dual-memory setup. Short-term memory is a rolling window of recent messages, and long-term memory is stored in a database so agents can keep useful context over time.
Challenges we ran into
Token and credit usage was a constant concern across both ElevenLabs and Claude, especially with multiple agents running at once. We had to keep prompts tight and be careful about when we generated audio. We also lost time because we did not define a clean API contract between the backend and frontend early on. If we had nailed the endpoints and data formats first, integration would have been much smoother.
Accomplishments that we're proud of
We are proud of the core idea and the fact that it produces interesting behaviour with a small number of agents. We are also proud that we built something outside our comfort zone and still shipped a working end-to-end demo across a lot of different technologies.
What we learned
Even with a small number of intelligent agents, you can still observe social behaviours like cooperation, bargaining, conflict, and coordination failures. The model matters, but the way you design incentives, memory, and the environment matters just as much.
What's next for Fading Light
Next we want to make the scenarios richer and the agents smarter so it feels closer to real-world scarcity. We also want to tighten the architecture with a proper backend to frontend API contract, add better monitoring for cost and performance, and scale the voice system in a more controlled way.
Built With
- claude
- css
- elevenlabs
- html
- javascript
- langchain
- langgraph
- python
- react
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.