Thank you everybody. Our campaign is now over.
Fighting Poverty With Code
$2,113 raised
21% of $10k goal
15 contributors
0 days left
Ended Mar 3, 2015

Important Update

In order to allow more people to take advantage of the limited time deals, we've extended the deadline to October 11th. Unfortunately, we're not allowed to edit the perk descriptions after they have been claimed. Don't worry -- we'll disable them after they expire. As long as you're allowed to purchase them, we will honor the purchase. Thanks for your support!

All perks can be used by you or donated.

Fighting Poverty with Code: #JSHomes

In 2008 I lost everything. By spring, 2009 I had to sell my house. I was penniless and couch surfing with friends. JavaScript turned that all around. Fast forward to 2010, I had a great job, and I was commuting through downtown San Francisco. One day I literally tripped over a homeless man who was trying to sleep on a cardboard box in the middle of the sidewalk. The conditions that homeless people are forced to endure are shocking. They should be shocking. We should be outraged.

How did we let this happen? How is it that we can send a rover to Mars, but we can’t afford basic dignity and respect for the people who need it the most? How is it that our brilliant solution to this problem is to put spikes in doorways to discourage people from laying down?

Ever since I personally faced the problem of finding shelter with no income, I’ve spent a lot of time thinking about how we might solve the problem for everybody. That’s what programmers do best: identify a common problem and figure out how to solve the problem more generally.

You might think it’s impossible to solve a problem like homelessness. It’s so overwhelming! But you’d be wrong. In the US, we’re in the middle of a nation-wide initiative to end homelessness for good.

Did you know it costs more money to let somebody sleep on the street than it costs to give them homes for free? The chronically homeless are hyper users of social services. They’re much more likely to require ambulance rides than people with homes, and since a homeless person typically doesn’t have health insurance, and they can’t pay a dime out of pocket, taxpayers foot the bill. In other words, we’re already giving each of them anywhere from $20 thousand to $3 Million every year for being homeless. Why not give them a lot more and spend a lot less money?

It doesn’t have to be this way

Around the world, local cities are finding solutions to homelessness through housing-first programs. It works like this:

1. Get homeless people into free or assisted housing, depending on their needs. Across the US, this saves taxpayers about $1.3 billion by reducing homeless reliance on social service programs like ambulance rides, hopsitalization, etc...

2. Provide tailored counseling to help recently homeless people get back on their feet. Different people have different needs, and it's important to be sure that basic needs are met.

3. Provide job counseling and training so that those in assisted housing can find good employment and become self-reliant. This step is very important to keeping families off the streets permanently.

That's where you come in.

We're creating a job training program

When I first learned and fell in love with JavaScript in the 90's, few people took it very seriously. Nobody guessed it would play the critical role it plays today. In case you’re not aware, most of the software applications we use and take for granted now are built with JavaScript. It powers Facebook, Twitter, Netflix, PayPal, and millions of other services.

Because JavaScript is the only programming language supported by every modern browser, the entire web is dependent on it, making it the most widely used programming language in the world — and it’s still growing faster than any other programming language. There’s just one problem: There aren’t enough JavaScript developers to keep up with demand.

Demand for software developers is so high that most of the top companies have an always hiring policy for developers; they hire as quickly as they can find qualified candidates, and when that’s not fast enough, they actively recruit candidates from other countries or outsource work to India.

So we’re paying money to keep people on the streets and then going out of our way to give some of the best paying jobs in the world to foreign citizens. Insanity.

Why is it national news when one homeless man learns to code? We should have thousands of homeless people training for high paying jobs every day. This situation is intolerable.

I used to say to myself, “you can’t help everybody” a dozen times a day as I used San Francisco’s subway system that swarms with people pleading for help.

I was wrong. You can help everybody. Any of us can.

Funding a High Quality Job Training Program

We're working with the leaders in the housing-first movement to train people who are fighting for their lives so that they can qualify for great, high-paying jobs -- and you can help. We're focusing on JavaScript programming and web platform skills.

Why JavaScript?

The web is eating software, and Atwood's Law is in full effect:

"Any application that can be written in JavaScript, will eventually be written in JavaScript." - Jeff Atwood

