Inspiration
I was at the Open Source North conference this year, and it really delivered. I wrote a blog post afterward to capture some thoughts, but one talk in particular stuck with me—Measuring Gen AI Solutions. Matt and Grey pointed out that evaluating language models is still a messy, manual problem. They gave the example of a test like "Is broccoli food?" and that clicked for me. If LLMs need fact checks, and humans have all this untapped domain knowledge, then maybe we can crowdsource the truth in a way that actually scales.
What it does
TruthByte is an open-source true/false trivia game that doubles as a data engine for AI.
Players answer questions across different topics—tech, science, history, etc.—and their answers become labeled data points. It’s a lightweight, mobile-friendly game that lets anyone contribute to LLM evaluation and tuning without having to be a prompt engineer.
The goal is simple: let people share what they know, and turn that into something machines can learn from.
How I built it
This project was built from scratch using a mix of modern tools and AI copilots:
- Frontend is written in Zig, compiled to WebAssembly via Emscripten, and rendered using raylib. Touch input is fully supported, even on iOS Safari (which was a journey).
- Backend runs on AWS Lambda with API Gateway, DynamoDB, and JWT-based session handling. I used Python for all Lambda code and CloudFormation to deploy the infrastructure.
- Data comes from the BoolQ dataset, augmented with tagging scripts and filters to make the questions more interesting and better categorized.
- Deployment is managed with a handful of matching Bash and Powershell scripts calling aws cli commands to launch CloudFormation templates.
I used ChatGPT, Claude, and Cursor throughout—designing auth flows, troubleshooting Zig allocators, writing CFN templates, helping reword content, and more. Building with AI is a force multiplier. I still wrote a lot of the code, but it felt like I had a mentor and another developer. I shipped the biggest pull requests of my life in this project.
Challenges we ran into
- Making Zig + WASM + touch input work across mobile browsers was harder than I expected.
- Setting up a sane API Gateway configuration with CORS and Lambda integration is still kind of annoying.
- Filtering and tagging BoolQ questions took more manual effort than I'd hoped—some of them are way too niche or awkward for a trivia format.
Accomplishments that we're proud of
- End-to-end deployed product at truthbyte.voidtalker.com, fully serverless and mobile-ready.
- Eleven Lambda functions with clean session handling, basic persistent users, question logic, and metadata capture.
- A UI built from scratch in Zig that works in desktop and mobile browsers, and feels pretty good to use.
- Three different game modes are available.
- The ability to submit questions.
- A tagged trivia dataset that can power achievements, topic unlocks, and adaptive difficulty down the road.
What we learned
- Trivia is a great format for crowdsourcing ground truth, but the UX still matters a lot—even in a binary-choice game.
- Zig + raylib + WASM is a surprisingly fun stack for small browser-based games.
- Building software with an AI-first approach is a new skill set to hone.
What's next for TruthByte
- Probably Nothing – I think if this product catches on, then rewriting the whole thing with the knowledge I have now from building it the first time would be the right call.
- Category Based Trust – Players should be able to test into higher levels of domain knowledge and gain trust based on how well they can answer questions.
- Report Questions and Tags – Questions should be able to be reported by the player base. Is that question still true? Was that in the right category? Players will want to report questions, and they should be able to do so.
- Admin Portal — Allow administrators to approve questions and manage reported issues.
- Achievements and Unlockables – Players will earn badges and unlock new topic categories through correct answers.
- More Questions and Categories – BoolQ is a good start, but I want more questions across more topics, including some auto-generated and some crowd-contributed.
- Audio and Vibe – Add background music, some flair, and continue iterating on the aesthetic now that the base is stable.
- OpenTelemetry Integration – I want to trace player sessions and user flow with OpenTelemetry. I want to see activity data that helps me understand where players are getting stuck, what tags are getting clicked, and how behavior changes over time. Probably even incorporate geoip tracking to see where in the world the players are located.
- Test Cases – It's a hackathon—not my jobathon! I didn't write any tests while hacking away. If I want a ci/cd pipeline for this, TruthByte will need good tests.
TruthByte is a small, weird project with a big goal: make it easy—and even fun—for real people to help make AI systems more trustworthy. You don't need a PhD or an API key. You just need to know stuff.
Built With
- acm
- apigateway
- awscli
- bash
- boto3
- cloudformation
- cloudfront
- cloudwatch
- dynamodb
- emscripten
- iam
- javascript
- lambda
- powershell
- s3
- wasm
- zig
Log in or sign up for Devpost to join the conversation.