


AI on Nightmare Difficulty: Secure Code Generation in the US Government
DeejayHead of Product, re:cinqOn This Podcast
In this episode, Deejay talks with Mike Gehard, Director of R&D at Rise8, a custom software development firm on a mission to create 'a future where fewer bad things happen because of bad software.' Mike explains how they navigate the highly regulated 'nightmare difficulty' environment, from adhering to strict NIST standards to handling classified data. Discover their practical approach to security, including running Claude code in isolated containers, leveraging different secure endpoints like AWS GovCloud, and their ambitious goal to enable a single person to take a project from idea to production.
- Mike Gehard from Rise 8 discusses developing AI solutions for the highly regulated environment of the US federal government.
- Rise 8 focuses on two tracks: integrating AI into their software development lifecycle and building AI features into government software.
- Operating in this space requires strict adherence to NIST standards, a major difference from typical startup culture.
- To maintain security with sensitive data, they run tools like Claude code in an isolated, rootless Podman container.
- They handle multiple data classifications, using secure endpoints like AWS GovCloud when dealing with sensitive or classified code.
- The team is empowering designers to use Claude code for UI implementation, shortening the traditional development feedback loop.
- Mike argues that in an AI-driven world, outside-in, acceptance-test-driven development is more valuable than traditional inside-out TDD.
- They use custom slash commands and an MCP server to standardize prompts and workflows, effectively amplifying expert knowledge across the company.
- The ultimate vision is to enable a single person to manage an entire project from idea to production by leveraging AI agents.
Securing Claude Code for Classified Government Work
10:09In this conversation, we examine how Rise8 runs Claude Code safely on laptops that may hold controlled unclassified information, by isolating it inside a rootless Podman container so the assistant cannot reach the rest of the hard drive. Mike Gehard walks through the federal government's impact-level system, explaining how projects move from unclassified work all the way up to code with national security implications, each tier requiring a different, certified endpoint such as AWS GovCloud. He describes building a single system so every project team can select the right endpoint without risking an accidental leak of government information to the public internet. This practical, layered approach, he argues, is what lets the firm use frontier AI tools inside an environment governed by hundreds of pages of NIST standards.
Overcoming AI Hesitancy Across Teams
24:04We also discuss how Rise8 has rolled out AI adoption gradually, treating every employee as a startup founder empowered to disrupt their own workflow rather than mandating a single approach. Mike describes moving sceptical engineers along one-on-one, socialising wins in a Slack channel, and summarising the week's AI discussions into a digest so people who cannot keep up in real time still see what is working. He shares the story of the company's Brian bot, trained on the CEO's own talks, which unsettled its creator by reflecting his communication patterns back at him, and explains how a designer with only modest command-line comfort taught himself to make live UI changes with Claude Code and now runs office hours for colleagues. The underlying goal, he says, is not universal expertise but enough evangelists to keep the flywheel of internal adoption turning.
Retiring Inside-Out TDD for Outside-In Development
37:16A further theme is how Mike's own development practice has changed after leaving Pivotal, where he spent years as a self-described software craftsman committed to test-driven development. He now argues that inside-out TDD no longer serves him, favouring outside-in, acceptance-style tests that verify the software behaves correctly while leaving Claude free to restructure the implementation underneath. We also discuss the custom slash commands he treats as reusable LLM functions, encoding twenty-five years of engineering judgement into prompts shared company-wide through an MCP server, including one that automatically reviews failed GitHub Actions overnight. Mike explains why he keeps Claude.md files deliberately thin, pushing detailed instructions into subagent-specific slash commands instead, after watching Claude follow a more detailed slash command over a colleague's broader project-level instructions.

