Toph is a modern sport programming platform where you can participate in exhilarating contests, solve unique challenges and be a part of an awesome community.
The Challenge: Building a Secure and Scalable App
Toph required a secure mechanism for executing and evaluating arbitrary code submitted by the users, and a robust architecture that scales easily on-demand.
Solution
Our development team had to the address a number of challenges:
- Executing arbitrary user submitted code in a secure environment.
- Scaling out to accommodate more users without disrupting experience.
- Delivering a real-time contest experience to both participants and moderators.
Sandbox for User Submitted Code
Our developers leveraged the power of Linux Namespaces and Cgroups to create a lightweight yet secure code sandboxing tool.
Scalable Infrastructure
Our Go developers followed The Twelve-Factor App methodology to build a set of amazing portable apps that can scale up easily and on-demand.
Real-time Contest Experience
Our front-end team built a real-time contest arena using Backbone.js on top of Toph’s REST APIs and PubSub architecture.
The Results
Toph is now powered by a set of back-end apps that can scale independently based on load and contest needs. It provides a powerful real-time single-page contest arena app that delivers a consistent user experience on any network.
The lightweight sandboxing tool allows Toph to make the most out of its back-end resources, and provide verdicts for user submissions quickly.