Experts estimate that within the next 2-3 decades, 45% of the jobs we have today will be replaced by software and robotic automation. I believe that number will be even higher. As the only programming language supported by every major browser, JavaScript has become the most widely used programming language in the world. The most popular JavaScript package repository (a place to distribute openly shared JavaScript software components and tools), is the largest software component library of its kind, and it's growing faster than any other package repository.

JavaScript developer positions pay an average of $93,000/year in the United States. Compare that to the US national average salary of just $43,000/year.

On any given day, there is a standing demand for 60,000 JavaScript developers in the US, and that's just the jobs paying more than $100,000/year. The job growth rate is 22%, much higher than the average growth rate for other US jobs. The situation is similar all over the world.

What Does This Fundraiser Pay For?

Course website creation and course delivery systems

The money collected here will pay for web development and hosting expenses to package the course content into an easy-to-use learning environment online. There are existing learning environments, but due to the course content and nature of the materials, we really need a custom solution that can accommodate the student workflow and self-grading exercises.

There, students will be able to see the courses available, the courses they have enrolled in, the courses they've completed, and access the bonus content available to all students. So far we have exceeded our original fundraising goals for the first phase, but there's a lot left to do to bring these courses to the people who need them.

Pilot Course Launch - Software Testing with Sauce Labs: Testing Made Awesome

We're planning a pilot course launch for October - November. We want to get students involved, learning and providing feedback. The faster we can get the first round of feedback, the faster we can fine tune the systems and bring it all to a wider audience.

Automated software testing is essential to the process of software development. These training programs are all about teaching students the essential skills they'll need to thrive in a work environment, or to produce their own web applications.

Our first course teaches the fundamentals of an agile software development process. Automated testing plays a key role in that process, before you even begin to write application code. To bring this course to you, we've partnered with our favorite provider of automated cloud testing solutions: Sauce Labs.

We're working with Sauce Labs to be sure that we're teaching current suggested practices (nobody knows more about software testing than they do!), and in order to supply students with access to the best tooling available.

As we continue to develop courses, we'll continue to look for strategic partners to give students practice with some of the actual applications and tooling they'll use on the job.

JSHomes website

We need some basic design work done so that we can present information to housing-first job training programs, handle media inquiries, and host the scholarship gift program.

Paying the Bills

The usual. Keeping the lights on and the water running. Paying various miscellaneous expenses.

About the Training

