We believe in the power of code to change the world.


Code the Change began in 2009 as a student organization at Stanford University. Since then, multiple chapters have opened around North America. We are the CTC chapter at the University of British Columbia - a passionate group of students using our technical skills to effect social change. We are mainly comprised of computer scientists and engineers, although our member base includes business, science and art students. This chapter was founded in 2016.


Our primary goal is to develop free, open source software for non-profit organizations. We provide them with the tools they need in order to do the most effective job possible. We are interested in a wide range of issues and enthusiastic about applying a wide range of technologies. You can find the software for our projects here.

In addition to working with non-profits, we develop in house projects proposed by our members. In doing so, we allow students to target specific issues about which they are passionate while also gaining real world software development experience. If you are a student with an idea for a project, we'd love to hear from you!


We believe that software isn't a way to solve social issues in and of itself. Rather, its power is in supporting organizations who already have the relevant expertise in a given area - whether homelessness, abuse, or education.

Furthermore, by helping students use their skills to solve current and substantial problems we hope to empower and encourage the next generation of philanthropists. Students often assume that completing an undergraduate degree in a technical field leads to a future filled with IT work and a barrage of domain specific technical problems. Our goal is to show students that their work can have significant social impact, and that many organizations working outside of tech require their support.

We help bridge the gap between school and making a practical difference in the world.

FAQs for Partners

How long does a project take?

Typically 6-8 months depending on the scope of the project. This estimate includes the ideation phase all the way to the final handoff. Unfortunately we do not have the same resources that a for-profit company might, and since our members are students they cannot contribute to the project full-time.

Do you take on every project?

As much as we would like to commit to everything we can only take on those projects which garner sufficient interest among our members. A team working on a project is required to have a minimum number of senior engineers to ensure its success. If this requirement can't be met, we waitlist the project and re-propose it in a few months if the partner organization remains interested.

FAQs for Students

How can I join?

We hold Code Nights at UBC on Mondays and Thursdays at 6:00pm in DMP (Hugh Dempster Pavilion) 201. You can swing by there and chat with an exec or send us a message directly.

How does contributing work?

Each project has a team lead who is in charge (sometimes co-leads) of ensuring that the deadlines for the project are met. The project lead also maintains an outline on GitHub which tracks the project's progress, what's been done, and what is still to do. Here, developers can find tasks along with an estimate of how long they will take to accomplish. Team sizes are capped at a certain number - usually 3-5 depending on the project. To be a developer on a project you must complete that project's assessment (usually an online tutorial) to ensure you're sufficiently familiar with the tech stack being used. You don't have to be able to attend every code night; it's more important to follow through with the tasks you're assigned, even if you write most of your code from home. Of course, it's nice to be face to face with your team if possible! If you're stuck on a task, you can always ask your project lead or one of the software leads for help.

Do I have to know how to code?

Unfortunately, we do not currently have the resources to train people in software development. However, even if you have limited programming experience you can still contribute meaningfully in a variety of ways. Helping test software, designing layouts, providing input on user experience, and helping find projects are all ways you can help us. Furthermore, if you are learning how to code we provide a friendly environment in which to do so.