Ayush Jain

@ayushjain14

Natarajan Kannan

SuperTOML - adding type-safety and cascading configurations to TOML

Submitted Mar 17, 2026

Session Description

TOML configuration usually starts off simple, but it doesn’t stay that way for long. As systems grow, you end up dealing with multiple environments, tenants, rollouts, and context-specific overrides. At that point, plain TOML starts to fall short—you either duplicate configs everywhere or move a lot of logic into your application code, which becomes hard to reason about and maintain.

We built SuperTOML, an extension of TOML that addresses these problems. It adds support for explicit configuration types using JSON Schema and introduces a cascading model (inspired by CSS) to handle configuration overrides under certain application contexts in a structured way. Explicit configuration types extend Rust-like type-safety to configuration irrespective of programming languages consuming the configuration file. The cascading nature of SuperTOML unifies configuration files across multiple dimensions like environment / customer-segment / tenants. SuperTOML files are fully TOML compatible.

The talk will include a walk-through of the SuperTOML format, demonstrating usage across multiple programming languages and its full-fledged LSP support.

Ref: https://juspay.io/superposition/docs/superposition-config-file/intro


Key Takeaways

  1. Type-safety is like immunity in this AI-powered world, and configuration files should have the same level of type-safety as your programs.
  2. Cascading model of configuration reduces application complexity significantly.

Target Audience

This session will be useful for:

  1. Developers building configurable applications using feature flags / experimentation / etc.
  2. Anyone who has dealt with config sprawl or messy environment-specific overrides

Speaker Bio

Ayush Jain is a software engineer at Juspay, working on backend systems and developer platforms using Rust. He has been focusing on problems around configuration, experimentation, and policy systems, and is interested in building tools that make these systems easier to reason about and operate.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

A community of Rust language contributors and end-users from Bangalore. We have presence on the following telegram channels https://t.me/RustIndia https://t.me/fpncr LinkedIn: https://www.linkedin.com/company/rust-india/ more