tools.mathspp.com colophon

The tools on tools.mathspp.com were mostly built using AI-assisted programming. This page lists 23 tools and their development history.

This page lists the commit messages for each tool.

#

workout-exercise-record

View code

Review and update personal-best records for any exercise via the Cloudflare Worker API. Fetch the existing list of best sets, then append new weight and rep combinations to overwrite the record list in one step.

Development history (10 commits)
8f7f9f November 27, 2025 17:51

Add workout settings tool and shared navigation (#55)

  • Rebuilt the workouts Cloudflare Worker to follow the provided REST specification with bearer authentication, validated exercise/template/session endpoints, session indexing, and automatic personal-record updates.
  • Added a workout template manager tool that stores API credentials, lists templates, previews details, and creates or deletes templates through the worker API.
  • Introduced new client tools for exercise administration, session logging, session history viewing, and personal-record editing to operate against the updated API.
  • Updated the session viewer to capture API base URLs and bearer tokens, refresh templates, step through session history, and choose comparison sessions using the new navigation and settings controls.
  • Rendered each session with metadata chips, session notes, exercise blocks, and set-by-set delta comparisons to mirror the prior Workout History capabilities on top of the new API responses.
  • Rebuilt the workout template manager UI with stored API settings, template listing and previewing, time estimates, deletion controls, and structured exercise details powered by the Cloudflare Worker API.
  • Enhanced template creation with reorderable exercise blocks, AMRAP/min-max inputs, validation, and refresh after creation to mirror legacy manager capabilities on the new API.
  • Updated documentation to note that the refreshed template manager replaces the legacy Workout Manager tool.
  • Documented that the modern session viewer replaces the old Workout History tool and removed the legacy files accordingly.
  • add a dedicated Workout Settings tool to capture the API base URL and bearer token for all workout utilities
  • remove per-tool authentication inputs in the workout tools while reusing stored credentials (with legacy key fallback) and add consistent cross-links
  • embed a shared navigation card across the workout suite for quick access between tools

Codex Task

ca43b7 November 28, 2025 14:36

Use unified workout API settings (#56)

  • Save and clear the workout API base URL and bearer token only under the shared keys managed by the Workout Settings tool
  • Update all workout tools to read the unified settings without legacy key fallbacks, ensuring they depend on Workout Settings for configuration

Codex Task

7806fc November 28, 2025 19:50

Add shared header and footer to workout exercise tools (#59)

  • add the standard tools header and footer to the workout exercise manager page
  • add the standard tools header and footer to the workout exercise records page
  • align introductory text styling with the shared template styles

Codex Task

81c397 November 28, 2025 21:24

Prune workout exercise records and guard submissions (#61)

  • prevent manual exercise record submissions when an existing record dominates or matches the new one
  • prune exercise record lists in the worker whenever records are updated, keeping only the non-dominated frontier
  • document the pruning requirement explicitly in the worker specification

Codex Task

28b541 November 28, 2025 22:37

Tweak exercise record form behavior (#62)

  • prevent the exercise dropdown from stretching to fill its grid row
  • reset record inputs when changing exercises
  • simplify record form labels

Codex Task

0573e3 November 29, 2025 17:44

Adjust workout record layout and controls (#64)

  • reorganize the records card with inline dropdown/actions and viewing label
  • show exercise display names only and fetch records via explicit button

Codex Task

a00076 November 29, 2025 18:26

Improve records card layout (#65)

  • realign the Records card header area so the exercise dropdown sits left and the action buttons sit right without wrapping labels
  • wrap the records table in a dedicated row and add a caption that updates to show when records exist or are missing for the selected exercise

Codex Task

e6c07c November 29, 2025 18:53

Improve add record layout (#66)

  • restructure the Add record card into dedicated rows for heading, inputs/actions, and status
  • style the form row so weight, reps, and Add record button align neatly while remaining responsive
  • adjust button labeling to better reflect the action

Codex Task

75df87 November 30, 2025 23:39

Add autocomplete datalist for exercise selection (#67)

  • replace the exercise dropdown with a text input backed by a datalist for selection or typing
  • populate the datalist with alphabetised exercise names and retain display names for captions
  • resolve typed exercises when loading or adding records while keeping status updates

Codex Task

357cc76 December 14, 2025 10:36

Improve exercise selection input (#85)

  • add a helper-documented exercise input paired with a datalist dropdown
  • populate both autocomplete options and a browseable select list from exercises
  • keep the manual browse select in sync with the main exercise input for record actions

Codex Task

#

testimonial-card-generator

View code

Generate elegant testimonial cards from text, name, affiliation, and a photo link, then download a transparent PNG sized for social media sharing. Highlight key phrases directly from the testimonial input to emphasize them in the preview and exported image.

Development history (6 commits)
c6544c December 13, 2025 15:22

Add testimonial card image generator tool (#80)

  • add a testimonial card generator UI that supports text highlights and avatar previews
  • allow rendering the preview to a transparent PNG sized for social platforms and download with a descriptive filename
  • document the tool purpose and capabilities

Codex Task

5d3472 December 13, 2025 15:43

Remove redundant card styling (#81)

  • made the UI look more consistent with other tools
  • remove inline testimonial card styles already covered by the shared stylesheet

Codex Task

414e92 December 13, 2025 16:00

Remove html-to-image attribution text (#82)

  • simplify the UI to have a single “download” button that renders and downloads the image

Codex Task

2d36bb December 13, 2025 16:07

Fix script tag for dependency.

bca1d0 December 13, 2025 16:53

Revert inline testimonial changes but keep https for html-to-image (#83)

  • stack UI cards vertically

Codex Task

79ed95d December 13, 2025 18:02

Make testimonial preview responsive (#84)

  • adjust testimonial preview surface to respect responsive widths while keeping the social-media aspect ratio
  • make the inner card width clamp so it scales down on narrow screens

Codex Task

#

erepublik-air-damage-calculator

View code

Calculate expected air battle damage in eRepublik with inputs for rank, energy, weapons, boosters, protector level, and relevant bonuses.

Development history (12 commits)
b53a2a December 12, 2025 16:32

Add eRepublik air damage calculator (#68)

  • add standalone eRepublik air damage calculator tool following repository template
  • implement responsive form for energy, rank, weapon, protector level, boosters, and bonuses
  • display live damage totals with breakdown of calculation factors

Codex Task

c0e2bd December 12, 2025 18:10

Use hits label in damage breakdown (#69)

  • replaced the rank options with the full official eRepublik air ranks, shown in descending order with Air Commodore selected by default.
  • updated the damage calculation to use each rank’s official influence percentage and reflect it in the breakdown.
  • updated weapon damage multipliers so each weapon tier (none through Q5) applies the correct official bonus and integrates into the damage calculation.
  • update the damage breakdown to describe the hit count instead of energy chunks

Codex Task

2de318 December 12, 2025 19:07

Fix air rank damage multiplier (#70)

  • fix computation of damage increase by rank

Codex Task

6cc5b2 December 12, 2025 19:14

Tweak rank formula.

458e69 December 12, 2025 22:37

Add manual energy status indicator for consumables card (#71)

  • add a status banner to the consumables card that communicates when manual energy entry disables consumable inputs
  • show a warning style when energy is set directly and clear consumable inputs to reflect that state

Codex Task

803fd3 December 12, 2025 22:45

Update UI.

691a58 December 12, 2025 23:49

Add influence calculations to air damage tool (#72)

ed8077 December 12, 2025 23:57

Add rank indicator and booster selection (#73)

  • add rank readout below the damage indicator that scales from 10% of damage with an optional booster
  • provide a rank booster dropdown alongside other multipliers in the calculator form
  • compute boosted rank totals while keeping influence and damage calculations intact

Codex Task

2e6746 December 13, 2025 09:55

Swap influence and rank outputs (#75)

  • swap the influence and rank sections in the result display so influence appears before rank
  • use native title tooltips for formulas

Codex Task

0d7f1a December 13, 2025 13:11

Persist rank and level 100 selections (#78)

  • add safe localStorage helpers to persist user rank and level 100 selections
  • load saved rank and level 100 preferences on page load to override defaults
  • save updated values back to storage when the user changes their selections

Codex Task

44b93d December 13, 2025 13:28

Add dynamic formula tooltips for air damage results (#79)

  • replace inline formula breakdowns with dynamic tooltips tied to the latest calculations
  • add a popover tooltip triggered by the question mark icon for readable formula details
  • keep tooltips updated on each input change for final damage, influence, and rank points

Codex Task

ad8bac0 December 13, 2025 13:44

Update air damage calculator.

More compact UI.

#

markdown-preview

View code

Create and preview Markdown with live rendering, auto-saved drafts in local storage, copyable permalinks, and quick markdown export.

Development history (2 commits)
ede4c6 December 13, 2025 10:38

Add markdown preview tool (#76)

  • add a markdown drafting tool with preview/edit toggle using marked and DOMPurify
  • enable permalink sharing via base64-encoded query strings and clipboard copy helpers
  • provide quick markdown copying and status feedback

Codex Task

cba583b December 13, 2025 12:15

Adjust markdown preview toolbar layout (#77)

  • Move the markdown preview controls to the top of the editor area
  • Keep the control buttons on a single responsive row with smaller sizing on small screens

Codex Task

#

python-pastebin

View code

Write or paste Python code into a syntax-highlighted editor with line numbers, then copy a shareable permalink or copy the code itself to your clipboard.

Development history (1 commit)
6c7c7ec December 13, 2025 00:23

Add Python pastebin tool (#74)

  • add a Python pastebin tool with a CodeMirror editor for syntax highlighting and line numbers
  • support copying permalinks by base64-encoding the editor content into the URL
  • add a copy code shortcut for quickly sending the full snippet to the clipboard

Codex Task

#

workout-exercise-manager

View code

Create, list, and delete exercises maintained by the Cloudflare Worker workouts API. Store your API settings once, quickly add new exercises by typing their names, and prune entries you no longer use. The tool now turns your typed exercise name into a URL-safe slug automatically while keeping the display name exactly as written.

Development history (6 commits)
8f7f9f November 27, 2025 17:51

Add workout settings tool and shared navigation (#55)

  • Rebuilt the workouts Cloudflare Worker to follow the provided REST specification with bearer authentication, validated exercise/template/session endpoints, session indexing, and automatic personal-record updates.
  • Added a workout template manager tool that stores API credentials, lists templates, previews details, and creates or deletes templates through the worker API.
  • Introduced new client tools for exercise administration, session logging, session history viewing, and personal-record editing to operate against the updated API.
  • Updated the session viewer to capture API base URLs and bearer tokens, refresh templates, step through session history, and choose comparison sessions using the new navigation and settings controls.
  • Rendered each session with metadata chips, session notes, exercise blocks, and set-by-set delta comparisons to mirror the prior Workout History capabilities on top of the new API responses.
  • Rebuilt the workout template manager UI with stored API settings, template listing and previewing, time estimates, deletion controls, and structured exercise details powered by the Cloudflare Worker API.
  • Enhanced template creation with reorderable exercise blocks, AMRAP/min-max inputs, validation, and refresh after creation to mirror legacy manager capabilities on the new API.
  • Updated documentation to note that the refreshed template manager replaces the legacy Workout Manager tool.
  • Documented that the modern session viewer replaces the old Workout History tool and removed the legacy files accordingly.
  • add a dedicated Workout Settings tool to capture the API base URL and bearer token for all workout utilities
  • remove per-tool authentication inputs in the workout tools while reusing stored credentials (with legacy key fallback) and add consistent cross-links
  • embed a shared navigation card across the workout suite for quick access between tools

Codex Task

ca43b7 November 28, 2025 14:36

Use unified workout API settings (#56)

  • Save and clear the workout API base URL and bearer token only under the shared keys managed by the Workout Settings tool
  • Update all workout tools to read the unified settings without legacy key fallbacks, ensuring they depend on Workout Settings for configuration

Codex Task

3ffd9f November 28, 2025 15:07

Auto-generate workout exercise slugs (#57)

  • derive exercise slugs automatically from the provided exercise name and display the generated slug preview
  • ensure the API receives the slug plus the original exercise name as the display value, with input validation
  • update documentation to describe the automatic slug creation

Codex Task

eb3c76 November 28, 2025 17:22

Improve exercise list layout (#58)

  • make exercise list items more compact
  • sort exercises alphabetically by display name and hide slugs
  • update delete messaging to reference display names

Codex Task

7806fc November 28, 2025 19:50

Add shared header and footer to workout exercise tools (#59)

  • add the standard tools header and footer to the workout exercise manager page
  • add the standard tools header and footer to the workout exercise records page
  • align introductory text styling with the shared template styles

Codex Task

874bdc7 November 29, 2025 17:30

Tighten exercise list spacing (#63)

  • reduce spacing and padding in the exercise list to fit many items comfortably
  • shrink and soften delete buttons to be less intrusive while keeping clarity

Codex Task

#

workout-session-logger

View code

Log workouts from existing templates served by the Cloudflare Worker. With the API base URL and bearer token saved once in Workout Settings, refresh and choose a template, prefill weights/reps from the latest session, jot progression notes and RIR targets, autosave drafts locally per template, and submit the finished session (with date and overall notes) back to the new /api/templates and /api/sessions endpoints. This replaces the legacy Workout Logger tool that relied on the old API.

Development history (2 commits)
8f7f9f November 27, 2025 17:51

Add workout settings tool and shared navigation (#55)

  • Rebuilt the workouts Cloudflare Worker to follow the provided REST specification with bearer authentication, validated exercise/template/session endpoints, session indexing, and automatic personal-record updates.
  • Added a workout template manager tool that stores API credentials, lists templates, previews details, and creates or deletes templates through the worker API.
  • Introduced new client tools for exercise administration, session logging, session history viewing, and personal-record editing to operate against the updated API.
  • Updated the session viewer to capture API base URLs and bearer tokens, refresh templates, step through session history, and choose comparison sessions using the new navigation and settings controls.
  • Rendered each session with metadata chips, session notes, exercise blocks, and set-by-set delta comparisons to mirror the prior Workout History capabilities on top of the new API responses.
  • Rebuilt the workout template manager UI with stored API settings, template listing and previewing, time estimates, deletion controls, and structured exercise details powered by the Cloudflare Worker API.
  • Enhanced template creation with reorderable exercise blocks, AMRAP/min-max inputs, validation, and refresh after creation to mirror legacy manager capabilities on the new API.
  • Updated documentation to note that the refreshed template manager replaces the legacy Workout Manager tool.
  • Documented that the modern session viewer replaces the old Workout History tool and removed the legacy files accordingly.
  • add a dedicated Workout Settings tool to capture the API base URL and bearer token for all workout utilities
  • remove per-tool authentication inputs in the workout tools while reusing stored credentials (with legacy key fallback) and add consistent cross-links
  • embed a shared navigation card across the workout suite for quick access between tools

Codex Task

ca43b7a November 28, 2025 14:36

Use unified workout API settings (#56)

  • Save and clear the workout API base URL and bearer token only under the shared keys managed by the Workout Settings tool
  • Update all workout tools to read the unified settings without legacy key fallbacks, ensuring they depend on Workout Settings for configuration

Codex Task

#

workout-session-viewer

View code

Browse and compare logged workout sessions for any template using the Cloudflare Worker API. Store your API base URL and token, pick a template, move through sessions with previous/next controls, and optionally overlay set-by-set differences against another date to track progress. This replaces the old Workout History tool while using the new API endpoints.

Development history (2 commits)
8f7f9f November 27, 2025 17:51

Add workout settings tool and shared navigation (#55)

  • Rebuilt the workouts Cloudflare Worker to follow the provided REST specification with bearer authentication, validated exercise/template/session endpoints, session indexing, and automatic personal-record updates.
  • Added a workout template manager tool that stores API credentials, lists templates, previews details, and creates or deletes templates through the worker API.
  • Introduced new client tools for exercise administration, session logging, session history viewing, and personal-record editing to operate against the updated API.
  • Updated the session viewer to capture API base URLs and bearer tokens, refresh templates, step through session history, and choose comparison sessions using the new navigation and settings controls.
  • Rendered each session with metadata chips, session notes, exercise blocks, and set-by-set delta comparisons to mirror the prior Workout History capabilities on top of the new API responses.
  • Rebuilt the workout template manager UI with stored API settings, template listing and previewing, time estimates, deletion controls, and structured exercise details powered by the Cloudflare Worker API.
  • Enhanced template creation with reorderable exercise blocks, AMRAP/min-max inputs, validation, and refresh after creation to mirror legacy manager capabilities on the new API.
  • Updated documentation to note that the refreshed template manager replaces the legacy Workout Manager tool.
  • Documented that the modern session viewer replaces the old Workout History tool and removed the legacy files accordingly.
  • add a dedicated Workout Settings tool to capture the API base URL and bearer token for all workout utilities
  • remove per-tool authentication inputs in the workout tools while reusing stored credentials (with legacy key fallback) and add consistent cross-links
  • embed a shared navigation card across the workout suite for quick access between tools

Codex Task

ca43b7a November 28, 2025 14:36

Use unified workout API settings (#56)

  • Save and clear the workout API base URL and bearer token only under the shared keys managed by the Workout Settings tool
  • Update all workout tools to read the unified settings without legacy key fallbacks, ensuring they depend on Workout Settings for configuration

Codex Task

#

workout-settings

View code

Set the Cloudflare Worker API base URL and bearer token once for the workout tool suite. Save or clear the stored values in your browser so the template manager, session logger/viewer, and exercise utilities can call the API without duplicating settings.

Development history (2 commits)
8f7f9f November 27, 2025 17:51

Add workout settings tool and shared navigation (#55)

  • Rebuilt the workouts Cloudflare Worker to follow the provided REST specification with bearer authentication, validated exercise/template/session endpoints, session indexing, and automatic personal-record updates.
  • Added a workout template manager tool that stores API credentials, lists templates, previews details, and creates or deletes templates through the worker API.
  • Introduced new client tools for exercise administration, session logging, session history viewing, and personal-record editing to operate against the updated API.
  • Updated the session viewer to capture API base URLs and bearer tokens, refresh templates, step through session history, and choose comparison sessions using the new navigation and settings controls.
  • Rendered each session with metadata chips, session notes, exercise blocks, and set-by-set delta comparisons to mirror the prior Workout History capabilities on top of the new API responses.
  • Rebuilt the workout template manager UI with stored API settings, template listing and previewing, time estimates, deletion controls, and structured exercise details powered by the Cloudflare Worker API.
  • Enhanced template creation with reorderable exercise blocks, AMRAP/min-max inputs, validation, and refresh after creation to mirror legacy manager capabilities on the new API.
  • Updated documentation to note that the refreshed template manager replaces the legacy Workout Manager tool.
  • Documented that the modern session viewer replaces the old Workout History tool and removed the legacy files accordingly.
  • add a dedicated Workout Settings tool to capture the API base URL and bearer token for all workout utilities
  • remove per-tool authentication inputs in the workout tools while reusing stored credentials (with legacy key fallback) and add consistent cross-links
  • embed a shared navigation card across the workout suite for quick access between tools

Codex Task

ca43b7a November 28, 2025 14:36

Use unified workout API settings (#56)

  • Save and clear the workout API base URL and bearer token only under the shared keys managed by the Workout Settings tool
  • Update all workout tools to read the unified settings without legacy key fallbacks, ensuring they depend on Workout Settings for configuration

Codex Task

#

workout-template-manager

View code

Manage workout templates stored in the Cloudflare Worker API: configure your API base and token, list all templates, preview their blocks with time estimates, reorder and edit exercise blocks, create new templates, and delete ones you no longer need. This replaces the legacy Workout Manager tool.

Development history (2 commits)
8f7f9f November 27, 2025 17:51

Add workout settings tool and shared navigation (#55)

  • Rebuilt the workouts Cloudflare Worker to follow the provided REST specification with bearer authentication, validated exercise/template/session endpoints, session indexing, and automatic personal-record updates.
  • Added a workout template manager tool that stores API credentials, lists templates, previews details, and creates or deletes templates through the worker API.
  • Introduced new client tools for exercise administration, session logging, session history viewing, and personal-record editing to operate against the updated API.
  • Updated the session viewer to capture API base URLs and bearer tokens, refresh templates, step through session history, and choose comparison sessions using the new navigation and settings controls.
  • Rendered each session with metadata chips, session notes, exercise blocks, and set-by-set delta comparisons to mirror the prior Workout History capabilities on top of the new API responses.
  • Rebuilt the workout template manager UI with stored API settings, template listing and previewing, time estimates, deletion controls, and structured exercise details powered by the Cloudflare Worker API.
  • Enhanced template creation with reorderable exercise blocks, AMRAP/min-max inputs, validation, and refresh after creation to mirror legacy manager capabilities on the new API.
  • Updated documentation to note that the refreshed template manager replaces the legacy Workout Manager tool.
  • Documented that the modern session viewer replaces the old Workout History tool and removed the legacy files accordingly.
  • add a dedicated Workout Settings tool to capture the API base URL and bearer token for all workout utilities
  • remove per-tool authentication inputs in the workout tools while reusing stored credentials (with legacy key fallback) and add consistent cross-links
  • embed a shared navigation card across the workout suite for quick access between tools

Codex Task

ca43b7a November 28, 2025 14:36

Use unified workout API settings (#56)

  • Save and clear the workout API base URL and bearer token only under the shared keys managed by the Workout Settings tool
  • Update all workout tools to read the unified settings without legacy key fallbacks, ensuring they depend on Workout Settings for configuration

Codex Task

#

b64-encode

View code

Convert any text into Base64 in the browser. Paste content, click encode to generate the Base64 string, and copy the result with a dedicated button.

Development history (2 commits)
3423d2 November 23, 2025 23:52

Add Base64 encoder tool (#39)

  • add a standalone Base64 encoder tool with textarea input and encode/clear controls
  • display encoded output with clipboard copy button and status updates
  • document the tool in b64-encode.docs.md

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

colour-translator

View code

Choose a colour through the picker or by typing any supported format and see it instantly translated to hex, RGB, HSL, HSV/HSB, CMYK, CSS/X11 keyword matches, and ANSI names. The ANSI and CSS name fields both auto-complete as you type.

Development history (2 commits)
45d78d November 24, 2025 18:41

Refine CSS colour naming inputs (#49)

  • simplify colour input labels and remove extra helper text to tighten form spacing
  • add CSS/X11 colour name datalist autocomplete alongside ANSI suggestions
  • relabel the CSS name field and keep form rows aligned without extra gap

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

dmarc-analyser

View code

This tool allows quick inspection of a DMARC report so that I can check if my emails are being delivered properly or not.

Development history (4 commits)
ac94cf November 05, 2025 18:44

Add DMARC analyser.

547e78 November 05, 2025 18:58

Add shared styling and template for tools

2cef1b November 05, 2025 19:24

Refine shared stylesheet to match mathspp aesthetic

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

gumroad-links

View code

This tool lets you generate a Gumroad link with query parameters that let the user directly go to checkout, have a pre-selected variant or discount code applied, pick a quantity, and more.

Development history (12 commits)
494b0b November 11, 2025 23:04

Add Gumroad link builder tool (#14)

3d840c November 11, 2025 23:22

Improve Gumroad link builder inputs (#15)

74e402 November 12, 2025 00:07

Tweak form.

14b003 November 12, 2025 00:26

Add Gumroad profile product fetcher (#16)

  • add a fetch button that loads products from a Gumroad profile and surfaces them in the builder UI
  • parse profile pages for product cards to populate a dropdown and sync the selection back into the form
8377e3 November 12, 2025 00:57

Use Cloudflare worker to fetch Gumroad products.

b84063 November 12, 2025 01:03

Update link

457282 November 12, 2025 01:18

Avoid firing requests in quick succession.

a15303 November 12, 2025 20:13

Fix Gumroad product select names (#17)

  • ensure fetched Gumroad products populate the select option label
  • filter out any products missing a slug when building the dropdown
d96897 November 14, 2025 11:32

Use worker-served HTML to populate Gumroad products (#19)

  • update the Gumroad Cloudflare worker to return cached profile HTML for a username
  • adjust the Gumroad link builder to fetch that HTML and extract product links client-side

Codex Task

ad111e November 14, 2025 13:30

Simplify Gumroad links tool and remove fetch worker (#20)

  • simplify the Gumroad link builder UI to synchronise between username, product id, and product URL without fetching
  • remove the gumroad-products Cloudflare Worker and adjust deployment workflow and documentation accordingly

Codex Task

7657b9 November 14, 2025 13:58

Tweak interface.

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

image-resizer

View code

Resize any PNG, JPEG, or WebP image directly in the browser. Drop or upload a picture, then pick from quick scale presets (0.5×, 1×, 2×) or enter exact width and height targets. The tool keeps the aspect ratio locked by default, pre-fills the inputs with the uploaded image's real dimensions, and lets you download the resized PNG instantly.

Development history (2 commits)
1684f4 November 18, 2025 23:10

Add browser-based image resizer tool (#24)

Summary

  • add a new Image Resizer tool that accepts drag-and-drop uploads
  • provide quick scale presets and manual width/height controls that stay synced with the original dimensions
  • render a live preview and allow downloading the resized PNG output

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

lifting-max

View code

Estimate your one-repetition maximum from any set by entering the weight lifted in kilograms and the reps completed. The tool applies seven popular strength formulas (Epley, Brzycki, Lander, Lombardi, Mayhew et al., O'Conner, and Wathan), then highlights the median estimate and interquartile range to give a stable suggested 1RM.

Development history (2 commits)
f9b695 November 19, 2025 23:03

Add lifting max estimator tool (#25)

Summary

  • add a lifting max estimator tool to calculate 1RM using multiple common formulas
  • present median-based suggested 1RM with quartile range and per-formula table
  • include helper copy and documentation entry

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

pre-fill-testimonial

View code

This tool allows pre-filling the mathspp testimonial form and generate the corresponding URL to make it easier to share pre-filled forms.

Development history (4 commits)
6bc37d October 25, 2025 13:59

Add tool to pre-fill my testimonial form.

547e78 November 05, 2025 18:58

Add shared styling and template for tools

2cef1b November 05, 2025 19:24

Refine shared stylesheet to match mathspp aesthetic

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

qr

View code

Create custom QR codes with your own colours and styles. Paste a URL or any text, pick foreground and background colours using hex, RGB, or the built-in picker, and preview the result instantly. The QR code can be downloaded as an SVG or square PNG at 256px, 512px, or 1024px resolutions.

Development history (7 commits)
74b10d October 24, 2025 17:41

Delete Simon's tools.

2fec6e November 06, 2025 16:11

Sync colour preview backgrounds

a7e019 November 06, 2025 16:40

Only sync colour picker's background colour with current colour being used.

36444d November 06, 2025 17:56

Improve QR tool input handling and downloads

762318 November 07, 2025 21:24

Adjust QR preview layout for mobile and desktop (#8)

On mobile, the QR code preview will now be shown first and then the form to edit the QR code details.

a7876a November 07, 2025 22:05

Avoid normalizing QR hex input

As the user was typing a hex code, e.g., abc, the normalisation would automatically update the input field to #aabbcc, preventing you from writing a hex value from start to finish.

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

social-link-preview

View code

Social Link Preview Inspector audits a URL for metadata that powers link unfurls across major social platforms. Enter a page address and the tool sends the request to a dedicated Cloudflare Worker, which fetches the HTML server-side, extracts the key metadata, and returns a ready-made health report. The frontend renders the worker’s results, listing each guideline with a pass/fail indicator and simulated previews for LinkedIn, X, Facebook, Mastodon, and BlueSky. When served from tools.mathspp.com you can paste site-relative paths and they will be resolved against mathspp.com automatically, making it easy to audit pages from the same domain.

Development history (6 commits)
6674b0 November 08, 2025 21:23

Add social link metadata inspector tool (#10)

f5a031 November 10, 2025 13:58

Support site-relative URLs in social link inspector (#11)

2f1a62 November 13, 2025 14:37

Route social link preview fetches through Cloudflare worker (#18)

  • add a social-link-preview Cloudflare Worker that fetches page HTML, extracts metadata, and returns guideline results
  • rework the social link preview frontend to call the worker API and render the returned reports
  • document the new worker and hook it into the deployment workflow

Codex Task

98d945 November 14, 2025 19:20

Fix metadata report row rendering (#22)

Summary

  • render metadata health table cells with DOM APIs instead of innerHTML
  • prevent HTML-like guideline text from breaking general and platform reports

Codex Task

8853a3 November 15, 2025 17:00

Add shareable query support to social preview tool (#23)

Summary

  • add a share button that copies a shareable analysis URL and updates the browser history with the analysed link
  • restore analyses automatically when visiting with a query parameter and keep share controls in sync

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

url-encode

View code

Use this tool to convert any text into a URL-encoded string. Paste your content, click the encode button, and then copy the encoded output for safe use in query strings or path segments.

Development history (2 commits)
6a2c59 November 23, 2025 23:52

Add URL encoder tool (#40)

  • add standalone URL encoder page with input form and encode action
  • show encoded output with clipboard copy support in a second card
  • document the tool's purpose and usage

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

video-to-gif

View code

Convert uploaded or dropped video files to GIFs entirely in your browser using FFmpeg.wasm. The resulting GIF keeps the original filename (with a .gif extension) and can be downloaded instantly without any server-side processing.

Development history (7 commits)
b16944 November 24, 2025 16:05

Add video to GIF converter tool (#43)

  • add a standalone video-to-gif tool using ffmpeg.wasm for in-browser conversion
  • allow drag-and-drop uploads, fps/width controls, progress feedback, and downloads using the original filename

Codex Task

6244f3 November 24, 2025 16:13

Update ffmpeg CDN source (#44)

  • switch ffmpeg.wasm loader to the provided cdnjs script with SRI
  • align ffmpeg core path to the matching cdnjs version

Codex Task

c9e87a November 24, 2025 16:37

Fix FFmpeg loading and preview cleanup (#45)

  • ensure the FFmpeg core file loads from the correct CDN path so conversions can start
  • manage preview object URLs safely so Safari/WebKit no longer throws blob resource errors

Codex Task

949630 November 24, 2025 17:25

Refactor video-to-gif for new FFmpeg API (#46)

  • switch the video-to-gif tool to the new class-based FFmpeg API
  • load ffmpeg core assets from the updated jsdelivr CDN path and use the new utility helpers

Codex Task

e42947 November 24, 2025 17:32

Load FFmpeg util via ESM module (#48)

  • load FFmpeg and util packages via ESM imports instead of unavailable UMD CDN bundles
  • simplify FFmpeg initialization to use the imported helpers

Codex Task

b97ba5 November 24, 2025 18:43

Fix ffmpeg imports to use cdnjs (#50)

  • switch the video-to-gif tool to load @ffmpeg/ffmpeg and utils from the cdnjs ESM distribution instead of the failing jsDelivr +esm endpoint
  • reuse the ffmpeg version constant when building the core loader URLs

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

what-time-is-it-for-me

View code

This tool helps compare a chosen moment across timezones and share it with others. On load, the visitor's timezone is detected via their IP address and falls back to the browser's reported timezone.

By selecting a date, time, and timezone, you can compare it across different timezones. You can also share a link to a fixed date/time/timezone combo so others can see it in their own timezone.

Development history (6 commits)
406566 November 11, 2025 18:03

Add timezone comparison link generator (#12)

9df69f November 11, 2025 18:26

Update luxon

3be958 November 11, 2025 18:48

Improve timezone inference and documentation (#13)

baf747 November 22, 2025 12:48

Revamp time zone cards for sharing view (#31)

Summary

  • Rework the tool into a set of cards including a shared-link preview, base timezone selector, sharing form, and preview table
  • Allow changing the detected base timezone with notes about how it was inferred and update shared conversions accordingly
  • Keep the comparison table empty until populated and improve shareable link presentation

Codex Task

51a3a9 November 23, 2025 09:44

Improve timezone preview controls (#33)

  • remove the shareable link preview card
  • move the add-timezone control so new preview rows can be added
  • keep the comparison table hidden until zones are added

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task

#

word-counter

View code

Count paragraphs, lines, words, and characters in any pasted text. Paragraph and line totals only appear when there are at least two of each, making it easy to scan longer passages.

Development history (3 commits)
74b10d October 24, 2025 17:41

Delete Simon's tools.

211ad5 November 24, 2025 00:19

Add word counter tool (#41)

  • add a word counter tool with live paragraph, line, word, and character counts
  • hide paragraph and line counts until at least two are present
  • document the new tool

Codex Task

a824644 November 25, 2025 14:35

Add shared header and footer to tool pages (#53)

  • add shared site link header and attribution footer to every tool page
  • define reusable header and footer styles in the global stylesheet
  • captured updated screenshots for each tool page

Codex Task