Nava Strata is a modular, open-source platform that enables our government partners to rapidly and effectively modernize while avoiding vendor lock-in.
Whether you’re modernizing a legacy system or standing up a new program, Nava Strata can help you:
- Rapidly meet programmatic goals and build excellent experiences
- Adopt best practice workflows and security
- Equip developers with best-in-class tools
Nava Strata currently includes:
- Infrastructure templates: A set of templates for quickly setting up production-ready, cloud-native infrastructure
- Application templates: A set of templates to quickly begin building user-facing and backend applications
- Software Development Kit: A suite of composable software development tools for building human-centered digital services applications
Leverage them together or separately, depending on your needs and goals.
Use the infrastructure templates to quickly set up secure and production-ready infrastructure in AWS for your application. Strata infrastructure templates are available for AWS and Azure. Use the infrastructure templates with any of the application templates, or with any other application that satisfies the infra template’s application requirements.
AWS infrastructure template – this provides AWS infrastructure as well as some general non-infrastructure project tools like PR templates and ADR (architecture decision record) templates.
Azure infrastructure template - this is the Azure equivalent of the AWS infrastructure template. Longer term, we may consolidate this with the AWS infrastructure template to create a single consolidated infrastructure template that can be configured to use AWS or Azure. You can also use the infrastructure template with multiple applications at a time, but it will require a few steps to accomplish that configuration.
Application templates allow project teams to quickly spin up new production ready applications. Engineers can copy the templates to their own project's GitHub repository in order to get started more quickly. The templates provide many default technical choices that represent best practices for implementing government systems. These best practices were evolved by Nava over many years of experience working on GovTech projects, and will continue to evolve. Strata application templates are available for Rails, Next.js, and Flask.
The Rails template provides a template for web applications built with the Ruby on Rails framework. It has everything you need to build server-based web applications, including user-facing applications, APIs, and data engineering workflows. It comes integrated with the US Web Design System, adapters for AWS and Azure, and tools for supporting internationalization, authorization, automated testing, and more.
The Next.js template provides a template for user-facing web applications built with the Next.js React framework. This template can be used to build traditional server-based web applications. It can also be used to build APIs. However, if your project has a significant data engineering (e.g. ETL jobs and other batch processing jobs) component, a Python-based tech stack is recommended (see the Python Flask template). This template can also be used to build static sites, but is currently not configured that way out of the box.
The Flask template provides a template for APIs and offline processes built with Python Flask. This template can be used to build APIs. It can also be used to build simple user-facing applications. However, if your application is heavily on the frontend, you may want to consider using the Rails template or Next.js template since that comes already configured with internationalization, the US Web Design System, and Lookbook (in the Rails template) or Storybook (in the Next.js template).
The Strata Software Development Kit (SDK) will help your agency’s developers create best-in-class case management systems, including multi-page intake applications and case management workflows. The SDK is modular, allowing you to integrate the components you need with your program. This means you can build a new system from scratch, or plug new features into your existing system.
The Strata CLI is a command line tool to make installing, upgrading, and using the Strata templates easy.
To get started using the templates, first create a git repo for your project.
- If you are starting from scratch and need infrastructure, then start with the infra template and follow the instructions on the template's README to install the template in a single command line.
- Choose which application template you want to use and follow the instructions on the respective template's README to install the template.
- If you are building a government digital service, consider using the Strata SDK to build your application.
- Community engagement requirements reporting application for Medicaid by Nava PBC
- Simpler Grants.gov redesign by the Department of Health and Human Services
- Income Verification as a Service by the Centers for Medicaid and Medicare Services