I have been trained in programming exclusively at FCC and I just published my first real web app

Since I took my first step towards learning programming by joining FCC around 6 months ago, I have asked a lot of questions. I have gotten badly stuck in the mud and probably would have stayed there if it was not for the help of some kind strangers.

Excellent documentation and practice exercises are easy to find for the autodidactic programmer (look no further than FCC for the latter), but sometimes person to person conversation is essential. I usually turned to one of two resources for help. I could often find help on Stack Overflow but that community does not appreciate noobish questions and I often got roasted. The FCC Gitter pages were very friendly to noobs, but I found that the rooms were very crowded and everyone was talking over each other.

I built a program to help students get the advice they need in a way that is effective and convenient. It is a real-time collaborative platform for open and free tutoring built with node.js. All of the skills and knowlege I used to build this program, I learned from FCC.

Here is a link to the home page.

Edit: name has changed to Tutaroo


Super awesome! There are a lot of little things that you could add/change:

  • No back button from Collaboration view
  • Same for Profile view
  • Going back to the Collaboration view will not remember the previous chat (code/text/drawing/chat).
  • No tooltips for icons
  • Text is a bit too light for my screen (difficult to read)
  • Collaboration view doesn’t show the question
  • No possibility to add extra information about your question (especially a problem if previous chat is lost)
  • Maybe a warning before deleting the post (to prevent accidental removing)
  • Questions randomly disappear from the Start page.

Things that would be awesome if added:

  • Being able to execute the code (like the FCC editor)
1 Like

I liked your idea. There are a couple of things i think you could change/add i would like to point out:

1)There are no validation messages while logging in or signing up into your app.For example if press the submit button directly it just refreshes the page instead of giving a proper error message as in “User not registered” or “Please enter credentials”. There are no validation messages for invalid login credentials as well you should implement that,
2)If i go to my profile view after logging in, it only gives you an option of logging out,there wasn’t anyway to exit/escape the screen back to the landing page,i was forced to log out.

All the quirks aside i liked your idea as well as the implementation very much,i think you can make this into something much bigger and especially useful.Do tell if you need a hand i would be happy to help though i just started out with nodejs. :slight_smile:

1 Like

impressive @ManBearPigg :thumbsup: :thumbsup:
You’re living the dream :slight_smile:


Thank you for the advice! These are all excellent tips. I will implement some back buttons and post the question name somewhere on the collaboration page. I should note that questions are supposed to disappear from the start page if the room is emptied. This is a feature that ensures that every post is active at all times. You will never click an interesting post and be disappointed that the room is empty.

Thanks again for the tips.

1 Like

It would be much more user friendly to implement validation messages for login. I will implement this as soon as possible. Back buttons have been recommended to me often. I thought that the browser’s back button would be sufficient, but people really like this feature so I will implement it.

Thanks for your advice.

Thanks dhcodes :smiley:

This is awesome! How long did this take to build?

1 Like

Thanks jonmancia!

I think that around 25 ten hour days is a good approximation, so somewhere around 250 hours. Maybe a bit more. I was learning while building, so it was done a bit slowly. I learned a lot though about server/client relationships, about node, about web frameworks, concepts like routing, and overall just sharpened my skills a bit more.

I should add that I keep a Leafie tab open all day to interact with users. I will usually be available there to help with any FCC questions you might have.


This looks like an awesome project, and I’m sure you learned a ton. Very impressive stuff.

1 Like

Thanks slocodemonkey!

I was using your app, but suddenly it appears this page

  Application Error
    An error occurred in the application and your page could not be served.  Please try again in a few moments.
    If you are the application owner, check your logs for details.

Doesn’t work. Problems?

I was probably just pushing an update. It works well 99.99% of the time. It’s back on again. Thanks for reporting bugs though :smiley:

Was just pushing an update. When I do this, the site goes down for a few seconds. It’s back up now.

This looks really cool! I created an account and played around with it. There wasn’t anyone online. Am I supposed to proactively send out a link to this? How does it handle matching of participants?

1 Like

Hi Quincy,

First of all, thanks for training me in programming.

The app is only two days old so there are only a few hundred users registered. At any given time, it is likely that there will be nobody online.

I considered matching users based on keywords or something like that, but I went with a different method for a number of reasons. Traditional internet forums have a great model for participant matching. Post your content to a board for everyone to see. Leafie is different because when you click on the forum post, you will be taken to a real-time collaborative room instead of a regular static forum thread. As long as there is a user still left in the room, the post will remain on the forum board. This ensures that all posts on the board are active. You will never be disappointed by clicking an interesting post and finding an empty room. Another benefit of the forum-style is the ability to browse, as opposed to a matchmaking system that drops you straight into a room based on keywords. It would be fun I think to look around the forum and drop in to a room that interests me, even if it was not my own question.

It was probably unclear exactly how the app works because there were no users online, and so no posts on the CRUD.

You could send out a link to Leafie and ask someone to join you in the room. They would have to sign up first but you could tell them your room name so that they could find you. I guess the idea was that you would hope for a decent number of people to be browsing at any given time, and hopefully one of them would be able to help. This is a challenge for Leafie. Facebook, for example, has a great model where the user adds their friends. This is a good question and an important consideration going forward. In fact, this is so important that I’m implementing an invitation feature right now.

Thanks for having a look, and thanks again for training me.

1 Like

This looks cool - I’m busy this week but I look forward to digging into it soon.

I love the name Leafie!!!


Thanks Jackson! :smiley: