Pelli-Robson Contrast Test: contrast sensitivity screening
We launched Pelli-Robson Contrast Test: a contrast sensitivity screening tool in your browser. Identify Sloan letters as contrast decreases with each triplet. Your score is reported in logCS units with a descriptive interpretation.
Features:
- Letter triplets: 16 triplets with decreasing contrast (0.15 log units per step). Sloan letters (C, D, H, K, N, O, R, S, V, Z) randomised each test.
- Virtual keypad: Type the letters you see. Keyboard input supported.
- Score interpretation: Results describe whether vision may appear washed out or foggy (below 1.0 logCS), mild-to-moderate reduction (1.0–1.5), or approaching typical range (above 1.5).
- Low vision friendly: Bold active triplet outline, high-contrast prompts, visible "I can't see any more" button.
- Privacy-first: Runs entirely in your browser. No data sent.
This is for personal monitoring only. Not a clinical diagnosis. See an optometrist for proper testing.
AI tools speed fix: self-hosted LLM reverted
Some of our tools that use AI (such as Pure Mail, email scam detector and Pure Oracle, the Fun Magic Robot Tribute game) were running really slowly. This was because we were attempting to improve privacy further by self-hosting a Mistral LLM (the AI brain) instead of using an API key to call Mistral. Even though we are confident in Mistral's privacy rules, this would have enhanced privacy further by keeping all data on Pure Contrast Tools servers.
To do this we bought a bigger, better server with more processing power, but it wasn't enough. It was painfully slow. To actually have a viable self-hosted LLM, we would need to spend at least £200/month on a VPS package, which we can't afford at this stage.
We want to apologise to any users who experienced difficulties during that time while we were testing. We have reverted all the changes and are investigating other options. Please let us know if anything still feels wrong: feedback form.
Pure Colour Test: colour vision screening
We launched Pure Colour Test: a colour vision screening tool built for a personal reason. I have been living with optic neuritis since early January. Colour blindness is one of the symptoms. I think the treatment might be working, so I built this to monitor my colour vision over time.
Features:
- Red-green plates: Ishihara-style plates with green backgrounds and orange-red numbers. These test for red-green colour deficiency (protanopia, deuteranopia).
- Blue-yellow plates: Plates with blue backgrounds and yellow numbers. These test for blue-yellow deficiency (tritanopia).
- Monochromacy plates: Grey-scale plates where the number is formed by dots of different brightness. These test luminance perception; people with total colour blindness (monochromacy) can still see these.
- Score and interpretation: After eight plates, you see how many you got right. The result suggests whether your colour vision is typical, or whether you may have a deficiency. If you pass luminance plates but fail colour plates, that pattern can indicate monochromacy.
- Privacy-first: Runs entirely in your browser. No data sent.
This is not a medical diagnosis. See an optometrist for proper testing.
Pure Sediment: slow journalling tool
We launched Pure Sediment: a slow journalling tool built around a single constraint. Write one thought per day, up to 100 words. Come back each day for seven days, and your week settles into a thread you can export as an image.
Features:
- One thought per day: 100 words maximum. Simple, focused reflection.
- Seven layers: Each day adds a layer. At the end of the week, export your seven thoughts as an image to keep or share.
- Local storage only: Your words never leave your browser. No account, no server, no tracking.
- Six colour schemes: Theme cycling with persistence. Your choice carries over when you return from the utilities page.
- Low vision friendly: Larger text, higher contrast, sans-serif body font. Built for readability.
- Breadcrumb navigation: Home, Utilities, Pure Sediment for easy wayfinding.
Pure Send: peer-to-peer text and file transfer
We launched Pure Send: send text or files between any two devices with no apps, no downloads, and no accounts. Data travels directly between your devices and never touches our server.
Features:
- 6-digit code: Get a code on one device, enter it on the other. Connect in seconds.
- Text and files: Send messages or files of any size. Files are chunked and encrypted before transfer.
- Peer-to-peer: WebRTC DataChannel means your data goes directly between devices. We only relay the initial connection handshake.
- Encrypted: ECDH key exchange and AES-GCM encryption. Same approach as Dead Note.
- QR code: Scan the code with your other device to open the page with the code pre-filled and connect automatically.
- Read aloud: Optional text-to-speech for incoming messages.
- Sound feedback: Optional tones when you send or receive.
- File progress: Progress bars for sending and receiving files.
- Paste button: Quick paste from clipboard into the message field.
- Copy messages: Copy button on each text message.
- Keep screen on: Toggle to reduce connection drops on mobile when the screen would lock.
ScotTravel: Scottish bus departures, live
We are really pleased to launch ScotTravel: high-contrast, privacy-focused bus information for Scotland. Enter a postcode, street and town, or bus stop code to see live departures.
Features:
- Search by postcode or address: Type a Scottish postcode (e.g. G12 8AA) or street and town (e.g. Sauchiehall Street Glasgow). We find nearby stops for you.
- Stop code display: When viewing departures, the stop code is shown clearly so you can memorise it or share it.
- Favourite stops: Save frequently used stops to "My stops" for quick access. Stored on your device only.
- Change stop / back to search: Easy navigation to pick a different stop.
- Widen search: If no stops are found nearby, you can widen the search radius (up to 2 km) for rural areas.
- Platform and onward stops: When the data provides them, we show stand numbers and the next stops on each route.
- DUE emphasis: Buses arriving soon are highlighted (no pulse, low-vision friendly).
- Empty state and graceful failure: Clear messages when there are no departures or when the API fails. If we have cached data, we show it with a "Last known" timestamp.
- Short-term caching: Departures are cached for 90 seconds to reduce API calls. Refresh bypasses the cache.
- Optional auto-refresh: Turn on to refresh every 90 seconds while viewing a stop.
- Keyboard shortcut: Press / to focus the search box.
- Screen reader support: aria-live announcements when departures load or refresh.
- Six colour schemes: Same theme cycling as the rest of the site.
We have loads of ideas for future features: journey planning ("I want to go to Glasgow from Paisley"), train data, and more. For now, ScotTravel focuses on bus departures and does it well.
Pure Zen Music: standalone relaxation player
The relaxing instrumental music has been playing in the background of some of our games for a while now (Zen Path, Shadow Gems, Zen Sequence, Zen Grid). We received comments from people who would open a game and let the music play without really playing the game. So we decided to build a standalone music player.
Pure Zen Music lets you stream five tracks of yoga, spa-style instrumental music directly in your browser. No ads, no tracking, no signup. You can shuffle the order, move tracks up and down to create your own playlist, and pick up where you left off. It sits as its own card on the homepage.
Thank you to Love Yoga Crew for letting us use the music.
Outlook: Easy Weather - fixes and city memory
We updated Outlook: Easy Weather with several improvements:
- Hourly outlook duplicate text: Some entries were showing "Rain" or "Snow" twice (e.g. "20:00: Rain, 4°C, Rain"). We fixed it so the precipitation type is only shown when the main condition does not already say Rain or Snow. Entries now read cleanly.
- City memory: Your last viewed city is now stored in your browser. When you return to the page, that city loads automatically. Use the Change city button if you need a different location.
Pure Timer: filled pie countdown for better visibility
We replaced the outline ring on Pure Timer with a filled pie that shrinks as time runs out. The circle starts full and reduces clockwise like slices being removed, making the remaining time much easier to see at a glance. High contrast and clearer for low vision users.
Pure Atomic: analogue clock face improvements
We updated the analogue clock on Pure Atomic with clearer minute markers and layout tweaks:
- Minute markers: Small dots at each minute position and short lines at every five minutes (except where the numbers 12, 3, 6, 9 sit).
- Logo removed: The logo no longer appears in the centre of the clock face, so the hands and markers are easier to read.
- Number alignment: The 12, 3, and 9 are now spaced consistently with the 6.
Visual refresh: new design across site pages
We are rolling out a refreshed visual style across the site. The new design uses a warmer, more polished look: Georgia and system UI fonts, a subtle gradient background, rounded corners on cards and blocks, and a gold accent that works across all six colour schemes (including the high-contrast yellow on black option). Accessibility remains our priority: skip links, theme cycling, and screen reader support are unchanged. We are working through the pages one by one.
Pure Shopping List: full release
We launched Pure Shopping List: a high-contrast grocery list that saves to your device. Beta tag removed.
- Add items: Type with local autocomplete, or click "What else might I need?" for AI suggestions.
- At the shop: Open your list, mark items off as you go, read aloud with your device's built-in speech.
- Multiple lists: Add to your most recent or create a new one. Manage saved lists to rename, delete, or duplicate.
- Storage: Usage shown in Manage. Warnings if you have many lists or very long lists.
- Accessibility: In-page dialogs instead of browser popups for low vision users.
Pure Chance: accessible "add dice" message
When you click Roll on Pure Chance without adding any dice, the tool used to show a browser popup. We replaced that with an inline message that appears in the page instead. The new message uses the same theme colours as the rest of the tool (high contrast), is announced by screen readers via role="alert", and scrolls into view so it is easy to spot. Better for low vision users.
Pure Good News: positive headlines only
We launched Pure Good News: uplifting headlines from Positive News, Good News Network, and Good Good Good. No doom, no gloom. Filter by category (Health, Animals, Environment, Science, World, Inspiring). Calm mode shows one headline at a time. Surprise me picks a random article. Keyboard shortcuts: J/K or arrows to navigate, Enter to open. High contrast, screen reader friendly, updated hourly.
Pure Patter: usability and display updates
We updated Pure Patter with several usability and display changes:
- Intensity auto-update: Changing intensity (Tourist, Local, Full Bam) after a translation now updates the result automatically, without clicking Translate again.
- Enter to translate: You can press Enter in the text box to translate instead of clicking the button.
- Theme persistence: The selected colour scheme now persists correctly when you reload the page.
- Copy and Save Image: Both now include the original English phrase, the Scots translation, and the intensity used.
- Result layout: The result box now shows "English:", "Scots:", and "Intensity:" labels for clarity.
- Larger translation text: The Scots translation text is now twice as large for easier reading.
Pure Ear Age: hearing age test
We launched Pure Ear Age: a high-frequency hearing test that runs entirely in your browser. As we age, our ability to hear high-pitched sounds decreases (presbycusis). The test plays a tone that rises from 8 kHz to 20 kHz; you click when you can no longer hear it. Your result shows the maximum frequency and an estimated "hearing age" based on research. Headphones recommended.
- Calibration tone: Confirm your device works before the test.
- Voice preference: Saved across visits.
- Copy result: Button for sharing.
- Keyboard support: Space/Enter to start and stop.
- Ear selection: Left, right, or both ears.
- Tone speed: Adjustable (1.5 s, 2 s, or 3 s per step).
- Science section: Frequency-by-age table.
- Compare to average: Optional age input.
- Export history: CSV download.
- Ambient noise check: Optional, uses mic briefly, no recording.
- Tone type: Sine, triangle, or square. All options in a collapsible "Test options" panel.
Pure Scores
We launched Pure Scores: high-contrast football results for low vision. Premier League, La Liga, Bundesliga, Serie A, Ligue 1, MLS, Scottish leagues and cups, National League, World Cup and more. League dropdown, read aloud (with "nil" for zero), theme cycling, and updated hourly. We are hoping to add other sports soon.
Traveline API access approved: Scot Travel on the way
Good news from the Traveline Team: our request for API access has been approved, and the credentials will be sent shortly. That means the Scot Travel service cannot be far from completion. We are really excited about launching this high-contrast, privacy-focused public transport tracker for Scotland.
Pure Coin Flip: larger coin, easier to see, randomness evaluated
The coin graphic on Pure Coin Flip is now twice as big. The heads (H) and tails (T) letters inside the circle are larger and bold, taking up most of the coin face, so the result is easier to see at a glance.
We ran a script that simulated 500 flips using the same logic as the tool (random < 0.5 for heads). Result: 254 heads (50.8%), 246 tails (49.2%). That split is consistent with a fair, random coin.
Pure Chance: randomness evaluated
We ran a script that simulated dice rolls using the same logic as Pure Chance (integer from 1 to sides, inclusive). For a d6 we rolled 6000 times: counts were 996, 1014, 1005, 997, 947, 1041 (expected 1000 per face). For a d20 we rolled 10000 times. In both cases the chi-squared values were within the range expected for a fair die. The distribution is consistent with fair, random dice.
Netcheck: text styling match
On Netcheck, most of the text (labels and data rows) was appearing faint compared to the IP address. Labels and all data values now use the same bold, full-contrast style as the IP address display, and the "System Diagnostic" heading is no longer dimmed. Readability is improved across the page.
Outlook: Easy Weather – horizontal scrolling fixed
The slight horizontal scrolling issue on Outlook: Easy Weather has been fixed. The page now constrains to the viewport on mobile and narrow screens: overflow is hidden at the page level, flex children can shrink correctly, and long text (city names, conditions, hourly and 7-day lines) wraps instead of causing scroll.
Breadcrumb bar on site pages
We have added a breadcrumb bar to the non-game and non-tools pages (e.g. Updates, Blog, Support, Feedback) to aid navigation of the site. We are evaluating how we can add the same feature to the individual tools and games without adding visual clutter.
Pure Timer and Pure Chrono: clearer tap instructions
We updated the status text on both Pure Timer and Pure Chrono so it is obvious that you can tap the screen to pause and continue.
Pure Timer: Idle text now says "Tap a preset below or CUSTOM to start" instead of "Tap to start". When the timer is running it shows "Running. Tap screen to pause"; when paused, "Paused. Tap screen to continue". After the alarm, the same start instruction appears again.
Pure Chrono: Idle text is "Tap screen to start". When the stopwatch is running it shows "Running. Tap screen to pause"; when stopped, "Stopped. Tap screen to continue". Same pattern after reset.
Support page revamp
We revamped the Support page and linked it from the homepage footer. It now uses the same theme system as the rest of the site, includes a transparent cost breakdown (server, domain, optional AI), and four simple ways to help today: share the site, send feedback, spread the word, or consider commissioning work. We are not asking for donations yet; we may add optional funding links later when there is user demand.
From the community (testimonials)
We added a "From the community" section on the homepage. It is ready for testimonials from people who use our tools. For now it invites visitors to send feedback if they would like to share their experience; we will add quotes here as we receive them.
ScotTravel (coming soon)
We are building a high-contrast, privacy-focused public transport tracker for visually impaired users in Scotland. The frontend and backend are ready: you can enter a bus stop code and the app will show departures.
We have signed the Traveline Scotland licence and are waiting for our API username and password. Once the key arrives, we will switch from simulation mode to live data and launch real-time bus and coach departures.
No user data is sent to third parties; the server acts as a privacy proxy so your IP is never exposed to the data provider. Privacy-respecting analytics only. No ads, no cookies.
Pure Atomic: timezone overhaul
The world clock now has a clearer, more accurate timezone selector:
- Scotland group: Paisley, Glasgow, Edinburgh, and Lerwick in their own group.
- Other British cities (London, Cardiff, Belfast) moved into the Europe group with timezone in brackets (e.g. GMT, BST).
- Timezone labels: Every city shows its abbreviation in brackets (e.g. Paris (CET), Athens (EET)). Cities that use daylight saving switch automatically (e.g. GMT/BST, EST/EDT, CET/CEST).
- Worldwide coverage: Expanded city list with correct daylight saving handling for North America, South America, Asia (including Beijing), and more.
- Polar easter egg: North Pole and South Pole in the list with a rotating carousel of major cities for fun.
Outlook: Easy Weather
Outlook: Easy Weather has been expanded so you can plan your day and decide whether you need a coat:
- Feels like: A "feels like" temperature is now shown so you get a better sense of how cold or warm it will be (wind and humidity included).
- Hourly outlook: Hour-by-hour conditions for the rest of the day.
- 7 day outlook: A full week ahead at a glance.
- Rain or snow expected: Clear indication when rain or snow is expected so you can dress and plan accordingly.
Arcade: Pure Egg removed from games page
Pure Egg has been removed from the Games Room for now. The project is paused; we may bring it back later. The rest of the arcade is unchanged.
Pure News
We launched Pure News: a privacy-focused news aggregator that pulls in headlines from across the political spectrum, clusters stories by topic, and highlights where coverage is missing (left or right). It flags Scottish interest and uses AI to summarise those "blind spots" so you can see what other outlets are not saying. High-contrast, theme-cycling, and built for clarity. We are quite proud of it.
Blog and origin story
We launched the blog with our first post: Why I Built Pure Contrast Tools. It tells the story of how this project started at a dining room table, not a boardroom, and why we care about accessibility and privacy.
Updates and changelog page
We have started this updates page so you can see what we are building and changing. From now on we will add all future changes, updates, and fixes here so the site stays transparent and easy to follow.