"Eric offers high quality, professional-level training materials, exercises and video teaching. If you're looking to interactively learn JavaScript online and up your skills, there's just no better course set you will find than this one!" - Kyle Simpson, Author, "You Don't Know JS" (O'Reilly)

The training is online and self-paced, so anybody can fit it around any schedule.

You Can Learn JavaScript

When I was very young, every computer came with BASIC. I was curious, and I loved video games, so I started to play with it and create my own silly games. Within a few years I'd moved onto graphical games that required math skills. Having something fun to do with it made math a lot easier to learn and understand. I don't just believe that anybody can learn to program, I believe that everybody should learn to code. If a child can learn to code, you can learn JavaScript.

The Skills Gap

In recent years, I've been tasked to interview skilled JavaScript application engineers, but found the talent pool critically lacking in people who really understand how to use JavaScript to create robust applications. That motivated me to write the book, "Programming JavaScript Applications" published by O'Reilly Media.

Learning JavaScript basics is easy, and lots of resources do a good job with that. Learning the skills you need to build serious applications is hard. For that, the currently available learning materials simply aren't cutting it.

JavaScript is very different from other programming languages. I help students understand how it's different, and how to put those difference to work on large scale production applications.

The Courses

All of the course bundle rewards are scholarships that you will own, and may grant to schools or redeem for yourself. If you intend to grant the scholarship to a school, be sure to ask for a receipt from the school. Certain types of  scholarship grants may be considered a charitable donation to the school for tax purposes.

All of the courses will teach the timeless principles of software development as well as agile productivity and project management skills that will serve students well even if they decide to do something else with their careers.

Each course consists of several modules. Each module has an introduction video, plenty of explanatory text, and self-grading exercises. It's important to engage as many senses as we can while we're learning. The exercises are critical, because they give students the opportunity to practice the concepts they've learned. There will be plenty of practice projects to help students apply what they've learned.

All of the bundles include the book, "Programming JavaScript Applications." As well as going over important features of the JavaScript language, the book goes into detail about the structure and architecture of modern JavaScript Applications, and touches on many topics that nearly every app developer will need to consider for each project. Features like module design, separation of concerns, API design, logging.

(This rest of this section gets a little technical for those who want to purchase course access for themselves.)

1. Prototypal Inheritance

Most programming languages make use of classical inheritance, where objects inherit from classes. There are several major problems with the way that classical inheritance works that can have a tremendously negative impact on developer productivity.

This course will expose the long, painful history of classes, and teach students about JavaScript's easy prototype delegation and dynamic object extension. Students will find a welcome relief to the pain of classical inheritance, and emerge from the course with a new appreciation for JavaScript's elegant approach to objects.

2. Functional Programming

Functional Programming has a long celebrated history in computer science, but most popular languages lack good support for it. JavaScript's first-class functions and closures make functional programming both possible and practical in JavaScript applications. In fact, several standard functional patterns are natively supported by JavaScript objects. Students will learn how to put functional programming to work and get plenty of hands on practice with functional approaches to common problems.

3. Node and Express

Node.js brings the power of JavaScript to the server, allowing you to share many modules between your client and server code. More importantly, Node.js and most modules written for it are non-blocking by default. That feature allows for concurrent execution of asynchronous tasks. This approach has led to major performance and productivity gains as organizations have ported code from existing code bases to JavaScript and Node.js. I have led several Node porting projects, and witnessed improvements ranging from 2x to more than 10x.

Those performance gains mean that organizations spend less money on resources. They can use fewer servers, conserve less electricity, and save on the physical space required to manage their application load. Faster, smaller, and greener!

The benefits don't stop there. Many organizations are reporting that developers are more productive writing software on Node, partially due to the fact that developers only need to learn one programming language in order to be productive across the full technology stack. Teams can be more cross functional and collaborative when the software is powered by Node.

Students of this course will learn the fundamentals of Node, and its most popular framework: Express.

4. Software Testing

This course teaches about the role of testing in the agile software development process. It will address issues like how software gets designed, planned, and tested, and teach the secrets that great brands use to deploy high quality software several times per week, as opposed to every few months, or even once per year or less.

Students will learn about the role of testing in agile process, functional testing, unit testing, manual testing, automated testing, and continuous deployment using Sauce Labs' best-in-class software for cloud-based test automation.

More to Come

Of course, there's a lot more to know about software development. These are just the courses planned for development in 2014 - early 2015. We plan to expand the courses and program until they're complete enough to teach somebody new to software development everything they need to know to build and deploy a real-world production application.

Why Should Students Learn from Eric Elliott?

I'm a veteran of JavaScript applications and the author "Programming JavaScript Applications" published by O'Reilly Media. I've been building apps for more than 15 years, for some of the world's best-known brands. I've contributed to software that powers experiences for Adobe, Zumba Fitness, The Wall Street Journal, BBC, CNN, and musicians including Frank Ocean, Usher, Metallica, and many more.

I know the secrets that serious professionals use to produce high-quality software. After strugging to recruit and hire enough qualified candidates for several fast-growing companies, I've seen first-hand the impact the talent shortage has on our ability to grow thriving businesses, and as a person who has lost it all and struggled to rebuild a life from the ground up, I have great empathy for others in similar situations.


In July, we had little more than an idea. We set out to raise $7,500 to create the first course materials. We launched a fundraising campaign and raised $25,000. Today we're well into the course production and things are looking great.

Now it's time to to launch the first course

We're kicking things off in phases. Here's the plan so far:

1. July 2014: Plan course outlines and raise $7.5k to pay for the course production costs. This covers the costs of course materials, video recording, editing, and graphic design. Thanks to your help, we raised $25,000 and expanded our goal to create two additional courses.

2. September - November 2014: Course website design and production. This is where we are today. We've produced some great course materials, and it's time bring the first course to the public. Now we need to build a great website where students can log in and access all their course materials.

3. December - March - Multiple course deployments & .org accounts. We plan to deploy more courses and expand website capabilities so that organizations can subscribe. This is when we'll launch the pilot job training program to serve the homeless communities.

You Can Help!

1. Make a donation - All of these options are available as scholarships anybody can use to learn JavaScript. You can gift the scholarship to schools in your local community, or we can donate the scholarships to a training program for you.

2. Purchase a scholarship and redeem it for yourself! Learn valuable skills and help a great cause at the same time!

3. Spread the word. We need your help. Post a link to this program on social media with the hashtag #jshomes. Tell your friends why you believe in it, and what helping means to you.


See all activity15


Subscribe to receive updates by email.


Fighting Poverty With Code Leaderboard

Our leaderboard shows our leading supporters and the contributions they've made or inspired by sharing our campaign.

to get your personal share link and see your position in our leaderboard.

How it works
To appear in our leaderboard, simply make a contribution to our campaign and show your name, or inspire a contribution from someone else by sharing your personal link (below). The more contributions you make or inspire, the higher you'll go and the more the campaign will benefit.

We currently don't have any items available to claim.

$5 USD
Join the Community
  • 1 claimed
✔ Join the backer community and receive updates.
More ... Less ...
$10 USD
Your Name in the Backers File
  • 2 claimed
✔ Your name will appear in a special backers file distributed with each course.
More ... Less ...
$25 USD
Appear in a Text Adventure Game
  • 0 claimed
  • 125 remaining
Estimated delivery Dec 2014
✔ LIMITED: Be a character in a text adventure game. Supply your own name and tweet-sized description. (Kid friendly).

✔ The game will playable online & used in course examples.

✔ Join the backer community and receive updates

✔ Have your name listed in the backers file.
More ... Less ...
$59 USD
Add Sauce!
  • 7 claimed
UPGRADE ONLY: ✔ Add the essential Sauce Labs course to any course bundle. ✔ Learn the secrets great developers use to ship products on a fast schedule. ✔ Deal ends Tuesday, September 30, 11:00pm US Pacific Time.
More ... Less ...
$95 USD
1-Course Bundle Scholarship (Pre-order)
  • 0 claimed
Estimated delivery Dec 2014
✔ Gift to a school or redeem for yourself

✔ 1-Course + Book

✔ Video lessons

✔ Self-grading exercises

✔ Q & A Forum

✔ Join the backer community and receive updates

✔ Have your name listed in the backers file.
More ... Less ...
$169 USD
3-Course Bundle Scholarship (Pre-Order)
  • 0 claimed
Estimated delivery Dec 2014
✔ Gift to a school or redeem for yourself

✔ 3-Courses + Book

✔ Video lessons

✔ Self-grading exercises

✔ Q & A Forum

✔ Join the backer community and receive updates

✔ Have your name listed in the backers file.
More ... Less ...
$195 USD
Sauce Bundle Scholarship: Most Popular (Pre-Order)
  • 0 claimed
Estimated delivery Dec 2014
✔ Gift to a school or redeem for yourself

✔ 4-Courses + book

✔ Learn Sauce Labs

✔ Dozens of platforms

✔ Run tests in the cloud

✔ Join the backer community and receive updates

✔ Have your name listed in the backers file.
More ... Less ...
$295 USD
LIMITED TIME: Lifetime Upgrade Pass
  • 4 claimed
UPGRADE ONLY. ✔ You must have purchased access to four courses to qualify. ✔ You can add courses to your current bundle by purchasing the "Add Sauce" perk. ✔ Make sure the selected quantity adds up to four courses when combined with your current bundle. ✔ Deal ends Tuesday, September 30, 11:00pm US Pacific Time.
More ... Less ...
$495 USD
Lifetime All Access Pass
  • 1 claimed
Estimated delivery Dec 2014
✔ Gift to a school or redeem for yourself

✔ Lifetime membership

✔ All courses + book

✔ Live webcasts

✔ Full video archive

✔ Join the backer community and receive updates

✔ Have your name listed in the backers file.
More ... Less ...

People just like you

People just like you have raised $182,000,000+ for causes they and their friends care about.

Start your own campaign
Recent contributions