Work with us
Ways to build alongside the collective — as a contributor, a collaborator, or a client.
Two ways to work with Jedi Knights: build alongside us in the open, or hire the collective for focused engineering engagements. Both use the same door.
Build alongside us
Pitch a project. Fork a repo. Send a pull request on something already in flight. Pair on a problem you’ve been circling. Bring a half-baked idea and see if it gets traction. There’s no formal application and no gate — tell us what you’re playing with and we’ll figure it out.
Good places to start:
- Poke around github.com/jedi-knights and open an issue on anything that looks interesting.
- Have your own idea? Say hello and pitch it.
- Just want to lurk and learn? That’s fine too — no pressure.
Hobbyists, enthusiasts, students, career-switchers, anyone with a curiosity and some patience — the door is open.
Hire the collective
For teams that want senior engineering help on real work. Two shapes:
- Focused discovery — name a problem and leave with a written plan you can build against, whether we’re the ones building it or not. Typical shape: two to four weeks, ending in an architecture document, a decision log, and a call to walk through the trade-offs. No proposal deck.
- Platform builds — longer-lived infrastructure, data platforms, developer tooling, or agentic surfaces. Typical shape: six to twelve weeks, delivering working software your team owns, with the reasoning behind every load-bearing decision written down as it’s made.
How we work
- One or two engagements at a time. Fewer clients means each gets the whole of our attention. If we’re not available when you write, we’ll say so.
- We work alongside your engineers, not around them. No fully-outsourced builds. Your team ends the engagement understanding what was built and why, because they were in the room.
- Written outputs over status decks. Architecture documents, ADRs, and readable code — the kind of artifacts that outlive the engagement and the meeting they came from.
- Fixed scope where possible. Time-and-materials only when the shape genuinely requires it.
What we don’t do
- Staff augmentation or long-term embedded seats.
- Anything that would compromise the passion projects the collective exists for — that’s the well the work draws from.
Recent work
Eval infrastructure for two MCP servers
The problem. Shipping an MCP server exposes an anxiety unit tests can’t quiet: the caller isn’t a script written by someone who read your documentation, it’s a language model that will pattern-match your tool signatures and confabulate the rest. Formatter regressions, upstream shape drift, and semantic hallucinations pass every deterministic test the codebase already has.
What we built. A three-part eval harness across both of our production MCP servers: YAML scenario files, two assertion modes (exact-substring for deterministic upstream stubs, LLM-as-judge with a strict two-line PASS/FAIL contract for semantic checks), and a one-environment-variable transport switch so the same suite runs hermetically in CI and against live production nightly. A few hundred lines of Python. No dashboard.
What we deliberately didn’t build. No metrics dashboard, no automatic prompt tuning, no CI gate on nightly runs. Every layer above “pytest → GitHub Actions log → email → human” is more infrastructure to maintain than signal to gain. The judge is treated as a black box; only the parser is unit-tested. Refusing to build the dashboard kept the signal loop tight.
Outcome. Running nightly on both servers. Catches the class of failure a unit test structurally cannot — formatter changes that alter semantic meaning, upstream drift that changes the shape of correct output — without turning eval infrastructure into a second product to keep alive.
What this maps to for your engagement. Roughly the shape of a Focused discovery: three to six weeks, working alongside your team, delivering a small artifact that catches a class of bugs your existing tests structurally can’t reach. If you’re shipping tools that agents call, this is the work you didn’t know to scope.
The full technical rationale is in the essay: When the caller is a coin flip.
Say hello
The fastest path is a short conversation — no pitch, no gate. Write: omar.crosby@gmail.com.
If you have something specific in mind, tell us the problem you’re trying to solve — not the solution you have in mind.