April 16, 2026 · 8 min read

How to Show Your Work in Production ML Without Breaking NDA

Five concrete strategies for the engineer whose best work is invisible.


You shipped a system that saved your company $3M last year. Your fraud detection model catches $800K in monthly losses. The multi-agent pipeline you built processes 2 million documents a day and has run without a meaningful outage in 18 months.

Your GitHub has a resume README and three abandoned side projects.

The problem isn't that you didn't do the work. The problem is that the work lives behind a wall of NDAs, IP agreements, and legal disclaimers that make you look like a junior engineer on paper even though you've been shipping production ML for eight years. The Production ML Portfolio Paradox explains why this structural invisibility exists and why it's worse than most engineers realize.

Here's how to fix that. Five strategies. No fake projects. No confidentiality violations.

// The Ground Rule

Before the strategies: the line is everything. You cannot share proprietary data, model weights, client names, system architecture that reveals competitive advantage, or anything your legal team would flag.

What you can share is everything else: your thinking process, your methodology, the shape of the problems, the general patterns of solutions. The NDA protects the specifics. It doesn't protect your ability to talk about how you approach hard problems.

The goal isn't to share your secret sauce. It's to show that you've handled problems complex enough to have secret sauce. That's a meaningful distinction.

→ GaggiOS

Track your ML projects and generate interview-ready talking points

Your production work deserves to be visible. GaggiOS surfaces your real ML evidence — GitHub activity, career arc, domain expertise — without touching anything under NDA.

// Strategy 1: Write System Design Docs (Sanitized)

Every serious ML system has a design document: the tradeoffs you considered, the architecture decisions you made, why you chose a particular approach over alternatives. These are gold.

Not the actual document. Your document. Write a version that describes the class of problem, not your specific instance of it. Describe the failure modes you were optimizing for. Explain why a retrieval-augmented pipeline beats fine-tuning in your domain (without revealing what domain). Walk through the latency/accuracy tradeoff space you navigated.

This works because design docs reveal engineering judgment: the thing that's hardest to fake and hardest to acquire. A system design doc that shows you think carefully about tradeoffs is more credible than 10 Kaggle medals.

Example: "How we built a document triage pipeline that handles 10 languages without a dedicated multilingual corpus"

// Strategy 2: Draw Architecture Diagrams (Abstracted)

A well-drawn architecture diagram communicates complexity instantly. And it can be abstracted far enough to be shareable while still being informative.

Strip out: internal service names, specific data schemas, proprietary pipeline stages, client names, latency numbers that are trade secrets.

Keep: the high-level data flow, where ML models sit in the stack, how the human-in-the-loop works, how monitoring and drift detection are structured, the shape of the deployment pipeline. Show the layers, not the internals.

Tools like Mermaid or Excalidraw make this fast. A clean diagram shared on your GitHub README or in a blog post does more for perceived competence than a hundred lines of poorly-commented code.

Architecture diagrams are peer-to-peer credibility. Other senior engineers look at them and immediately recognize the complexity of what you've built. Recruiters glance at them. Engineers who know the domain actually read them.

// Strategy 3: Write Methodology Posts, Not Data Posts

The mistake most engineers make is trying to write about their specific project. That's almost always NDA-problematic. The fix: write about the methodology in a way that could apply to many different contexts.

A methodology post asks: what was the problem class? What approaches did you consider? What did you learn about the tradeoffs? What would you do differently? What does the evaluation methodology look like? How do you handle the cold-start problem?

None of that requires sharing data or client specifics. But it reveals deep technical fluency in a way that a post titled "Here's the model I trained on our proprietary dataset" never could.

The format that works: "Lessons from building [problem class] in [regulated/production/edge] contexts"

The trick is to write at the level of principles, not instances. "How we handle class imbalance in production document classification" is more valuable and more shareable than "How we classified insurance claims for Client X."

→ GaggiOS

GaggiOS helps ML engineers document what they build

One place where your sanitized docs, architecture patterns, and GitHub activity come together as a coherent professional identity. Automatic. Always current.

// Strategy 4: Contribute to Open-Source Tooling

The work you did to solve your production problem almost certainly has a generalizable component. If you built a robust feature store, open-source the pipeline glue. If you solved a hard evaluation problem, publish the benchmarking framework. If you built data validation tooling, release it.

This is the most credible signal you can produce because it requires actually shipping something useful to other people. It's public, it's reviewable, it accumulates stars and forks and contributor history over time.

The contribution doesn't need to be a side project in the traditional sense. Sometimes it means extracting a tool from your production work and maintaining it separately. The discipline of building something general-purpose from production code forces good architecture decisions and produces artifacts you can point to confidently.

Open-source contributions are the clearest signal in the production ML hiring stack. They prove you can ship, that other engineers found your work useful enough to use it, and that you've thought about generality beyond your specific context.

// Strategy 5: Speak at Conferences (On Approaches, Not Projects)

Conference talks are underused by production engineers, mostly because they assume they need a client case study to make it interesting. They don't. You need a perspective.

"What we learned building production RAG systems" is more interesting than "How we built RAG for Acme Corp." The first talk is methodology. The second is a case study, which is harder to anonymize.

The talk doesn't need to be based exclusively on one project. It can synthesize your experience across multiple engagements, share learnings from failures, argue for a specific approach to a problem class. If you've done production ML for any real length of time, you have opinions worth hearing.

CFPs (call for proposals) at ML conferences and meetups are always looking for practitioner voices. You don't need a research paper. You need a clear angle and a track record. Most production engineers have both and don't submit.

The bar for a good conference talk: one clear idea, three concrete examples, ten minutes of genuine insight

// The Meta-Skill: Aggregating Your Signal

Here's the thing: none of these strategies work in isolation. One architecture diagram is a curiosity. Five well-crafted methodology posts is a body of work. A talk plus a few OSS contributions plus a portfolio of abstract docs starts to look like a coherent professional identity. If you're building new portfolio projects specifically for visibility, 5 Portfolio Projects That Actually Impress ML Hiring Managers outlines projects that demonstrate production thinking rather than notebook skills.

The problem most engineers hit is that this work is scattered across different platforms, inconsistently maintained, and invisible to anyone who isn't already looking for them. Your Twitter thread is here, your GitHub README is there, your conference talk is on YouTube somewhere, and your blog post is three years old and outdated.

What you need is a single coherent place where all of this signal lives, automatically, so you're not constantly maintaining a presence manually.

That's what GaggiOS is built for. It aggregates your real production evidence: GitHub activity, domain expertise, career trajectory, and the public artifacts you've created. Presents them as a coherent identity. Updates automatically. No fake side projects, no fabricated content. Everything you've actually built, surfaced cleanly.

If you're a production ML engineer and you've been using the NDA problem as an excuse for invisibility: the excuse is valid, but it's not final. There are five strategies above. Start with the one that costs least and compounds fastest. For most people, that's the methodology post. If you're coming from research, the research-to-production transition guide covers how to apply these strategies as you build your production track record from scratch.

Build your own career OS

GaggiOS aggregates your real production ML evidence into one coherent, always-current career dashboard. GitHub activity, domain expertise, career arc. No NDA violations. No fake projects. Get early access below.