Caution to reader: this blog post is 3 months or older. Blog posts older than three months may contain details about the Hack Reactor program that are no longer accurate. Please refer to other pages on our website to confirm current information and email us with questions.
There are hundreds of great libraries and APIs out there designed to make developers’ lives better and easier, but poor or nonexistent documentation often undermines the benefit these technologies offer. A team of students in our Remote Beta program sought to remedy this issue that affects software engineers of all experience levels. The result, Sodocan.js, auto-generates skeletal documentation and provides crowdsourcing functions that allow anyone to fill in the gaps. Happy to see such a tool, developers voted Sodocan.js up to the front page of Hacker News.
“The aspect of it that we thought would be cool and different from [the popular developer forum] Stack Overflow was the parsing tool that takes info from your source code and generates it,” says Leo Thorp, who built Sodocan.js with Lain Jiang, Joyce Liu, Corey Wolff and James Yokobosky. “It’s an easy way for developers to get their basic documentation out there to add to and improve.”
Documentation can be tedious work, so the group sought to make Sodocan.js as streamlined as possible.
“We wanted to make it practically idiot-proof for developers,” says Yokobosky. “You can just hit a button and have a skeletal version of your documentation.”
This automated process works through a parser which scans the document and pulls out key elements, such as the names of functions and parameters. From there, the creator of the technology, or anyone else for that matter, can fill in the gaps with explanations and examples.
“One of the perks of the way we have it is you don’t need approval or to be associated with the project,” notes Yokobosky. This creates a lower barrier to entry than other open source models, such as GitHub, which have users make changes, submit a pull request and then have that request approved or rejected by the project owner. Often, users won’t bother to go through this process for minor changes.
“The approval is put into the hands of the user,” Liu explains. “The top voted entry moves to the top of the comments. The crowd moderates.”
Anyone reading the documentation will see only the top-voted comment for each entry, with the option of checking out others.
“By default it will look like any other doc, which is one entry, one explanation, but you can expand it,” says Wolff. “So if one example doesn’t explain, you can see five others.”
Sodocan.js got a lot of positive feedback from software engineers, who have been starring and forking the project on GitHub.
“It’s nice to see that a project we worked on can be beneficial, not to just us, but also the developer community,” notes Jiang.
Building Sodocan.js caps a three-month educational experience that went well beyond the sum of its individual projects and lessons.
“I’m so glad I got to work with everyone on this team. Everyone is super smart and it’s great we could put our heads together to make this awesome product,” says Liu.
“The program just ended and everyone is already making plans about visiting or doing a reunion. It’s surprising how close you can get to people you’ve never met in person.”
The course, Thorp observes, had holistic elements that surpassed any of his formal education:
“What was so cool about Hack Reactor, that was lacking in college and grade school, is that you get a sense of how to think about different problems. You get a deeper skill set than just the technology.”
Want to learn to tackle your problems with code? Apply to Hack Reactor Remote Beta or any school in our network today.