Binary Semaphore
We build on the fundamentals: correct concurrency, honest abstractions, and systems that stay reliable as they scale.

Services
What we work on
We take on a small number of problems at a time and see them through, from the first design to something reliable in production.
Tech stack
What we build with
We are not loyal to any one tool. We reach for what fits the problem and what we can keep reliable in production. A fairly complete map of what we work with:
- RAG
- Agents
- Pipelines
- MCP
- LangChain
- LangGraph
- Protocol Buffers
- OpenTelemetry
- Vector search
- Event-driven
- System design
- Agile delivery
How we work
Small parts, coordinated well
We keep the moving parts few and the boundaries between them clear. Most of a project is understanding the real problem before writing the code that solves it.
- 01
Understand the problem
We map the real problem and its constraints before writing code, so we build what is needed and not the longest feature list.
- 02
Design the shape
We decide the few well-defined parts and the boundaries between them. Most mistakes are cheaper to fix here than after the code is written.
- 03
Build it honestly
Simple, legible code with interfaces that tell the truth. We spend the effort on the essential complexity and keep the accidental kind out.
- 04
Ship and keep it reliable
We get it into production in small steps, watch how it behaves, and design for failure so it holds up as it grows.
FAQ
Questions, answered plainly
What kind of work do you take on?
Two kinds. We build and maintain our own tools and products, and we build software for a specific need when a team brings us a real problem. Most of it sits across applied AI, distributed systems, and developer tools.
Is everything open source?
What we build for ourselves usually is. Work we do for a client belongs to the client; whether any of it is open-sourced is their call, and we are happy either way.
How do you engage on a project?
We take on a small number of things at a time and see them through, from the first design to something reliable in production. We scope each piece of work to the problem rather than selling fixed packages.
Do you do design too?
We are engineering-led. We keep interfaces simple and honest and can take a product end to end, but for heavy visual or brand design we would rather partner with someone who does that full time.
What does your stack look like?
We lean on Go for backends and systems work, with Python and TypeScript where they fit. We are not loyal to any one tool; the tech-stack section above is a fair map of what we reach for.
How do we start?
Get in touch with a short description of the problem. The first conversation is about understanding it, not pitching you a package.

Let's build something
Using the tools, building something, or just want to compare notes on developer tooling? Get in touch.
Binary Semaphore · built in Go.