Inspiration
AmongHumans was inspired by growing fascination with human-AI interaction and social deception games. We wanted to explore what happens when artificial intelligence isn’t just a background tool but an active participant in human-centered gameplay. Classic social deduction games like Among Us inspired the format, but we aimed to introduce a modern twist: giving players direct influence over how the AI behaves. The core question that motivated us was: Can humans still detect an AI when they’re the ones shaping it?
What it does
AmongHumans is a multiplayer social deduction game where players must identify a hidden AI (“the Imposter”) among them. Each round, everyone answers creative text prompts like “Describe your perfect Sunday”, including the AI, which uses a large language model to generate its own responses. Players then vote for who they believe is the AI. However, there’s a twist: humans can also score by deceiving others into thinking they’re the AI, introducing a dual-objective system of detection and deception.
How we built it
The project was developed as a web-based real-time multiplayer game using modern web frameworks. The stack includes:
- Backend: Node.js with Express.js for API endpoints and Socket.IO for real-time multiplayer communication.
- Frontend: HTML5 and Tailwind CSS 4.x for a responsive and modern interface.
- AI Integration: Amazon Bedrock’s
openai.gpt-oss-120b-1:0model, accessed through an OpenAI-compatible API.
Players connect to private game rooms, influence the AI’s personality through submitted instructions, and compete over several rounds. The game logic handles timing, scoring, and adaptive AI behavior to make the experience increasingly challenging.
Challenges we ran into
We faced several major challenges during development:
- Balancing AI believability: Getting the AI to sound convincingly human while keeping it distinct enough to be discoverable required fine-tuning temperature and heuristics.
- Synchronizing game state: Ensuring all clients stayed in sync with real-time updates across variable network speeds pushed Socket.IO to its limits.
- Player reconnection: Implementing a smooth rejoin experience without duplicating player data was trickier than expected.
- Adaptive AI behavior: Designing a system where player-submitted instructions meaningfully affected the AI without breaking gameplay balance took multiple iterations.
Accomplishments that we're proud of
- Successfully integrated a player-influenced AI that adapts to human input in real time.
- Built a fully functional multiplayer experience with room creation, reconnection, and live updates.
- Developed a dual-scoring mechanism that rewards both accurate detection and strategic deception.
- Designed a dynamic AI persona system, giving the AI a unique, human-like identity in every match.
What we learned
Throughout the process, we gained insight into the complexity of blending human psychology with AI behavior. We deepened our understanding of real-time web architecture, prompt engineering, and adaptive design. Most importantly, we discovered that when players directly influence AI, they become more invested, making the game feel alive and unpredictable.
From a technical perspective, we refined our skills in type safety, event-based systems, and API integration. We also learned to manage the tradeoff between AI creativity and consistency, adjusting parameters to maintain a balance between believability and challenge.
What's next for AmongHumans
We plan to enhance AmongHumans with:
- More sophisticated AI response strategies and deception modeling.
- Persistent player profiles and performance analytics.
- Additional game modes and configuration options for hosts.
- Improved mobile UX and visual polish.
- Advanced AI voting heuristics to better simulate human decision-making.
Ultimately, our vision is to push the boundaries of human-AI interaction, not just making AI a tool, but a player in the game of human creativity and perception.
Built With
- amazon-bedrock
- amazon-web-services
- express.js
- llm
- openai
- socket.io
- typescript

Log in or sign up for Devpost to join the conversation.