Every CS major we've ever talked to has complained about Leetcode at least once. And yet 100% of technical interviews for software engineering jobs and internships are comprised of Leetcode-style problems. So we're forced to try and fail at mastering the "art" of Leetcoding in what is a really vicious feedback loop that burns you out.
We decided to make Leetcode from Hell, Leetcode's evil-er twin who is (mostly) a troll version of Leetcode that punishes you for lethargy but is also quite funny when thought about on a meta level. With Leetcode from Hell, we hope to alleviate some of the stress and seriousness of Leetcode by illuminating just how ridiculous programming can become when it becomes a robotic exercise instead of the truly beautiful craft it is.
What it does
The task at hand is simple and the same as on Leetcode, HackerRank, or any other online programming platform: solve the question by implementing the given method. But there's a catch. If, while writing your solution to the question, you do not type anything for 5 seconds (10 seconds for hards), all your code will be deleted and you will have to start over!
Obviously, the goal of this application is not to gain a perfect score on every question. It's a tongue-in-cheek parody of Leetcode and the discussion surrounding it. Friends who have demo'd the app have already attempted to speedrun solutions to each question while figuring out ways to make their code as concise as possible so they can submit their solution quicker. Just like how on Leetcode discussion pages there are countless users posting barely coherent solutions in hopes of making them as concise and efficient as possible ("you can actually solve this this huge problem in one line..."). The app can be cold and ruthless, but also has a playful personality brought through by colorful and funny emojis that hammer home the tongue-in-cheek nature of our project.
That being said, solving some of these questions definitely tested how well we knew our algorithms and how competitive we were willing to get to solve the questions, which was really fun!
How we built it
Beyond technological components, we wanted to have fun this hackathon because of how long it's been since we've been on campus. Creatively, we wanted to create an app that would delete your code if you stopped typing, and after observing the Leetcode stress this interview season, we decided to make it Leetcode-themed. It turned out well!
Challenges we ran into
And the parts we thought would be the hardest (setting a timer up that clears code whenever you don't type, actually processing and running user-generated code and running it against a test suite) ended being some of the easiest. The hardest? Finding questions to use and verifying our solutions against our test cases! You try finding the longest common subsequence in an array at 2 AM when you have to keep typing once every 10 seconds in a language which thinks '5' + 3 = '53' 😒.
Accomplishments that we're proud of
What we learned
That web development is as tedious as you make it. But most of the times, it's worth it if you want a better product. We worked hard to smooth around the corners and create an experience worth looking back on using technologies we weren't familiar with. We're proud of what we accomplished and even more excited for what we can build with our newfound knowledge of web development.
What's next for Leetcode from Hell
- Add more questions!
- There's Always Better UI To Be Created. We can make our site smooth as butter and clean as a whistle.
- Add solutions for the questions, MAYBE 😉