…one of the most technologically advanced companies… socket, stylus, mongoose, n, express… Nathan Rajlich, Aaron Heckmann, TJ…
LearnBoost is an online tool that efficiently manages classrooms. The company addressed the problems of every participant in the learning process, supplementing this with quality, convenience, and speed, gaining significant advantages in these characteristics compared to existing competitors at that time.
This part will talk about how the educational platform became one of the most tech-savvy companies and how it was able to attract, without exaggeration, the best js developers to its ranks.
Technical Vector
LearnBoost was introduced to the public in 2010, but its development began the previous year, 2009. Learnboost began to be designed according to the standard structure of the time — one language for the backend and js for the frontend — there were simply no other options at that time. An alternative to this approach appeared a little later, when Ryan Dahl created Node js. In 2009, Guillermo was on an IRC forum with Ryan Dahl, who talked about version 0.1, warning that the tool was still not ready. However, the idea to make universal rendering and simplify the development of asynchronous services attracted listeners, and Guillermo was no exception. In the end, they decided to build everything in one language. “Why not?”.
Although there were many reasons against it. The problem was that these were completely new technologies, approaches, databases. They had shortcomings and vulnerabilities, so the team created their alternatives based on existing solutions or created them from scratch and opened the source code (the licenses of most open-source products allow you to clone and edit the code, but the resulting project must be promoted under the same license, including with a clause about open source code).
In addition to third-party tools, there were problems with node.js itself, as it was too raw at that time. Around Node.js, a large community quickly formed, but it could not cope with the flow of tasks and difficulties. Thus, one of the first contributors to node.js will write an article in the future about how he can no longer fight it [article]. Ryan Dahl, at the release of version 0.1, predicted the unreadiness of the tool. The LearnBoost team had to make many changes — “from small utilities to patches and HTTP servers” — in the Node.js repository.
Team and open-source
One of the main advantages of open-source, which Guillermo saw, was the opportunity to communicate with the smartest people on the planet — to work together on libraries, fix and develop the ecosystem. Such acquaintances give not just a pleasant experience of communication, but also a sufficient number of talented programmers who can be attracted to your project.
The first major open-source project in Guillermo’s history was Socket.io, which ranked 3rd in 2012 in terms of the number of stars on github, overtaking express js.
Most libraries were developed and evolved primarily for the company’s needs. For example, in 2010, the team was tasked with styling their products, but none of the existing alternatives suited them, so they created their solution. The created preprocessor was named “Stylus”. Together they developed tobi, Cluster, knox S3 Node Amazon S3 Client, node-canvas and many others.
LearnBoost was not just one of the most promising startups, but also one of the most technologically advanced. In 2011, they were in second place in terms of the number of subscribers to open-source, overtaking github, twitter, mongo and only losing to facebook. The number of subscribers is often directly proportional to the number of contributors, which gives a huge advantage in the speed of development, as more than 50 repositories on Github, including Mongoose and Socket.io, were developed by the community.
The company has reached a high level in the community, and there is a great merit in its policy. But to a much greater extent, this is the merit of the people who stood behind the company for many years — both the authors of these libraries and other participants in the process, creating a comfortable environment for development and all the necessary conditions.
Rafael Corrales. Co-founder
He graduated from the Georgia Institute of Technology. From a young age, he understood that he wanted to do business, whether as a co-founder or as an investor. Therefore, after the institute, he entered Harvard Business School. By the time the company was founded, he was studying in the second year. He ran a personal blog and actively managed social networks.
“In addition to this, keep in mind that this is a game consisting of several rounds, if you think about it. Being a guy who is over 20, even if LearnBoost fails, and of course I hope it won’t, I’m going to be at the startup table in one form or another, presumably for the next 20, 30 years.” (Mixenergy interview from November 5, 2010).
Rafael actively communicated with angels and investors, attracting them to the project, and also continued to develop in the field of business in general. In 2012, alongside supporting learnboost, he became an advisor in the company Instacart. And on March 1, 2013, Rafael will move from the section of co-founders of the company Learnboost to the section of a member of the board of directors.
On April 1, 2013, Rafael became a member of Charles River Ventures, one of LearnBoost’s investors, and since then Rafael has been in the status of an angel and will participate in this role in future startups by Guillermo.
Thianh Lu. Co-founder, product manager / designer.
Thianh Lu has a Bachelor of Business Administration in Finance and Marketing from the University of Massachusetts Amherst, graduated from the Eisenberg School of Management in 2002 and received a Master of Business Administration in Finance and Entrepreneurship from the Carroll School of Management at Boston College in 2008.
He started his career at Zecco (online broker), where he developed a design platform for trading options. There was no full-time designer in the company and therefore all the design work was done by Thian.
Meredith Ely/Bordoni. Community and Marketing Manager
Before coming to LearnBoost, Meredith also worked in education. For the previous 4 years, she worked at Stanford University, Kappa Kappa Gamma, and Teach For America.
Meredith oversaw the development and support of clients, content, event planning, sales, and also engaged in marketing, telling about LearnBoost and its free opportunities to teachers and schools.
In 2010, she began hosting Ed-Tech Meetup — a movement that brings together teachers, technologists, and entrepreneurs for communication, experience sharing, learning, as well as creating a closer feedback loop between teachers and innovators in education. She actively engaged and developed this event and by 2012 the number of Ed-Tech Meetup participants was more than 2000 people. She coordinated, organized and conducted dozens of events to bring together innovators and people from the education sector. In 2012, she will hand over the management of the event to the EdSurge company. Today, Ed-Tech Meetup is the largest event in the US in the field of technologies for education.
Rafael, Thian, and Meredith created a unique look for the company and excellent conditions in which the development team was able to create an excellent product and leave a huge mark in the history of open-source.
Guillermo Rauch. Co-founder, Developer
By the time the company was founded, Guillermo already had experience in developing open-source libraries. He developed several plugins for WordPress and was on the list of main developers for the MooTools library.
The establishment of the company was not the final point in this vector. The company was based on a completely new technology — Node.js, for which there were virtually no ready and high-quality solutions. In addition to this, the company had quite modernist desires, such as speed and interactivity of the service. For this, they needed real-time.
WebSockets at that time were still in the stage of protocol refinement, and a more or less stable version would only be developed in the following, 2011 year.In 2010, Guillermo gave a presentation at JSConfEU on socket.io, which by that time already had 1000 stars on github. Although Websockets existed by then, they had very limited support and modest functionality, so an overlay was needed on this API, similar to it, but solving the problems of cross-browser and cross-platform. Guillermo demonstrated the possibility of “real-time collaboration” [presentation]. The demo used on the presentation also used express, AJAX, jade (now pug) and mongoose.
In 2011, a library was written to launch a server with sockets — engine.io. The first version of socket.io was used by MSOffice in 2012 to add real-time collaboration support (presentation). Guillermo actively traveled to conferences and talked about the libraries created. Primarily about socket.io. He even organized conferences, for example, in Argentina, in 2012.
The project needed a database. Therefore, initially support was developed for a MySQL database (https://github.com/rauchg/node.dbslayer.js) in node.js. Introduced in 2009, MongoDB attracted the attention of the company and soon it was chosen for the LearnBoost project. The company stuck to the idea of “everything in js” and the next library developed by the team was “Mongoose”.
At the end of 2011, Guillermo developed the juice library, which allowed creating elements with inline styles (written in the <style /> tag) and worked both on the server and on the client.
A little later, in the same 2011, there was a fire in Guillermo’s house and Guillermo “lost all his property”.
Another extremely important member of the LearnBoost development team was TJ Holowaychuk. A web designer, web developer, CEO, SEM until 2008 actively participated in the development of projects in Drupal, and from 2008 in open-source projects on github (which was created in 2008).
TJ Holowaychuk. Developer
TJ was born and raised in Canada. He started his career with design but never limited himself to it. He wanted to handle all aspects of product development and therefore started learning programming. His first attempts were during design development when he used Flash to write various scripts. He did not read books or attend a special school to learn programming, he just read other people’s code and delved into the details.
In 2009, TJ became one of the main contributors to node.js. At the beginning of the following year, 2010, he created a framework for node.js, which remains the most used and interesting backend framework to this day — express.js.
TJ actively participated in open-source and of course, interacted a lot with github. To simplify and improve interaction with this ecosystem, TJ created the git-extras library in 2010. He developed or participated in the development of Connect, Dox, n, Luna, Stylus, git-extras, Mocha, SuperTest, SuperAgent, EJS, Co, Commander and many other popular libraries.
Already in 2010, he considered testing an important component in project development. TJ developed testing packages: expresso and should.js. He is also the author of the jade library — an HTML preprocessor written in js. In the future, due to copyright on the name, the library will be renamed to pug.
The startup was based in San Francisco, but no one saw TJ, he worked remotely. TJ never led a public life. There are only a few photos of him on the entire Internet, nothing is known about him, and there are only theories (including that he is not real), one of which is that someone saw him in Argentina at JSConf. In fact, this is not a theory, a video after this conference exists. This was the same conference organized by Guillermo in 2012. They held a joint workshop, which was never published for public access.
In 2012, TJ wrote the Axon library (message-oriented socket library).
Nathan Rajlich. Developer
Nathan has been a contributor to node.js since 2010 and actively participated in the development of this platform until 2015. Also in 2010, he wrote the java-websockets library, which contained the client and server parts and was completely written in java.
Nevertheless, he joined the company in 2011 as a junior js developer. At the same time, he wrote the NodObjC package, and in 2012 — node-gyp. His collection includes dozens of helper packages for node.js and hundreds of other packages, developed by him or to which he contributed.
Aaron Heckmann. Developer
Aaron joined learnBoost six months after its foundation. Like the other members of the development team, in addition to his main job — platform development — Aaron supported and created open source projects.
Also in the noteworthy year of 2010, Christian Kvalheim started working on the mongoDB engine for node.js and actively developed this ecosystem for the next 2 years, and in 2012 this engine was officially included in the core of mongoDB.In 2010, Aaron also worked on interfacing with mongoDB, and we owe him primarily for the development of mongoose.js.
In 2012, mongoDB not only included the node.js engine in the core, but also permanently hired Christian Kvalheim and Aaron Heckmann.
While working at mongoDB, Aaron created many open-source packages (primarily for mongoDB).