A transparent look at how we save your games without a database.
Data stored in Local Storage (officially part of the Web Storage API) is saved directly within your web browser, rather than on an external server or database.
How is data stored?
Local storage operates as a simple "key-value" dictionary right inside your browser.
Strings Only: The browser can only store text strings. To store complex data like your list of players or the current score of a game, the app converts the data into a JSON string before saving it, and parses it back when reading it.
Domain-Specific: The data is strictly isolated to the domain that created it. For example, data saved by whoswinning.net cannot be accessed by Google, Facebook, or any other website.
Persistent: Unlike "Session Storage" (which clears when you close the tab), Local Storage persists even after the browser is closed or the computer is rebooted. It stays there until the web app explicitly deletes it via code, or you manually clear your browser data.
Storage Limits: Browsers generally allocate about 5MB of local storage space per domain, which is massive for plain text—plenty of room for thousands of saved games and player histories!
How can I see what data is stored?
Because local storage lives entirely in your browser, any user can easily view, edit, or delete it using their browser's built-in Developer Tools.
In Chrome, Edge, or Brave:
Open the web app in the browser.
Right-click anywhere on the page and select Inspect (or press F12 / Ctrl+Shift+I).
In the Developer Tools panel that opens, look for the Application tab at the top (you may need to click the >> icon if your screen is narrow).
In the left-hand sidebar, find the Storage section and expand Local Storage.
Click on the app's domain (e.g., https://whoswinning.net).
In Safari:
Ensure the "Develop" menu is enabled (Preferences > Advanced > Show Develop menu in menu bar).
Go to Develop > Show Web Inspector (or Cmd+Option+I).
Click on the Storage tab and select Local Storage from the left sidebar.
What you'll see
You will see a table with two columns: Key and Value.
If you look at this table while using our apps, you will literally see the app working in real-time! You'll see keys like ww_players (containing a history of past player names) or ww_billiards_active_game (containing the exact score, who is breaking, and the match settings).
If you click on a value, you can even manually edit the JSON string, and if you refresh the page, the app will load your manipulated data! You can also delete rows to selectively reset the app's memory.
What about Incognito / Private Browsing?
If you are using Private Browsing or Incognito Mode, your browser will still temporarily allow the app to use Local Storage so the games function normally. However, the moment you close all Private windows, the browser will automatically wipe all Local Storage data clean.