Who We Are
OCP is an ethical software development and design studio focused on knowledge and values, not on capital. It's our belief that software is a human artifact and, if it's worth building, it should only exist to improve and benefit people, society and the wider world in general.
What We Do
We specialize in building open source applications, tools, games, and systems by collaborating with institutions and individuals across the union of cultural work, scholarly inquiry, scientific research, good design, musical practice, and the ocean of languages.
Working across the full stack — from greenfield builds to modernizing legacy systems — with a focus on clarity, maintainability and long-term value, our skills span DevOps, backend and frontend engineering, continuous deployment, and automated code quality pipelines.
With deep experience designing and implementing research portals, library science archives and knowledge visualization tools for teams active in the digital humanities and adjacent fields, we partner with cultural institutions, organizations and universities to bring complex ideas to life through thoughtful, durable software.
Methodology
We are practitioners of our own esoteric development methodology, Alpine Style.
Inspired by the great lightweight mountaineers of the 1970s and also understanding the nature of topology, we solve problems by forming "small, mobile, intelligent units" (to quote Robert Fripp) out of our team who can respond your context, learn your language and chart viable, custom solutions to your problems.
It’s the conversation between client, developer and problem space that reveals the peaks and valleys we need to ascend or traverse during any project, which is why we put a high premium on domain-driven design.
Software development is a fundamentally difficult endeavour for many reasons, but far too many projects are doomed to fail simply because the idea, the problem, what we call the 'domain', has been underspecified. To put it simply, that good idea is just not clear enough to do actual work on yet.
We make sure this doesn't happen by letting the subject-matter experts communicate how they understand the situation, freely, in a contextually accurate way and unburdened by any technical concerns. This sets up an informational feedback loop between the stakeholders and the developers and manifests a common 'ubiquitous' language that reveals exactly what any project actually needs in order to come to fruition.
It's axiomatic for us that while software developers solve problems, they cannot do so without domain experts identifying what those problems are in the first place.
Any system must intially be built in the mind. This can be interpreted across different extremes, but we prefer taking the middle way. It's only once we've had extensive conversation and we really understand each other (without ever needing any computer jargon getting in the way), that the path up to the summit of the mountain becomes clear to everyone involved.
Following the example of Taiichi Ohno, we actively root out 'wastes' – 無駄 – from our process and always pursue greater efficiency through abstraction, automation, quality guarantees, and testing. This discipline lets us confidently scale the most unlikely and harshest faces.
An Open Philosophy
We're guided by the lodestar of the original open source movement and the great early promise of the Semantic Web; where knowledge was meant to flow freely and networks served human understanding and connection, first and foremost. These essential ideas are our teachers, we still pursue their ideals, and that ethos drives us to build.
If any of this sounds like it interests you, please contact us.