To implement several applications, developers must track the application state. However, tracking application state with JavaScript objects can be challenging and can result in unanticipated performance costs. Tinybase, a database written in JavaScript, was designed to address these issues by allowing users to adopt a more structured, SQL-like approach. With TinyBase, developers model state as tabular data (i.e. columns, rows, and cells). This data can also be persisted to browser storage and/or other custom storage mediums. Users can also register event listeners to enable reactivity.