Analysis
View
Metric
- 13
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
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
7 of 7 appear in the indexed code.
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
30 KB
Source files
22
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
KevinL10/mafia
42 files · 3.9 MB · @ 326ebf4
Structure
Interface
6 files · 14%Screens, components and styles rendered to the user.
Application logic
14 files · 33%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
- TypeScript47%
- Python37%
- Markdown5%
- CSS4%
- HTML3%
- JavaScript3%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 19- react
- react-dom
- react-router-dom
- rpgui
- socket.io-client
- +14 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.
Feature verification
LLM-driven AI playersVerified
Mafia with LLMs — AI agents play the game and generate in-character dialogue
Claimed on Devposthigh confidencebackend/ai.py:16— GroqClient.complete calls Groq chat completions with model llama-3.1-8b-instantbackend/game.py:112— run_day builds a per-agent Mafia prompt (name, role, personality, chat history) and calls client.complete, emitting the result as 'aiMessage'frontend/src/pages/Game.tsx:86— Frontend subscribes to 'aiMessage' and appends AI-generated messages to chat history
Mafia party gameVerified
The project is the party game Mafia (roles like mafia, doctor, detective, townsperson with night/day rounds)
Claimed on readmehigh confidencebackend/game.py:11— Roles enum defines TOWN, DOCTOR, DETECTIVE, MAFIA; Game assigns roles and runs run_night/run_day with kill/save/investigate logicbackend/game.py:147— run_night implements mafia killing, doctor saving, and detective guessing logicfrontend/src/pages/Game.tsx:176— Frontend renders investigate-player flow, day/night phases, and win state, driven by socket events
Python backendVerified
Built with Python
Claimed on Devposthigh confidencebackend/app.py:4— Flask + Flask-SocketIO server implemented in Python with game socket handlers
React frontendVerified
Built with React
Claimed on Devposthigh confidencefrontend/src/pages/Game.tsx:1— React component using hooks (useState/useEffect/useContext) for the game UIfrontend/package.json— React dependencies declared for the frontend
Real-time client-server communicationVerified
Game state is synced between frontend and backend in real time (implied by Mafia-with-LLMs gameplay)
Claimed on Devposthigh confidencebackend/app.py:12— SocketIO server with connect/chat/start/startNight handlers emitting newRound/aiMessage/audio eventsfrontend/src/SocketContext.tsx:6— socket.io-client connects to the backend and provides the socket via React context
TypeScriptVerified
Built with TypeScript
Claimed on Devposthigh confidencefrontend/src/pages/Game.tsx:7— TypeScript interfaces (Player, ChatMessage, RoundData) and typed React components; .tsx files with tsconfig present
Text-to-speech voices for AI playersCode-supported
AI player messages are voiced via TTS (not explicitly claimed but implemented)
Claimed on Devpostmedium confidencebackend/tts.py:36— TTSClient.to_wav streams Cartesia TTS audio per player voice and converts to wav; not a stated claim, and end-to-end audio pipeline (ffmpeg dependency) could not be confirmedbackend/game.py:132— run_day generates TTS wav bytes and emits an 'audio' event consumed by the frontend
An AI agent derived these features from the project’s Devpost page and readme, then searched the code for each one. Verified features are backed by cited code; claimed-only features had no supporting code, which is not by itself proof a feature is missing.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.