Inspiration

We wanted to be able to practise Leetcode-style problems under real world resource constraints in order to write more efficient code.

What it does

It asks the users practise problems but with resource constraints for cpu and memory. It gives the user back information on if the file compiled

How we built it

We built it using the following tech stack: React and Vito for the front-end; Rust and Tokio for the back-end; Docker and AWS EC2 for the infastructure/tooling; and REST API for communication/interface. The backend server is hosted on a docker container. Each program is on a smaller DinD container hosted on AWS EC2.

Challenges we ran into

  • Passing CPU/memory limits as arguments to Rust functions for sandboxed execution.
  • Capturing stdout and exit codes from binaries in Rust safely.
  • Restarting frontend, switching from Flutter/Dart to React.
  • Mounting volumes in runner docker container correctly
  • Sleepiness

Accomplishments that we're proud of

  • The website turning on and working semi-functionally

What we learned

We learned a lot about front and back end development.

What's next for ByteBound

In the future, we plan to add a sandbox feature for users to test any code they would like with custom resource constraints.

Built With

Share this project:

Updates