TutSan Francisco, Mountain View

  • 293 Commits
  • 219 Pushes
  • 171 Deploys
Launch Site
Quick Intro

Tut is a collaborative tutorial system that uses github as a host for community generated tutorials. It allows teachers and learners to connect online, and is based on scientifically proven principles in order to maximize learning.


Tut is an online learning system for teachers and learners. Tut is both an package manager designed specifically for online tutorials, as well as a learning system that sends you quizzes on your mobile device. The ultimate goal of tut is to take innovations from the world of collaborative software development use those insights to develop an open source tutorial creation system. But that's only half the story. We also make use of scientifically proven learning techniques, and study their effects within our ecosystem in the hopes of further refining them. By using the tut system as a learning, you not only expand your own knowledge, but contribute to what's known about learning and memory as well.

Judging Instructions

You can use tut as either a teacher or a learner.

I want to teach.

Tut uses a collaborative approach to tutorial development. We use github to provide the means to create, edit and track tutorials within the Tut system. Because we're competing in this year's Node Knock-Out competition, we want our users to create tutorials about learning JavaScript (since it's something most people involved in the competition should know about). Tutorials are divided into two sections, study materials, which are created in git Markdown, and test materials, which are a JSON object containing quiz items for learners to answer. Check out the 'How to make a tutorial' tutorial over on the tutorials page to see how it's done! The 'How to make a tutorial' tutorial is also the most-well developed tutorial featured on the site so far, though we hope to add more (community members are welcome to do this as well).

I want to learn .

Learning with Tut is easy. Just head over to the tutorials section to check out what the available tutorials. Learning with tut happens in two stages - the study stage and the testing stage. We recommend you read over the study materials in each tutorial three times, with a ten minute break in between. Then, when you're done, you can mark a tutorial as read. When you do this, we'll start texting you quiz questions (so be sure you fill in your mobile number on the profile page. Any time you answer a question, you'll be provided with instant feedback, so you can test your knowledge! Note: If you live outside the US & Canada, you may not receive the text message (we use Twilio to send the text messages, credits for this service were provided as part of the competition).

What they Used

Twilio Mongoose Github Jade Backbone (associations, epoxy) Zepto Underscore Smoke.js Reddis (maybe) Mongo



Your Vote

Voting is now closed.

Other Votes

  • (59)
  • judge


    Since there are a number of similar implementations (using GitHub's API to pull down repos and rate, categorize, etc), I think the key for this concept will have to be design. I haven't seen anyone nail that yet.

  • judge


    It wasn't clear to me from the video and 5 minutes of testing how to use this app. It's my guess that based on what was said in the video that it's some kind of SRS for reading materials.

    It needs a compelling feature or some kind of explanation of how to benefit from it.

  • judge


    I want to use this for both teaching and learning. Amazingly interesting start ala SuperMemo. Keep going.

  • judge

    There's the seed of a great idea in this- content creation tools that make it easy to build tutorials is a very compelling idea. However, I find the implementation lacking- the concept needs to be much more user friendly, and not depend on Github for storage. It can't use markdown. All of that is too nerdy. Instead, it would be most valuable to emphasize simplicity and target a mainstream user. Give people simple WYSIWYG tools for building tutorials. If you can create an amazing builder tool, I could see this turning into a very valuable tool especially when paired with a UGC public directory of these tutorials.

    • cbattista

      Hi Andrew, I'm readin what you're transmitting, and couldn't agree more that a non-coder is not going to be able to handle markdown. But here's the thing - when we do build a UI aimed at a general audience, we still need to build it on top of something, and we firmly believe github is an amazing backend for that, because it provides a framework for collaborative tutorial development. So due to time constraints, we didn't get a general audience UI built, but make no mistake - using github to host the tutorials will save us a lot of headache in the long run, and was a very deliberate choice on our part.

  • judge

    Awesome idea. Really love the usefulness and the website design is really nicely laid out. Good job!

  • contestant

    Great app. Please continue to build out, would love to read and learn more. Cheers!


  • judge


    I clicked "Mark read" and entered my phone number, but I haven't gotten any questions via text. [Edit: I did receive a txt about an hour later at 10:30. I replied, and it worked correctly! The "X) for…" format was a little confusing. It then txted me again at 11:30. It would be nice to be able to restrict txts to the daytime.] In page testing would be nice.

    Publishing via npm seems like it would be tough for non technical users.

    • cbattista

      Hi strathmeyer, thanks for checking out tut. You won't receive the text messages right away, rather you will receive them over time (so if you STILL haven't gotten any, this is indeed a bug). The reason we do this is because it provides for better learning - distributed testing is more effective than being tested en masse at the end of studying.

      That being said, we will be adding an in page testing for learners who want to take a quiz when they feel like it. However, we wanted to debut tut with a distributed testing feature, as we feel that's one thing that really sets us apart. As we move forward however, we will also bring in in-page testing (only so much you can do in 48 hours though).

      You're also correct that the command-line publishing system is a barrier for non-technical users. However, we firmly believe that using a package manager to distribute tutorials is something that is sorely needed in the world of online learning. We'll be adding more user-friendly tutorial creation (we have had a schoolteacher already volunteer to act as a test case for this) but that will run on top of the package manager that was developed for tut. So building the package manager was a critical first step in tut's development (and again, only so much you can do in 48 hours).

      Thanks again for your comments, and if it's not too much trouble, could you let us know whether you did ever receive the quizzes via text. It does seem to be working for users in the U.S. & Canada.

    • I did! I've updated my review.

    • cbattista

      Great. Regarding scheduling of quizzes - we will indeed add that feature our user profiles (tentatively called a QuizMe time) so that users can indicate when they want to get texts. The way we do it now (and so that you don't get a pile of unwanted messages from us) is that you'll only get the next quiz question after you've answered the previous one.

  • judge


    This likely isn't something I would use but I'm not in college anymore. Maybe I would have then. The idea of being interrupted throughout the day doesn't appeal to me now. That said I also think it is likely that it really would help you learn better. I crammed a lot and forgot most of it right away. This seems like it would probably stay with you longer. If I was preparing for a final this would be awesome.

  • judge

    Great concept, would like to see this further developed!

  • contestant

    I really like this idea. It's great that a tut.json file on github can get you set up.

    I don't like that it works with phones. A lot of phone plans still charge for text messages and I would find it pretty annoying to be switching between computer and phone throughout the studying. Maybe the Tut site could pull in the README rendered as html and insert question breaks in some semi-intelligent way.

    The styling for the site looked nice at first, but the text was pretty hard to read on those backgrounds. The styling for the tutorials section didn't feel as polished.

    Overall, still pretty awesome. I hope the team continues to work on it.

    • cbattista

      Hey there, thanks for the feedback. As we move forward, we will indeed make the quizzes available on the site itself so you can take them when you want (only so much you can do in 48 hours, thouhg).

      However, we debuted tut with the SMS feature for a very deliberate reason. The purpose of the SMS quizzes is to distribute the testing over time - so you wouldn't be going in between computer and phone. You'd study, mark the tutorial as read, and then tut would send you quiz questions at semi-random intervals (so you never know where you'll be, hence relying on phone tech). Check out our science docs on the main page for the full rationale behind this, but the short story is, you tend to retain more information from that form of testing, rather than being quizzed all at once at the end of studying.

      Thanks again for your comments, and yeah, we're going to keep going after the competition finishes. This is just the beginning for tut.

  • judge


  • contestant

    Uva Wellassa University of Sri lanka

    I live in Sri Lanka. I didn't get the message. If it doesn't work outside US, better mention it under Judging instructions.

    • cbattista

      Good call - we've updated the judging instructions.

  • judge

    This looks like a great idea, but sadly the requirement for quizzes to be taken via text message is a little impractical. It's not really clear who gets charged for each message, and in my case I wasn't able to take a quiz because I was using a non-US phone number.

    Of course, it would also be nice to have the README.md files scraped and placed on your site instead of GitHub, but what you have now is already good progress for 48 hours!

    I'm sure that this will improve in the future, good luck if you guys are planning on taking it further :)

    • cbattista

      Thanks, we are definitely going to be continuing on with this project. And as you've pointed out, scraping the READMEs and integrating them with the main site is definitely on our job list.

      However, I'd like to take this time to explain the rationale behind the text messaging. We believe SMS quiz questions are really valuable, and why we chose to debut that feature during the hackathon - it's a better way of learning. When testing is distributed over a long period of time, and happens out of the blue, you tend to retain information better. So we didn't just do this because it's a fun feature, we did it so our users could learn more effectively (check out the science link on our main page for more about this).

      Lastly, we apologize if the messages didn't reach you, and have adjusted the judging instructions to indicate the quizzes may not be received outside the US & Canada (for your information as well, we used the Twilio credits we got as part of the competition to make this happen).

      Thanks again for your comments and taking the time to evaluate tut.

  • judge

    Nodejitsu Inc.

    The idea is cool, but most tutorials redirect to github and although that's great for sharing code it's not highly interactive, it also breaks the flow of the service a bit.

    • cbattista

      Hi Swaagie, thanks for your comments. We definitely agree that we need to put more time into the interface (only so much you can do in 48 hours), but we want to stress that the integration of github into our service was very deliberate.

      One of our main goals was to provide a system for the collaborative development of online tutorials. As a scientist myself I'd rather work on document editing within github (rather than emailing around word documents as we usually do) - frankly, software developers are miles ahead of the game when it comes to working together, there's a lot that we in academia and research can learn from them.

      So one of the things we are really trying to demonstrate with tut is that gitub doesn't just have to be for code. The version control, the commenting, the tagging, the creation of issues, all of these are just as important in the development of educational materials as they are in the development of software.

      So certainly, the interface and flow could use some work (and we will get on that after the contest is over), but one thing that won't change is the use of github as a means to host the tutorials, because it really is a great tool for that. Thanks again for your comments and taking the time to check out tut.

    • Swaagie

      Actually you got a very good point there, added 2 stars for design. I'm coming from an academic background myself as well and I often wondered why people don't use github to do collaborative scientific writing.

  • contestant

    Looks pretty cool, design awesome!

  • contestant

    Fagbokforlaget V&B AS

    Interesting idea but making teachers writing json file is quite far far away (at least in Europe).

    • cbattista

      Hi iapain, thanks for your comments! We couldn't agree more that most teachers would not want to write their own JSON files (and it's certainly true in the US and Canada as well).

      However, there's only so much you can do in 48 hours. Since most of the people who would be evaluating tut would be avid JS coders, we figured this was a good solution for, plus JSON is a great format for what we're doing here.

      However, as the project moves forward, we'll be partnering with teachers (we already had one elementary school teacher volunteer to help test it) in order to make sure we could create an easy to use UI allows them to create the quiz files, without having to touch the JSON themselves.

  • contestant


    I don't think that anyone though on creating curses stored on github - I like that idea.

  • judge


    Really like the idea, but wish that it was more than just a link indexer to Github repositories. I noticed you built a whole JSON format but was unable to understand how it was rendered by the application.

    Stick with it though! This is a great start for 48 hours.

    • bcoe

      If you type in npm install tut -g we built a whole package management system. The json file is loaded from github to confirm ownership when updates are published, like Bower :)

      The listing itself is just a pretty view of the tut.json files which we pas and store in a DB

      I hop this clarification helps, we put a lot of work into the CLI package manager :) http://github.com/bcoe/tut

    • bcoe

      Wrote that from my phone, excuse the typos :) I implore you to checkout the tut CLI tool though, I think it's exactly what you said we are lacking.

  • judge


    I only tested the learning part, so that may affect other opinions. I think the idea is great, and could be expanded into a cool product. I was a bit confused when opening a tutorial just linked to a Github repository, since I typically see README's as what the repository contains, not the actual learning material. I also didn't realize the tut.json files were the answers. As well, while the idea of texting questions in novel, in practice having a web interface would be much easier. I really do like the idea, but I think the implementation could be improved.

    • cbattista

      Hi Zach, great comments. To say that implementation could be an improved is an understatement. We will eventually build in a web interface so that you can be quizzed online whenever you feel like it.

      But here's why SMS-based quiz questions are really valuable, and why we chose to debut that feature during the hackathon - it's a better way of learning. When testing is distributed over a long period of time, and happens out of the blue, you tend to retain information better. So we didn't just do this because it's a fun feature, we did it so our users could learn more effectively (check out the science link on our main page for more about this).

      Lastly, the 'How to make a tutorial' tutorial does provide more information about the files and learning system. Thanks again for your comments!

    • Ah, I probably should have read the tutorial more carefully then. :-) It'd be awesome in future versions to add that info on the tutorials page.

      Your reasoning for SMS is great too. I've re-evaluated it now. Cheers!

  • contestant
  • contestant

    I really like the idea of this app. It's useful, social and easy to use at the same time. It seems to be quite complete. On the other hand, node.js is absolutely unnecessary in this app... Thanks for the app, I would use it in production.

    • bcoe

      The website itself does not have any realtime components. Having said this, I think Node.js was a natural choice for the application.

      The package registry that we built can be installed via NPM, and uses a lot of great node libraries like Request, to pull information in from Github: https://github.com/bcoe/tut

      The part of the app that schedules text-messages is a long-lived Node.js service, Node was a great choice for building this.

      We do eventually plan on having more realtime components in the website itself, e.g., a leader's board. But I think we did put node to good use :)

    • leventehollo

      Accourding to your explanation, I completely agree :) Thx!

  • contestant


    Would have preferred a few (1-3) fleshed-out tutorials rather than a big list of many largely empty ones. Was kind of confused as to what I was supposed to be reading in the tutorial. The phone integration was pretty cool, though I think maybe it doesn't work with my GVoice #. I saw the demo at NKO so I know how it's supposed to work, though :)

    • cbattista

      Hi Jason, so would we! In the time we had, that's all we could come up with (the 'How to make a tutorial' tutorial is the only fleshed out one at this point.) Over the next few days we hope to see some more tutorials added by us and the community.

      Thanks for your comments (and the tip about GVoice, can't say we've tested that).

    • diurnalist

      Seems like it just took a bit - I got the text and it worked just like I thought! Bumped my stars a bit to reflect :)

      Great work!

    • bcoe

      I agree that it stinks that we ran out of time before we could publish any well polished tutorials. We'll be working on flushing these out over the next few days.


SEP 17
NOV 9-11 UTC
NOV 11-17
NOV 18

Thank you to our Platinum Sponsors