Clash of Bytes

Clash of Bytes

22 devlogs
32h 13m
•  Ship certified
Created by Nico

Compete to solve programming puzzles with the fastest or shortest possible solutions. Submit your own challenges, vote on your favorites, and see who can crack the daily featured problem. Sharpen your skills, challenge the community, and climb the leaderboard—all in one fun, fast-paced platform.

Timeline

Ship 2

1 payout of shell 245.0 shells

Nico

6 months ago

Nico Covers 12 devlogs and 12h 44m

We're ready to ship again! Quick summary of all changes:
- A 10x faster code runner (old one was way to slow, see devlog for details)
- GitHub and Slack OAuth (I saw that the reviewer spent quite some time generating a fake email for the login form, so this is faster)
- Avatars linked to your GH or Slack
- User settings: Change your name, username or link and unlink social accounts.
- Separated username and name in the db (better security, cleaner code and you can now choose 2 types of names!)
- Improved security of the code runners
- Integrated react-hook-form with our auth and setting forms, resulting in a faster feedback loop (so you directly know a username isn't available without clicking a button)
- Some UI changes

Update attachment

I added support for loading github and slack avatars when linked.

Update attachment
Nico
Nico
3h 20m 6 months ago

Finally, a MASSIVE code runner runtime improvement! We went from 20-60 secs benchmarking a problem with 3 test cases to 3-10 secs! I did this using 2 clever tricks: running all tests in a single code runner process, and keeping a pool of code runners in the background waiting until a user wants to run their code, leading to way faster startup times.
I also updated the code runners to kill itself if the code execution takes longer than 20 seconds.

Update attachment

Upgraded our auth forms to use react hook form, resulting in faster and better form validation

Update attachment

Rewrote our navbar so it works 100% using CSS, without React states, making it way faster to render and more responsive. This took way longer than I wanted :(

Update attachment

Way faster and easier form validation using React-Hook-Form, instead of using our own regex when the user clicks "save). Only implemented it for the settings so far, but it should be much easier to do for the auth pages now.

Update attachment

Probably not worth mentioning it but I made better popups instead of using javascripts alert(). I got an idea that could make our code runner way faster (I saw how long the reviewer had to wait in the proof video), but I didn't implemented it yet

Update attachment
Nico
Nico
1h 49m 6 months ago

We finally use the real username plugin instead of using the name field. This required some SQL changes and I'm very scared to destroy our prod database, but it works on my machine :)

Update attachment
Nico
Nico
1h 47m 6 months ago

Very basic settings

Update attachment

Github OAuth support!

Update attachment

Slack OAuth support!

Update attachment

Changed alot of server and docker configs. I also added some labels to let users know about possible wait times and timing inaccuracy. There also is a problem with our db which causes the site to sometimes go down for a few minutes, but I think this is Nest's fault.

Update attachment

Ship 1

1 payout of shell 418.0 shells

Nico

7 months ago

Nico Covers 10 devlogs and 19h 28m

We've launched our site! Check it out at: https://bytesarena.programordie.hackclub.app/
(Just docker stuff this commit)

Update attachment

Setup a build script and spent 30 mins fixing a cache bug, which turned out to be not my fault. Now waiting for my ID to be approved for Nest...

Update attachment
Nico
Nico
1h 49m 8 months ago

A new icon, metadata, a lot of small fixes and a REAMDE. I think we are coming closer to launch...

Update attachment

We support array types! I also added a profanity filter, so you can't swear anymore, sorry...

Update attachment
Nico
Nico
5h 10m 8 months ago

Finally, after all this time, secure execution on the backend, so finally timed execution time! I needed Docker for this, it's not as scary as it looks like!

Update attachment
Nico
Nico
1h 25m 8 months ago

Started working on the leaderboard, split some code and updated the styles. I hate CSS.

Update attachment

We now accept one solution per language instead of one per puzzle!

Update attachment

Completed profiles 💪

Update attachment
Nico
Nico
1h 44m 8 months ago

Finished the homepage, improved execution, updated UI, hated Python for having indents, ...

Update attachment

Forgot to commit 🤐

Update attachment