The Vision for Tempo
Introduction
While the Temporal API provides a mathematically sound foundation for dates in JavaScript, it is intentionally low-level and strict. Tempo acts as a developer-friendly wrapper that bridges the "onboarding gap" between raw inputs and Temporal's precision.
Core Value Proposition
1. Closing the Onboarding Gap
Modern developers expect a "warm" API for common tasks. Native Temporal requires explicit types and ISO formats for almost every operation. Tempo provides a familiar, intuitive entry point (similar to the ease of Day.js) while maintaining the rock-solid reliability of Temporal under the hood.
2. Human-Centric Parsing
Data in the real world is messy. Tempo's Layout and Snippet engine allows developers to interpret human-readable strings, aliases, and custom formats without writing complex, custom utility functions. It turns "today" or "Christmas" into machine-exact time points effortlessly.
3. Business Intelligence via Plugin
Tempo extends beyond simple date arithmetic through its Terms system. By providing declarative access to complex calculations—such as fiscal quarters, meteorological seasons, and zodiac signs, Tempo moves domain-specific logic out of the application code and into a reusable, extensible plugin architecture.
4. Lean but Robust
Tempo is designed to be a thin, highly capable layer. It prioritizes a lightweight API surface for the developer while maintaining robust internal logic to handle the complexities of timezones, calendars, and durations
Conclusion
Tempo is not intended to replace Temporal, but to humanize it. It is the tool for developers who want the future of JavaScript dates today, without the overhead of building their own high-level utility library from scratch.