Latest
Added
functions/api/generate.jsandfunctions/api/youtube-transcript.js: the backend now runs as Cloudflare Pages Functions, with a health check atGET /api/generate- Server-side rate-limit backstop using Upstash Redis (8 maps a day and 30 a week per IP), switched on only when its keys are set
.dev.vars.examplelisting the environment variables, and a rewrittenREADME.mdrobots.txtandsitemap.xml, with AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) allowedllms.txtandllms-full.txtso AI assistants can understand the site and its presetsmanifest.jsonwith maskable icons (icons/icon-maskable-192.png,icons/icon-maskable-512.png) and app shortcuts, so the site can be installedsw.jsservice worker: caches the app shell, the offline page and the presets, network-first for pages, cache-first for assets, and never caches the API_headers(security headers, cache rules, noindex for offline and 404),_redirects(clean URLs) and_routes.json(Functions run only for/api/*).well-known/security.txt,ads.txtandhumans.txt- IndexNow support: a key file in the site root and
indexnow-submit.shto notify search engines of new URLs - Pricing and Performance links, plus Presets, in the header and footer
Fixed
- About, FAQ, Pricing, Performance, Changelog, Offline and 404 pages now describe the mind map maker, with wording left over from a different product removed
- Page addresses, canonical links and sharing tags now use
mindmap.thunderstudy.indevs.inand clean URLs without.html - A broken header link to a page that does not exist is gone from the navigation
- The server API no longer depends on a file on disk for its limits, which cannot work on Cloudflare
Improved
- The FAQ now has 16 answers covering cost, sources, Quick overview vs Deep dive, limits, saved maps, exports, PDF limits, privacy and offline use
- The API now only accepts calls from this site
- Every page links the web app manifest and registers the service worker
Removed
- The Vercel-style
api/folder and the file-based rate limit - The unused
web-app-manifest-192x192.pngandweb-app-manifest-512x512.pngicons, leaving one icon set in/icons