Show HN: Binarysearch.io – Learn Algorithms Together
binarysearch.io
binarysearch.io
I’ve found that learning algorithms is more engaging when solving them with other people. So, I’ve built a site to help people learn algorithms and data structures together! I’ve worked on it with a friend for a few months and would love your feedback.
On Binary Search, you can create or join a room with others and work on the same coding problem together. You can choose to compete to finish the problem first, or solve them together and help each other out.
Working with friends (or strangers!) makes for a much more engaging atmosphere, and we’ve actually built a small community of coders who love to help each other out! Check it out at https://binarysearch.io — we’ll be hanging out in some of the rooms. Let us know if you have any feedback or run into any issues. Hope to see you around!
In addition, https://binarysearch.io/api/rooms just returned a 502 Bad Gateway. Maybe the site is getting hugged by HN.
On a side note, what's the UI components library that you're using? I've a hobby project that I'm working on and really liked the style/theme of your app :)
Also I was thinking the same thing about the UI. I hope there is an answer somewhere. It's very Balsamiq looking and I love that!
We're using https://thesephist.github.io/blocks.css/ -- it's great and super simple!
A lot of this is off-the-cuff, and not match up with what you're aiming for here. Hopefully some of it is useful though.
1. During the process, I couldn't quite figure out how I was doing or what I was doing wrong. One example was the determining if a number is a palindrome or not. I didn't see indication about if I was failing certain tests in the test suite, or if I had an issue with syntax, etc. Some more feedback would help here.
2. A minor thing, but on my laptop I noticed that while the line would wrap, the code itself is running under the chat portion of the room. Makes it harder to edit.
3. I think the room concept is nice, especially if I just want to jump into a certain class of problems and go. However, it would be cool if you could have one room indefinitely. Perhaps a private room of sorts?
4a. It would be nice if you could request the difficulty of problem in the room itself. Right now you need to make a new room to match the difficulty, but I think that having problems come to that room might be nice.
4b. In addition to requesting difficulty of problems, requesting kinds of problems might be nice too. I can imagine a CS student being in some kind of data structures/algorithms class and wanting to focus on that specifically. Something like "medium difficulty problems involving trees" or "hard problems involving strings."
Anyway, cool project and good work!
Awesome stuff!
I think it may also be good to also have some quizzing included for the properties of the algorithms, so users not only build the algorithm but also provide its:
- O() / theta() / omega()
- In what cases will the runtime of this be "O(n log n)?"
- Is this algorithm better or worse than merge sort if you have 2^16 long int elements and 16GB of ram?
etc etc.
Knowing how to implement algorithms helps solidify a lot of that, but in the end the truly important thing is knowing which algorithm to use for a particular purpose, and what the downsides are for each other algorithm.
This already has something over twitch which is sort of similar but not interactive. Also, I could see fb ads as quite effective to keep organic traffic up and help this catch on as a competitive way to get a job. You could even market the data you gain to companies looking to hire.
P.S. I noticed that the ".loader-container" is generating moving vertical and horizontal scroll bars on 1920×1080 due to ".loader" rotating. Applying "overflow: hidden" seems to fix that.
We don't have any plans to support Rust at the moment unfortunately, but your vote has definitely been noted!
nit-picks:
1 consider adding social sign-in. Why not? some people get scared when they need to enter a new password (+there are some nice auth-as-a-service out there)
2 there are too many animated buttons IMO (a few main ones are nice, but everywhere is too much)
3 small bug: you can see the solution when open a room but before you press 'join room'
4 when saving a profile change I get no indication of success / or redirect
Studying for assignments in a group makes sense or comparing notes etc. but studying for an exam in a group or an interview doesn’t.