Nullstone: Building an Internal Developer Platform Without Building an Internal Developer Platform
Hook
Most engineering teams either force developers to learn Terraform or pay premium prices for platforms like Heroku that abstract away infrastructure entirely. Nullstone represents a third path: Infrastructure-as-Code that doesn’t require your application developers to become infrastructure experts.
Context
The internal developer platform has become the holy grail of engineering productivity. Companies like Spotify, Netflix, and Airbnb have built sophisticated platforms that give developers self-service infrastructure while maintaining security and cost controls. But building these platforms is expensive—typically requiring dedicated teams of platform engineers for 12-18 months before delivering value.
Meanwhile, smaller teams face an uncomfortable choice: use Terraform directly (forcing every developer to understand cloud networking, IAM policies, and state management) or adopt a fully-managed PaaS like Heroku (sacrificing control, vendor-locking your architecture, and watching costs balloon as you scale). Nullstone enters this gap as what it describes as “a Heroku-like developer platform launched on your cloud accounts.” According to its documentation, it aims to provide a simple developer experience for teams that want to use Infrastructure-as-code tools like Terraform, though the specific cloud providers supported are not detailed in the public repository.
Technical Insight
Nullstone’s architecture separates two distinct personas: platform engineers who build and curate Terraform modules, and application developers who consume those modules through a simplified CLI. This separation mirrors how internal platforms work at large tech companies, as illustrated in the repository’s architecture diagram.
The Nullstone CLI manages infrastructure through commands that abstract Terraform operations. According to the README, the CLI is used to “manage Nullstone from the command line,” including “creating and deploying app, domains, and datastore as well as creating and managing Terraform workspaces.” The specific command syntax and workflow details are referenced in external documentation at docs.nullstone.io rather than in the repository itself.
The platform appears to maintain a module system, with the README referencing “official Nullstone modules combined with modules built by their own platform engineers.” These modules are hosted in a separate nullstone-modules GitHub organization. The README indicates that “Software engineers use official Nullstone modules combined with modules built by their own platform engineers to launch and configure their application,” while “Platform engineers utilize the Nullstone platform to codify and administer infrastructure architectures for their teams without worrying about building user interfaces.”
Integration with CI/CD systems is supported through provided tooling. The README lists a CircleCI Orb as an available resource, with a GitHub Action noted as “In Development.” There’s also a Go API Client available for programmatic interaction with the platform. The README indicates these integrations enable deployment workflows, though specific implementation details are not provided in the repository.
The platform itself appears to be a hosted component based on the description of it being “launched on your cloud accounts,” though the specific architectural components, deployment requirements, and operational characteristics are not detailed in the public README.
Gotcha
The repository’s 43 GitHub stars signal limited community adoption, which has practical implications. The ecosystem of pre-built modules (hosted in the nullstone-modules organization) will likely be smaller than what you’d find in the public Terraform registry. You may need to build more custom modules internally than you might expect from a platform promising to reduce infrastructure complexity.
The documentation is primarily hosted externally at docs.nullstone.io, and the repository itself contains minimal code examples beyond installation instructions. This makes it difficult to evaluate specific capabilities, command syntax, or integration patterns without engaging with the external documentation or platform directly. The README provides three different installation methods (Homebrew for Mac, Snap for Linux, Scoop for Windows) but doesn’t include usage examples or command references.
There’s also an inherent tension in any Terraform abstraction layer: when troubleshooting is needed (and with infrastructure, troubleshooting is inevitable), the debugging path typically leads back to underlying Terraform state and cloud provider consoles. The README acknowledges the platform uses Terraform but doesn’t detail how users interact with or debug the underlying infrastructure when the abstraction layer encounters issues.
The platform appears to position itself between fully-managed PaaS solutions and direct Terraform usage, but the operational requirements for running Nullstone itself aren’t clearly documented in the public repository. Understanding the maintenance burden, availability requirements, and operational characteristics would require consulting the external documentation.
Verdict
Consider Nullstone if you’re an engineering organization committed to Infrastructure-as-Code but seeking to simplify the developer experience around Terraform. The separation between module authors (platform engineers) and module consumers (application developers) maps well to organizations with dedicated platform engineering functions, as illustrated in the repository’s architecture diagram. The available integrations (CircleCI Orb, developing GitHub Action, Go API client) suggest it’s designed for teams with existing CI/CD workflows.
Skip Nullstone if you need a fully transparent, client-only tool without platform components to manage. Also consider alternatives if you require a tool with a mature ecosystem and large community—the 43 GitHub stars indicate you’ll likely be working with limited community resources and pre-built modules. If you’re already invested in alternative IaC tools like Pulumi or CDK, the Terraform-specific focus may not align with your stack. The external documentation dependency (docs.nullstone.io) and limited in-repository examples mean you’ll need to invest time in external resources to evaluate whether it fits your specific use case.