Software for Good Logo


so you can do more good.

Software for Good is a team of engineers, designers, and digital strategists who build software with love. In partnership with do-gooders nationwide, we create apps and digital platforms that help communities use the power of data and technology to cultivate shared abundance and liberation. Here’s how.

What we do

Software & web development

We co-create the technological tools do-gooders need to do more good. Using human-centered design and inclusive engineering practices, we build apps, create and support platforms, and design services and interfaces that liberate and empower.

Web development
Application development
Platform development
Data infrastructure
UX and UI design

Technology strategy

With ecological awareness and deep humility, Software for Good can help you figure out how data and technology can help you advance your mission. We bring a human-centered and contextual approach to every consulting engagement, so the recommendations we make are always grounded in human reality.

Human-centered design
Digital strategy
Technical recommendations
Product and portfolio roadmapping

Consulting engineers

When your in-house technical team needs more capacity and more wisdom, full-time consulting engineers from Software for Good bring our whole agency’s two decades of expertise to bear on the work that you need done — for a week, a quarter, or however long you need us. Along with world-class coding skills, SfG consultants will help you build a more inclusive, welcoming and innovative engineering team.

Full-stack web development
Data engineering
Infrastructure and operations
Strategic guidance and recommendations

Fractional tech leadership

Sometimes, mission-driven teams need in-house technical leadership — but not a full-time CIO, CTO, or lead engineer. When you’re getting a new technical venture off the ground or navigating a time of transition, fractional tech leadership services from Software for Good put our decades of wisdom, experience, and culture-building on your team — at just the right time, for a price you can afford.

Digital transformation
Technology roadmapping
Tech portfolio management
Product pipeline strategy
Engineering leadership


Abundance platform

CommitChange, a part of Software for Good, is a fundraising and relationship platform for nonprofits and social enterprises, powered by an open-source community. If you’re looking for a lightweight, affordable, easy-to-use fundraising and CRM platform that’s built in solidarity with do-gooders nationwide, CommitChange is just the resource you need to build more abundant resources and relationships.

Our approach

Software for Good builds technology that liberates companies, nonprofits, and government agencies to do more good. Grounded in proven engineering methods like Agile and Lean, our approach builds on decades of experience working in solidarity with our clients and their communities.

When we work together, you’ll see our values at work in our unique approach to building software for good.

Human from the start

Tech should serve human needs — never the other way around. Because those most affected by a problem know best how to solve it, our creative process is centered on the lived experience of your team and your communities. To sustain our focus on the people the project will serve, we’ll meet with you every week (or more) to review work in progress, share feedback, ask questions, and set priorities. Our human-centered design and development process ensures that we’re always solving the right human problems — even if what we learn makes custom software unnecessary.

Responsive to context

Your work happens in the real world, where change is constant — so our methods are built to flex with the context of your work. Our weekly project meetings let us keep pace with the changing ecology of your business, so we can adapt our work on the fly as conditions change. And because you know your context best, you’ll always have control of your project’s strategic direction, priorities, schedule, and budget.

Evolving by design

By focusing on human needs and responding dynamically to context, our process gives every project the freedom to evolve. Rather than waiting for a big “reveal,” you and your stakeholders will interact with our work throughout the design and development process. That real-world feedback lets us continually improve the design, functionality, and user experience of the tech we build together. And by engineering every tool with long-term stewardship in mind, we create software that your team can maintain and improve sustainably.