← All work
Fractional CTO · Architecture
One codebase that could be open-source and a business at once
An organization wanted to build in the open and build a company at the same time. I refactored the monolith into a services architecture that let community-facing code live in public repositories while the trade-secret pieces stayed private — so they could grow the business and the community on the same foundation.
Architecture · public / private split
In short
- Split a monolith into services so open-source, community-facing code could live in public repos while trade-secret logic stayed private.
- Gave the team an architecture that scaled the business and the community at the same time — without leaking IP into the open.
- Development cycles got 13% faster, bugs dropped 27%, and the team shipped business value about 2x faster.
The brief
One tangled codebase was trying to do two jobs at once: be an open-source project people could contribute to, and be a business with proprietary advantages worth protecting. Those goals were fighting each other.
Everything was coupled together, so the team couldn't open the community-facing parts without exposing trade secrets — and couldn't move quickly on either front. They needed an architecture where both things could be true at the same time: open where openness built community, closed where secrecy protected the business.
Approach
I mapped the codebase against a single question — what has to be public to build community, and what has to be private to protect the business — and refactored along that line.
- Drew the boundary first: classified every part of the system as community-facing or trade-secret before moving any code.
- Refactored the monolith into services split along that boundary, so public and private code could evolve independently.
- Set up packaging and CI/CD so open-source components could be published and consumed by the private app — without secrets ever crossing into public repos.
- Established the governance and contribution model that let outside contributors participate safely.
What I delivered
Draft — confirm or adjustThese are the deliverables as I'd describe them from what you told me. Tell me which to keep, cut, or reword and I'll lock it in.
- A services architecture splitting the monolith along the public / private (open-source vs trade-secret) boundary.
- Public open-source repositories with licensing, contribution guidelines, and CI for outside contributors.
- Private repositories for trade-secret services, with secrets management keeping proprietary code and keys out of public code.
- A package-publishing pipeline so open-source components could be versioned and consumed by the private application.
- CI/CD spanning the public and private boundary, with role-based access controls.
- Contributor and internal onboarding docs for both sides of the codebase.
Outcomes
- ✓Community-facing code shipped in the open while trade secrets stayed protected.
- ✓13% faster development cycles and 27% fewer bugs after the refactor.
- ✓Business value delivered about 2x faster — with room to grow the company and the community together.
Stack & methods
MicroservicesOpen-source architectureCI/CDSecrets managementRBACPackage publishingRepo strategy
Building in the open and building a business at once?
I've drawn the line between what to open and what to protect, and built the architecture that keeps both safe. Let's talk about yours.
Book a 30-min discovery call
See more work