• page

DoneJS' goal is to help the JavaScript community get amazing applications done fast. Amazing applications are fast, sublimely usable, and maintainable.

But times change and new techniques emerge. We strive to adopt these techniques, improve the stack, and provide a simple upgrade path along the way.

We are part of a community that helps developers of all skill levels and backgrounds learn the technology, excel at it, and accomplish their goals.

Learn about the goals, history, roadmap, and team behind DoneJS.


DoneJS has three primary goals:

  1. To enable developers to easily create high performance, maintainable, highly usable (amazing) applications.
  2. To continually evolve with new techniques and tools.
  3. To support the technology community.

Amazing Applications

Building a modern application is increasingly difficult. Your app needs to look good and run fast on every platform and browser. And, you need to get your app done yesterday. Not kinda done. Done done.

Helping you get a high performance, sublimely usable, and maintainable application done fast is DoneJS's primary goal. This is why our logo is a browser that looks like a checkered flag. We're committed to your release.

We aim to help in three main ways:

1. Solving difficult technical problems

DoneJS has good solutions for:

These are just a few examples from our features page. If there's a hard problem that you keep running into, we want to solve it.

2. Provide an integrated solution

Too many choices can make decision making difficult. DoneJS simplifies matters by providing a full stack of frontend tooling tested to work great together. The start of the features page goes into detail with examples of this benefit.

Note: Despite being an integrated solution, you can replace parts of DoneJS with alternatives.

3. Doing the right thing

Writing tests and documentation, setting up continuous integration and deployment isn't fun or easy. DoneJS tries to lower the barrier enough to making doing the right thing simply part of the normal dev cycle.

Check out what DoneJS does for:


Application development and maintenence often lasts many years. Stability is needed to release complex applications. However, new techniques and best practices are constantly evolving.

DoneJS's goal is to strike a balance between immovable stability and irresistable progress. We do this by evolving frequently, while maintaining backward compatability between major releases.

It can be a bumpy road, with lots of little changes. But it avoids rewrites, resulting in greater productivity:

DoneJS is the successor to JavaScriptMVC. If your project chose JavaScriptMVC in 2007, you would have made a wise decision, giving your team an upgrade path to a modern application for the past 8 years.

We hope to continue this trend until programs start writing themselves.


Software is better with friends. Our goal is to establish a world-wide community with people of all backgrounds and skill levels dedicated to teaching, exploring and innovating.


Technology is worth nothing if people don't know how to use it. We want to create great learning material, but also create an environment where people feel comfortable getting help.

The core team is always available on gitter and provides weekly trainings. Signup for a meetup and we will come to your city and teach you DoneJS!


DoneJS has benefited greatly from other projects ideas and technology. It should continue to enhance other communities.

You can already use many of DoneJS parts with other projects:

  • StealJS works great with ReactJS.
  • CanJS works with RequireJS or Browserify.
  • can-connect works on its own.

We should always seek to cooperate with others.


If you have the next great JS idea, we want to encourage you to help build it as part of the DoneJS family. You'll find DoneJS a supportive environment to nurture your ideas. You can even pair with the full time devs to build out your idea. Reach out to us on gitter or create an issue.


DoneJS's history goes back more than 8 years! Learn why JavaScriptMVC was started, and how it evolved into DoneJS.

Beginning Steps

This section will be complete by Nov 1st. Stay tuned.

Tomorrow's Roadmap

The following are our highest priority, non bug fix features:


The DoneJS family of technologies is built by 100s of contributors:

Core team

To become a contributor to DoneJS or its sub-projects, you simply have to:

  • Email the core team expressing your interest.
  • Attend the weekly DoneJS Contributors meeting twice a month. DoneJS Calendar
  • Make one small contribution, even a spelling correction, a month.

Core team:

Prashant Sharma

Prashant is based in Bangalore, India. He likes the understated elegance of CanJS. I also believe DoneJS is a great framework in the making, since it makes technology selection a no brainer by uniquely offering developers an all-in-one technology stack.


Julian Kern

A 29 old guy from Germany, Julian started coding at the age of 16. Now he freelances with CanJS. He likes the clean structure of Model, Views, and ViewModels.


Mohamed Cherif Bouchelaghem

Mohamed Cherif BOUCHELAGHEM from Algiers, Algeria, almost a server side developer in day work, JavaScript developer after work hours specially using DoneJS/CanJS. He likes to help people to learn and find solutions to issues with DoneJS framework and build applications and code samples that help to show the best from DoneJS/Canjs and learn it faster.

@Cherif_b Github

Kevin Phillips

Kevin is based in Chicago (well, close enough). He wants to make it easy for anyone to get started with DoneJS and will work on features that help solve complex problems.

@kdotphil Github

Fulltime team

There are currently 3 fulltime contributors to DoneJS and its subprojects:

Justin Meyer

Justin dances and plays basketball in Chicago. He created JavaScriptMVC and manages the DoneJS project, and shouldn't code on it as much as he does.

@justinbmeyer github

David Luecke

David is a Canadian by way of Germany. His focus is on CanJS and DoneJS's testing stack.

@daffl github

Matthew Phillips

Matthew, keeper of beards, is the lead maintainer of StealJS and its related tools.

@matthewcp github


If you'd like to support the development of DoneJS, please find available options on our Patreon page. If you have other ideas, or would like to customize your support, please email us.

Bitovi, a JavaScript consulting company, is the primary sponsor of DoneJS.