[
  {
    "slug": "game-theory-playground",
    "title": "Game Theory Playground",
    "summary": "Twenty interactive experiments in cooperation, negotiation, information, voting, and incentives. Make a choice, inspect the results, and change the rules.",
    "status": "prototype",
    "category": "AI and learning",
    "tags": [
      "game-theory",
      "learning",
      "simulation",
      "strategy",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-09-27",
    "featured": true,
    "launch": "https://tools.tedt.org/game-theory/",
    "migrated": true,
    "image": "/img/game-theory/playground.webp",
    "imageAlt": "A wooden game board with branching paths, a bridge, and colorful playing pieces.",
    "screenshots": [],
    "features": [
      "Twenty guided experiments with editable scenarios",
      "Seeded simulations and settings-only scenario links",
      "Visible assumptions, mathematics, and transfer questions",
      "Keyboard-accessible controls and light and dark themes"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/game-theory/index.html"
  },
  {
    "slug": "inside-ai",
    "title": "Inside AI",
    "summary": "Follow a prompt through GPT-2. Inspect tokens, attention, and next-token probabilities, then try live inference in your browser.",
    "status": "prototype",
    "category": "AI and learning",
    "tags": [
      "ai",
      "learning",
      "transformer",
      "gpt-2",
      "visualization",
      "tools"
    ],
    "type": "EducationalApplication",
    "updated": "2026-09-27",
    "featured": true,
    "launch": "https://tools.tedt.org/inside-ai/",
    "migrated": true,
    "image": "/img/inside-ai/social-preview.png",
    "imageAlt": "Inside AI, an interactive guide to tokens, attention, and the next word.",
    "screenshots": [],
    "features": [
      "Guided explanations of tokens, embeddings, attention, and sampling",
      "Prepared model examples with inspectable values",
      "Optional GPT-2 inference in your browser",
      "Keyboard controls, numerical tables, and light and dark themes"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "https://github.com/TedTschopp/tools.tedt.org/tree/main/tool-src/_apps/inside-ai",
    "sourcePath": "tool-src/inside-ai/index.html"
  },
  {
    "slug": "color-chart",
    "title": "Color Chart",
    "summary": "Fullscreen palette workbench with pan/zoom, contrast matrix, token export, WebMCP tools, semantic roles, audits, previews, and source image extraction.",
    "status": "active",
    "category": "Images and design",
    "tags": [
      "color",
      "ui",
      "javascript",
      "accessibility",
      "tools",
      "css"
    ],
    "type": "webapp",
    "updated": "2026-07-18",
    "featured": true,
    "launch": "https://tools.tedt.org/color-chart.html",
    "migrated": true,
    "image": "/img/2026-01/color-tool.webp",
    "imageAlt": "Color Chart",
    "screenshots": [
      "/img/2026-01/color-tool.webp"
    ],
    "features": [
      "Pan/zoom navigation (mouse/trackpad/keyboard + on-screen controls)",
      "URL-driven palettes via ?c=",
      "Palette extraction from readable URLs, uploaded images, and pasted screenshots",
      "Swatch metadata (RGB/HSL/CMYK) + contrast cues",
      "Workbench contrast matrix for shade pair accessibility checks",
      "Design token exports for CSS, JSON, SCSS, Tailwind, and Bootstrap",
      "Semantic role mapping with color-rich role dropdowns, role token export, shared brand/status roles, and separate light/dark surface roles",
      "Palette audit, theme suggestions, comparison, color-vision simulation, dual-mode UI preview, and manual image sampling",
      "WebMCP tool registration for browser agents that expose document.modelContext"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/color-chart.html"
  },
  {
    "slug": "ai-chat-window",
    "title": "AI Chat Window",
    "summary": "Client-side AI prompt workbench with system-prompt history, streaming output, markdown rendering, and copy-ready responses.",
    "status": "active",
    "category": "Text and code",
    "tags": [
      "prompt",
      "llm",
      "ai",
      "streaming",
      "markdown",
      "developer-tools"
    ],
    "type": "webapp",
    "updated": "2026-02-22",
    "featured": true,
    "launch": "https://tools.tedt.org/ai-chat-window.html",
    "migrated": true,
    "image": "/img/2026-02/ai-chat-window-screenshot.png",
    "imageAlt": "AI Chat Window",
    "screenshots": [
      "/img/2026-02/ai-chat-window-hero.png",
      "/img/2026-02/ai-chat-window-screenshot.png",
      "/img/2026-02/ai-chat-window-screenshot-monitor.png"
    ],
    "features": [
      "Streaming responses from chat-completions APIs",
      "Optional system prompt with local history",
      "Live request/response monitor for debugging API calls",
      "Ctrl/⌘+Enter submit shortcut",
      "Markdown-rendered output and one-click copy",
      "Client-side API key storage (localStorage)",
      "URL-encoded paste auto-decode helper"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/ai-chat-window.html"
  },
  {
    "slug": "morph",
    "title": "Morph — Text Transformer",
    "summary": "A scriptable scratchpad for developers. 93 built-in text transformations — encoding, formatting, hashing, case conversion, and more — all in the browser.",
    "status": "active",
    "category": "Text and code",
    "tags": [
      "text",
      "transform",
      "encode",
      "decode",
      "hash",
      "json",
      "base64",
      "developer-tools"
    ],
    "type": "webapp",
    "updated": "2026-02-22",
    "featured": true,
    "launch": "https://tools.tedt.org/morph.html",
    "migrated": true,
    "image": "/img/2026-02/morph-tool-screenshot.png",
    "imageAlt": "Morph — Text Transformer",
    "screenshots": [
      "/img/2026-02/morph-tool-screenshot.png",
      "/img/2026-02/morph-tool-screenshot-picker.png"
    ],
    "features": [
      "93 built-in text transformations",
      "Command palette with fuzzy search (⌘/Ctrl+B)",
      "Base64, URL, HTML, JWT encoding/decoding",
      "JSON format, minify, sort, and query string conversion",
      "SHA-256, SHA-512, MD5 hashing via Web Crypto API",
      "Case conversion: camelCase, snake_case, kebab-case, Start Case",
      "Line operations: sort, shuffle, dedupe, reverse, join",
      "Undo, copy, clear, re-run last script (⌘/Ctrl+Shift+B)",
      "All processing runs entirely in the browser"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "https://github.com/IvanMathy/Boop",
    "sourcePath": "tool-src/tools/morph.html"
  },
  {
    "slug": "gradient-card",
    "title": "Gradient Card Generator",
    "summary": "Create blue-biased gradient image cards with layered patterns, blend modes, film grain, and vignette effects.",
    "status": "active",
    "category": "Images and design",
    "tags": [
      "gradient",
      "image",
      "canvas",
      "design",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-21",
    "featured": true,
    "launch": "https://tools.tedt.org/gradient-card.html",
    "migrated": true,
    "image": "/img/2026-02/gradient-card-tool-screenshot.png",
    "imageAlt": "Gradient Card Generator",
    "screenshots": [],
    "features": [
      "Interactive linear, radial, and conic gradient generation",
      "Two configurable pattern overlays with blend modes",
      "Film grain and vignette effects",
      "Settings copy/restore through JSON",
      "Local PNG export at custom resolution"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/gradient-card.html"
  },
  {
    "slug": "sloccount-web-analyzer",
    "title": "Source Lines of Code Count Web Analyzer",
    "summary": "Browser-based source line analysis with language breakdown and rough Basic COCOMO effort/cost estimates.",
    "status": "active",
    "category": "Text and code",
    "tags": [
      "sloc",
      "cocomo",
      "estimation",
      "github",
      "zip",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-21",
    "featured": true,
    "launch": "https://tools.tedt.org/sloccount-web-analyzer.html",
    "migrated": true,
    "image": "/img/2026-02/SLOCCount.png",
    "imageAlt": "Source Lines of Code Count Web Analyzer",
    "screenshots": [],
    "features": [
      "Paste code analysis with filename-based language detection",
      "Public GitHub repository scan with progress status",
      "ZIP upload analysis in browser",
      "Language-level SLOC and file count breakdown",
      "Editable Basic COCOMO assumptions and recalculation"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/sloccount-web-analyzer.html"
  },
  {
    "slug": "image-tools",
    "title": "Image Tools",
    "summary": "Client-side image editor, JPEG optimization, and SVG utilities (crop/resize/export, SVG sandbox, and embed helpers).",
    "status": "active",
    "category": "Images and design",
    "tags": [
      "image",
      "svg",
      "jpeg",
      "optimization",
      "editor",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-12",
    "featured": true,
    "launch": "https://tools.tedt.org/image-tools.html",
    "migrated": true,
    "image": "/img/2026-02/image-tools-hero.webp",
    "imageAlt": "Image Tools",
    "screenshots": [
      "/img/2026-02/image-tools-hero.webp"
    ],
    "features": [
      "Crop / resize / export (PNG + JPEG)",
      "JPEG quality comparison + size estimates",
      "Background remove (experimental)",
      "SVG sanitize + preview sandbox",
      "SVG → Raster export",
      "Raster → SVG wrapper (embeds the image in an &lt;image&gt; tag)",
      "Shareable links + local saved state",
      "Offline support after first load (service worker)"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/image-tools.html"
  },
  {
    "slug": "password-challenge",
    "title": "The Password Challenge",
    "summary": "Password entropy + time-to-crack estimator with common-password checks.",
    "status": "archived",
    "category": "Text and code",
    "tags": [
      "security",
      "passwords",
      "javascript"
    ],
    "type": "webapp",
    "updated": "2012-10-24",
    "featured": true,
    "launch": "https://tedtschopp.github.io/The-Password-Challange/",
    "migrated": false,
    "image": "/img/home/password.webp",
    "imageAlt": "The Password Challenge",
    "screenshots": [],
    "features": [
      "Dictionary checks (common passwords / words)",
      "Entropy + complexity scoring",
      "Rough time-to-crack estimate"
    ],
    "repo": "https://github.com/TedTschopp/The-Password-Challange",
    "upstream": "https://github.com/TedTschopp/The-Password-Challange",
    "sourcePath": "tool-src/_tools/password-challenge.md"
  },
  {
    "slug": "quick-study-painter",
    "title": "Quick Study Painter",
    "summary": "Paint a photo in oil, watercolor, pointillist, gouache, soft pastel, or palette knife style, then download a textured PNG. All image processing stays in your browser.",
    "status": "active",
    "category": "Images and design",
    "tags": [
      "image",
      "painting",
      "art",
      "canvas",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-10-24",
    "featured": false,
    "launch": "https://tools.tedt.org/quick-study-painter.html",
    "migrated": true,
    "image": "/img/2026-10/quick-study-painter-preview.png",
    "imageAlt": "Quick Study Painter",
    "screenshots": [
      "/img/2026-10/quick-study-painter-preview.png"
    ],
    "features": [
      "Oil bristles, watercolor washes, and pointillist dots",
      "Matte gouache, grainy soft pastel, and angular palette knife marks",
      "Three detail levels with coarse-to-fine painting passes",
      "Photo upload, drag-and-drop, and clipboard image paste",
      "Keyboard-accessible original-photo comparison",
      "Optional linen or paper texture included in PNG export",
      "Reduced-motion playback and a Finish now control",
      "Local sample scene with no photo upload or remote rendering"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/quick-study-painter.html"
  },
  {
    "slug": "social-bot-check",
    "title": "Social Bot Check",
    "summary": "Inspect public Bluesky and Mastodon accounts for reply timing, repeated text, posting volume, and other observable patterns, with visible thresholds and linked evidence.",
    "status": "active",
    "category": "Social",
    "tags": [
      "bluesky",
      "mastodon",
      "social",
      "analysis",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-10-01",
    "featured": false,
    "launch": "https://tools.tedt.org/social-bot-check.html",
    "migrated": true,
    "image": "",
    "imageAlt": "Social Bot Check",
    "screenshots": [],
    "features": [
      "Bluesky handles, DIDs, profile URLs, and post URLs",
      "Mastodon account addresses and profile URLs",
      "Up to 1,000 original posts, with boosts and reposts tracked separately",
      "Visible thresholds, sample sizes, alternative explanations, and evidence posts",
      "UTC activity chart with an accessible table of exact counts",
      "Post search, type filters, and links to original and parent posts",
      "Cancellable checks, partial-result warnings, and explicit missing-data states",
      "Shareable account check links and downloadable JSON reports",
      "Separate provider modules for adding other public social APIs",
      "No login, account changes, API keys, or server-side report storage"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/social-bot-check.html"
  },
  {
    "slug": "math-guide",
    "title": "Math Symbols, in Plain English",
    "summary": "Read mathematical symbols with spoken translations, small number examples, and explanations that start with junior-high pre-algebra.",
    "status": "prototype",
    "category": "AI and learning",
    "tags": [
      "math",
      "learning",
      "reference",
      "game-theory"
    ],
    "type": "reference",
    "updated": "2026-09-27",
    "featured": false,
    "launch": "https://tools.tedt.org/math-guide/",
    "migrated": true,
    "image": "/img/game-theory/math-guide.webp",
    "imageAlt": "Colored counting blocks, an abacus, and a balanced wooden scale beside blank paper and a pencil.",
    "screenshots": [],
    "features": [
      "Symbol meanings and how to read them aloud",
      "Worked examples using small numbers",
      "Help with the Game Theory Playground’s expert formulas"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/math-guide/index.html"
  },
  {
    "slug": "markdown-frontmatter-preview",
    "title": "Markdown Front Matter Workbench",
    "summary": "Convert formatted clipboard or file content into safe Markdown, edit complete documents, validate YAML front matter, and preview or export the result locally.",
    "status": "active",
    "category": "Text and code",
    "tags": [
      "markdown",
      "yaml",
      "frontmatter",
      "rich-text",
      "html",
      "preview",
      "editor",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-08-17",
    "featured": false,
    "launch": "https://tools.tedt.org/markdown-frontmatter-preview.html",
    "migrated": true,
    "image": "/img/2026-08/markdown-frontmatter-workbench-rich-import.webp",
    "imageAlt": "Markdown Front Matter Workbench",
    "screenshots": [
      "/img/2026-08/markdown-frontmatter-workbench-document.webp",
      "/img/2026-08/markdown-frontmatter-workbench-rich-import.webp",
      "/img/2026-08/markdown-frontmatter-workbench-mobile.webp"
    ],
    "features": [
      "Editable source pane for full Markdown + YAML front matter blobs",
      "Second-column preview with collapsible YAML metadata above rendered Markdown",
      "Live parsing with front matter fence and YAML error states",
      "Smart or plain paste behavior with front matter protection",
      "Sanitized rich-text and HTML conversion with GFM tables, lists, links, and code",
      "Clipboard, drag-and-drop, and file import for HTML, Markdown, and text",
      "Insert, append, replace, undo, copy, and Markdown download workflows",
      "Generic and optional Tedt.org publishing-readiness profiles",
      "Copy source, copy HTML, rich text export, and styled rich text export",
      "LocalStorage-only drafts and remembered UI preferences",
      "Runs entirely in the browser without uploading document content"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/markdown-frontmatter-preview.html"
  },
  {
    "slug": "traveller-character-sheet",
    "title": "Traveller Character Sheet",
    "summary": "Interactive character sheet for Mongoose Traveller 2E with dice, multi-character save/load, and export.",
    "status": "maintained",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "traveller",
      "character-sheet",
      "sci-fi",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-08-10",
    "featured": false,
    "launch": "https://tedt.org/RPG/Traveller/Character-Sheet.html",
    "migrated": false,
    "image": "/img/2026-02/traveller-character-sheet.webp",
    "imageAlt": "Traveller Character Sheet",
    "screenshots": [
      "/img/2026-02/traveller-character-sheet.webp"
    ],
    "features": [
      "Built-in dice roller (tasks + target numbers)",
      "Print-friendly layout",
      "Save and load multiple characters in this browser",
      "Export/import character data, including original-format exports"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/traveller-character-sheet.md"
  },
  {
    "slug": "ocr",
    "title": "Browser OCR Workspace",
    "summary": "Client-side OCR for PDFs and images using local PDF.js and Tesseract runtimes, with browser-cached language downloads, per-page output, and a combined full-document view.",
    "status": "beta",
    "category": "Images and design",
    "tags": [
      "ocr",
      "pdf",
      "image",
      "tesseract",
      "pdfjs",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-04-01",
    "featured": false,
    "launch": "https://tools.tedt.org/ocr.html",
    "migrated": true,
    "image": "/img/2026-04/ocr-workspace-tool-screenshot.png",
    "imageAlt": "Browser OCR Workspace",
    "screenshots": [
      "/img/2026-04/ocr-workspace-tool-screenshot.png"
    ],
    "features": [
      "Runs OCR entirely in the browser with local runtime assets and browser-cached language downloads",
      "Accepts PDFs, JPG, PNG, GIF, and pasted clipboard images",
      "Renders PDF pages before OCR so each page can be reviewed independently",
      "Produces per-page textareas plus a combined full-document output",
      "Includes an on-demand catalog of OCR language packs"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/ocr.html"
  },
  {
    "slug": "fractal",
    "title": "Mandelbrot Deep Zoom",
    "summary": "Interactive Mandelbrot explorer with smooth pan and zoom, GPU rendering, and double-float emulation for deeper navigation than a typical WebGL fractal demo.",
    "status": "active",
    "category": "AI and learning",
    "tags": [
      "fractal",
      "mandelbrot",
      "webgl",
      "math",
      "visualization",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-03-12",
    "featured": false,
    "launch": "https://tools.tedt.org/fractal.html",
    "migrated": true,
    "image": "/img/2026-03/fractal-tool-preview.svg",
    "imageAlt": "Mandelbrot Deep Zoom",
    "screenshots": [
      "/img/2026-03/fractal-tool-preview.svg"
    ],
    "features": [
      "Scroll-wheel zoom centered on the cursor",
      "Drag to pan across the set",
      "Double-click to zoom in and double-right-click to zoom out",
      "Live HUD with center point, scale, depth, and iteration count",
      "Double-float shader math for deeper zoom than standard float precision"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/fractal.html"
  },
  {
    "slug": "focus-timer",
    "title": "Focus Timer Studio",
    "summary": "A client-side countdown timer and stopwatch with productivity presets, queue-based focus cycles, theme switching, and multiple number-display styles.",
    "status": "active",
    "category": "Productivity",
    "tags": [
      "timer",
      "countdown",
      "stopwatch",
      "productivity",
      "pomodoro",
      "focus",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-03-08",
    "featured": false,
    "launch": "https://tools.tedt.org/focus-timer.html",
    "migrated": true,
    "image": "/img/2026-03/focus-timer-workspace.webp",
    "imageAlt": "Focus Timer Studio",
    "screenshots": [
      "/img/2026-03/focus-timer-workspace.webp",
      "/img/2026-03/focus-timer-presets-and-styles.webp",
      "/img/2026-03/focus-timer-builder-and-queue.webp"
    ],
    "features": [
      "Preset queues for Pomodoro, deep work, 52/17, ADHD sprint, study, writing, and ultradian rhythms",
      "Three modes: preset queue, custom countdown, and stopwatch",
      "Seven number-display styles and four color themes",
      "Queue preview with focus and break totals",
      "Keyboard controls, local preference memory, and browser-only execution"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/focus-timer.html"
  },
  {
    "slug": "qr-builder",
    "title": "QR Builder",
    "summary": "Client-side QR code generator. Paste text or a URL and get a clean, scannable QR code.",
    "status": "active",
    "category": "Text and code",
    "tags": [
      "qr",
      "qrcode",
      "url",
      "encode",
      "webapp",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-25",
    "featured": false,
    "launch": "https://tools.tedt.org/qr-builder.html",
    "migrated": true,
    "image": "/img/2026-02/qr-builder-tool-screenshot.png",
    "imageAlt": "QR Builder",
    "screenshots": [
      "/img/2026-02/qr-builder-tool-screenshot.png"
    ],
    "features": [
      "Instant QR preview as you type",
      "Keyboard-friendly: ⌘/Ctrl+Enter to render",
      "Configurable: size, error correction, foreground/background colors",
      "High-contrast, scannable QR tile",
      "Runs entirely in the browser (no server)"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/qr-builder.html"
  },
  {
    "slug": "gamma-world-map-275feet",
    "title": "Gamma World Map (275 ft water level increase)",
    "summary": "Printable/scrollable map  that shows a 275 foot increase in sea level.",
    "status": "maintained",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "gamma-world",
      "map",
      "hex",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-12",
    "featured": false,
    "launch": "https://tedtschopp.github.io/Gamma-World/Map%20275feet.html",
    "migrated": false,
    "image": "/img/2026-02/gamma-world-map-275feet.webp",
    "imageAlt": "Gamma World Map (275 ft water level increase)",
    "screenshots": [
      "/img/2026-02/gamma-world-map-275feet.webp"
    ],
    "features": [
      "Large map laid out as a grid",
      "275-feet sea level increase"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/gamma-world-map-275feet.md"
  },
  {
    "slug": "islands",
    "title": "Islands",
    "summary": "Seeded island/terrain simulation with overlays and keyboard controls.",
    "status": "maintained",
    "category": "Maps and RPG",
    "tags": [
      "procedural",
      "terrain",
      "simulation",
      "canvas",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-12",
    "featured": false,
    "launch": "https://islands.tedt.org/",
    "migrated": false,
    "image": "/img/2026-02/islands.webp",
    "imageAlt": "Islands",
    "screenshots": [
      "/img/2026-02/islands.webp"
    ],
    "features": [
      "Seeded generation (shareable via ?seed=…)",
      "Keyboard-driven stepping and speed controls",
      "Overlays for terrain/coastlines/rivers",
      "Hover readouts for cell + elevation"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/islands.md"
  },
  {
    "slug": "mastodon-bot-map-generator",
    "title": "Mastodon Bot: Map Generator",
    "summary": "A lightweight TTRPG wilderness map stream inspired by DMG Appendix B.",
    "status": "active",
    "category": "Maps and RPG",
    "tags": [
      "mastodon",
      "bot",
      "rpg",
      "procedural",
      "mapping",
      "tools"
    ],
    "type": "bot",
    "updated": "2026-02-12",
    "featured": false,
    "launch": "https://tschopp.net/@mapbot",
    "migrated": false,
    "image": "/img/home/RPG-Map.webp",
    "imageAlt": "Mastodon Bot: Map Generator",
    "screenshots": [
      "/img/home/RPG-Map.webp"
    ],
    "features": [
      "Generates a simple wilderness traversal stream",
      "Uses a procedural terrain table inspired by classic DMG Appendix B"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/mastodon-bot-map-generator.md"
  },
  {
    "slug": "mastodon-bot-random-board-game-night",
    "title": "Mastodon Bot: Random Board Game Night",
    "summary": "Hourly board game night ideas generated from procedural tables.",
    "status": "active",
    "category": "Social",
    "tags": [
      "mastodon",
      "bot",
      "games",
      "procedural",
      "text-generation",
      "tools"
    ],
    "type": "bot",
    "updated": "2026-02-12",
    "featured": false,
    "launch": "https://tschopp.net/@bots",
    "migrated": false,
    "image": "/img/home/Ted-Tschopp-board-game-table.webp",
    "imageAlt": "Mastodon Bot: Random Board Game Night",
    "screenshots": [
      "/img/home/Ted-Tschopp-board-game-table.webp"
    ],
    "features": [
      "Posts a new board game night prompt regularly",
      "Powered by the Procedural Text Generation tables"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/mastodon-bot-random-board-game-night.md"
  },
  {
    "slug": "outage-map",
    "title": "Outage Map",
    "summary": "Location-based outage status prototype with map + notifications.",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "maps",
      "geolocation",
      "notifications",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-12",
    "featured": false,
    "launch": "https://tedtschopp.github.io/Outage-Map/",
    "migrated": false,
    "image": "/img/2026-02/outage-map.webp",
    "imageAlt": "Outage Map",
    "screenshots": [
      "/img/2026-02/outage-map.webp"
    ],
    "features": [
      "Geolocation with a graceful fallback location",
      "Map view with OpenStreetMap tiles",
      "Mock outage status logic for UI prototyping",
      "Optional notifications (where supported)"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/outage-map.md"
  },
  {
    "slug": "procedural-text-generation",
    "title": "Procedural Text Generation",
    "summary": "Generative text web app with 100+ random tables for brainstorming and storytelling.",
    "status": "maintained",
    "category": "Text and code",
    "tags": [
      "text",
      "procedural",
      "random",
      "tables",
      "storytelling",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-12",
    "featured": false,
    "launch": "https://randomtables.tedt.org/",
    "migrated": false,
    "image": "/img/home/Text-Generation.webp",
    "imageAlt": "Procedural Text Generation",
    "screenshots": [
      "/img/home/Text-Generation.webp"
    ],
    "features": [
      "100+ tables of objects and qualities",
      "Composable results for prompts, NPCs, items, and world details",
      "Designed as a building block for automated storytelling"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/procedural-text-generation.md"
  },
  {
    "slug": "random-star-constellations",
    "title": "Random Star Constellations",
    "summary": "Procedurally generated star constellations (random-constellations.tedt.org).",
    "status": "maintained",
    "category": "Maps and RPG",
    "tags": [
      "generative",
      "stars",
      "constellations",
      "procedural",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-02-12",
    "featured": false,
    "launch": "https://random-constellations.tedt.org/",
    "migrated": false,
    "image": "/img/home/Ted_Tschopp_an_image_of_a_sky_filled_with_stars_on_a_dark_night.webp",
    "imageAlt": "Random Star Constellations",
    "screenshots": [
      "/img/home/Ted_Tschopp_an_image_of_a_sky_filled_with_stars_on_a_dark_night.webp"
    ],
    "features": [
      "Generates randomized constellation layouts",
      "Built as a quick creative generator"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/random-star-constellations.md"
  },
  {
    "slug": "ipfs-in-the-browser",
    "title": "IPFS in the Browser",
    "summary": "Creates a temporary IPFS node in your browser and demos fetching a file via CID.",
    "status": "prototype",
    "category": "Text and code",
    "tags": [
      "ipfs",
      "javascript",
      "web3",
      "demo",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-01-04",
    "featured": false,
    "launch": "https://tools.tedt.org/ipfs/",
    "migrated": true,
    "image": "/img/2026-02/ipfs-in-browser.webp",
    "imageAlt": "IPFS in the Browser",
    "screenshots": [
      "/img/2026-02/ipfs-in-browser.webp"
    ],
    "features": [
      "Spins up a transient IPFS node in-browser",
      "Exposes the node as window.node for console exploration",
      "Example: cat a CID and display it as an image"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/ipfs/index.html"
  },
  {
    "slug": "mastodon-embed-timeline",
    "title": "Mastodon Timeline Embed",
    "summary": "Embeddable Mastodon timelines (profile/hashtag/local) using a client-side widget.",
    "status": "maintained",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed",
      "timeline",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-01-04",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/",
    "migrated": true,
    "image": "/img/2026-02/mastodon-embed-timeline.webp",
    "imageAlt": "Mastodon Timeline Embed",
    "screenshots": [
      "/img/2026-02/mastodon-embed-timeline.webp"
    ],
    "features": [
      "Profile / hashtag / local timeline modes",
      "Light/dark theme (auto via prefers-color-scheme)",
      "Pure client-side embed (fetches from Mastodon API)"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/mastodon/index.html"
  },
  {
    "slug": "traveller-ship-sheet",
    "title": "Traveller Ship Sheet",
    "summary": "Interactive ship sheet for Mongoose Traveller 2E with save/load and export/import.",
    "status": "maintained",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "traveller",
      "ship",
      "sci-fi",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2026-01-02",
    "featured": false,
    "launch": "https://tedt.org/RPG/Traveller/Ship-Sheet.html",
    "migrated": false,
    "image": "/img/2026-02/traveller-ship-sheet.webp",
    "imageAlt": "Traveller Ship Sheet",
    "screenshots": [
      "/img/2026-02/traveller-ship-sheet.webp"
    ],
    "features": [
      "Ship details and systems tracking",
      "Save/load and reset",
      "Export/import ship data"
    ],
    "repo": "",
    "upstream": "",
    "sourcePath": "tool-src/_tools/traveller-ship-sheet.md"
  },
  {
    "slug": "rpg-world-map-generator",
    "title": "Fractal World Generator",
    "summary": "Seeded fractal world map generator with palettes, projections, and erosion.",
    "status": "maintained",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "map",
      "generator",
      "fractal",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2025-12-25",
    "featured": false,
    "launch": "https://tools.tedt.org/RPG/world-map.html",
    "migrated": true,
    "image": "/img/2026-02/rpg-world-map.webp",
    "imageAlt": "Fractal World Generator",
    "screenshots": [
      "/img/2026-02/rpg-world-map.webp"
    ],
    "features": [
      "Seeded world generation (shareable via URL parameters)",
      "Multiple projections and color palettes",
      "Erosion + additional simulation layers"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/RPG/world-map.html"
  },
  {
    "slug": "hex-test-direct",
    "title": "Direct Hex Test",
    "summary": "Standalone test page for the multi-scale hex overlay canvas (pan/zoom + legend).",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "hexcrawl",
      "javascript",
      "canvas",
      "visualization",
      "testing"
    ],
    "type": "webapp",
    "updated": "2025-08-07",
    "featured": false,
    "launch": "https://tools.tedt.org/hex-test-direct.html",
    "migrated": true,
    "image": "/img/2025-08/hex-map-seeded-frontier.webp",
    "imageAlt": "Direct Hex Test",
    "screenshots": [
      "/img/2025-08/hex-map-seeded-frontier.webp"
    ],
    "features": [
      "Renders 36/6/1-mile layered hex grids on one canvas",
      "Pan + wheel/pinch zoom controls with reset",
      "Intended for verifying layout sizing and rendering fixes"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/tools/hex-test-direct.html"
  },
  {
    "slug": "rpg-tile-map-viewer",
    "title": "Tile Map Viewer",
    "summary": "Browse a generated tile map with a mini-map + globe projection view.",
    "status": "maintained",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "map",
      "tiles",
      "d3",
      "javascript",
      "tools"
    ],
    "type": "webapp",
    "updated": "2025-03-31",
    "featured": false,
    "launch": "https://tools.tedt.org/RPG/tile-map-viewer.html",
    "migrated": true,
    "image": "/img/2026-02/rpg-tile-map-viewer.webp",
    "imageAlt": "Tile Map Viewer",
    "screenshots": [
      "/img/2026-02/rpg-tile-map-viewer.webp"
    ],
    "features": [
      "Tile map canvas with pixel-perfect rendering",
      "Mini-map and globe/projection view",
      "Keyboard navigation and map type controls"
    ],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "upstream": "",
    "sourcePath": "tool-src/RPG/tile-map-viewer.html"
  },
  {
    "slug": "osr-tools-osr-adventurers-guild-bd-and-d",
    "title": "Adventurers Guild (BD&D)",
    "summary": "Generate classic BD&D-style adventurers for listings or character-sheet prep.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-adventurers-guild-bd-and-d.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-adventurers-guild-bd-and-d.html"
  },
  {
    "slug": "osr-tools-osr-adventurers-guild-osric",
    "title": "Adventurers Guild (OSRIC)",
    "summary": "Generate OSRIC-style adventurers with listing or sheet-style output.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-adventurers-guild-osric.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-adventurers-guild-osric.html"
  },
  {
    "slug": "osr-tools-osr-adventuring-gear",
    "title": "Adventuring Gear",
    "summary": "Generate random fantasy adventuring gear packs.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-adventuring-gear.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-adventuring-gear.html"
  },
  {
    "slug": "osr-tools-osr-alchemy-recipes",
    "title": "Alchemy Recipes",
    "summary": "Generate alchemy recipes and reagent price sheets by game system.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-alchemy-recipes.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-alchemy-recipes.html"
  },
  {
    "slug": "osr-tools-osr-alchemy-shelf",
    "title": "Alchemy Shelf",
    "summary": "Generate items for an alchemy shelf or wizard laboratory.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-alchemy-shelf.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-alchemy-shelf.html"
  },
  {
    "slug": "osr-tools-osr-area-builder",
    "title": "Area Builder",
    "summary": "Generate a compact adventure area with encounters, traps, atmosphere, and loot controls for multiple game systems.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-area-builder.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-area-builder.html"
  },
  {
    "slug": "osr-tools-osr-basic-adventurers-guild",
    "title": "Basic Adventurers Guild",
    "summary": "Generate Labyrinth Lord adventurers with listing or sheet-style output.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-basic-adventurers-guild.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-basic-adventurers-guild.html"
  },
  {
    "slug": "osr-tools-osr-basic-spell-books",
    "title": "Basic Spell Books",
    "summary": "Build custom Labyrinth Lord spell listings with flexible sorting, filtering, and optional spell-reference details.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-basic-spell-books.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-basic-spell-books.html"
  },
  {
    "slug": "osr-tools-osr-books-and-tomes",
    "title": "Books Tomes",
    "summary": "Generate random fantasy books and unusual magical tomes.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-books-and-tomes.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-books-and-tomes.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-post-and-comments-tree-view-v2",
    "title": "Collapsable Toot Tree View of Comments Embed",
    "summary": "\") != 0) { html = \" \" + html + \"",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-post-and-comments-tree-view-v2.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-post-and-comments-tree-view-v2.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-post-and-comments-tree-view",
    "title": "Collapsable Toot Tree View of Comments Embed",
    "summary": "\") != 0) { html = \" \" + html + \"",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-post-and-comments-tree-view.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-post-and-comments-tree-view.html"
  },
  {
    "slug": "osr-tools-osr-combat-dice-sheets",
    "title": "Combat Dice Sheets",
    "summary": "Pre-roll Tunnels Trolls combat dice sets across a configurable range for faster play at the table.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-combat-dice-sheets.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-combat-dice-sheets.html"
  },
  {
    "slug": "osr-tools-osr-index",
    "title": "Converted Tools Launcher | Wizardawn",
    "summary": "Open any converted Wizardawn tool from one place.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-index.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-index.html"
  },
  {
    "slug": "osr-tools-osr-dungeon-builder",
    "title": "Dungeon Builder",
    "summary": "Build a dungeon or cavern layout with source-tile mix, room indexing, and adventure content generation controls.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-dungeon-builder.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-dungeon-builder.html"
  },
  {
    "slug": "osr-tools-osr-dungeon-delve",
    "title": "Dungeon Delve",
    "summary": "Create a configurable dungeon delve with room-by-room encounters, traps, loot, and atmosphere hints.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-dungeon-delve.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-dungeon-delve.html"
  },
  {
    "slug": "osr-tools-osr-dungeon-maps",
    "title": "Dungeon Maps",
    "summary": "Generate random cavernous, dungeon, or side-view maps from curated geomorph tile sources.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-dungeon-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-dungeon-maps.html"
  },
  {
    "slug": "osr-tools-osr-encounter-creation",
    "title": "Encounter Creation",
    "summary": "Create encounter sets based on game system, party strength, selected enemy, and optional treasure.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-encounter-creation.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-encounter-creation.html"
  },
  {
    "slug": "osr-tools-osr-fantasy-names",
    "title": "Fantasy Names",
    "summary": "Select one or more categories and generate a batch of names for each category.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-fantasy-names.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-fantasy-names.html"
  },
  {
    "slug": "osr-tools-osr-fantasy-settlements-ttown",
    "title": "Fantasy Settlements",
    "summary": "Generate a random Tunnels Trolls settlement with configurable map size, institutions, stock levels, and resident kindred.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-fantasy-settlements-ttown.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-fantasy-settlements-ttown.html"
  },
  {
    "slug": "osr-tools-osr-fantasy-settlements-wtown",
    "title": "Fantasy Settlements",
    "summary": "Generate fantasy settlements with citizens, institutions, and power structure.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-fantasy-settlements-wtown.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-fantasy-settlements-wtown.html"
  },
  {
    "slug": "osr-tools-osr-fantasy-settlements",
    "title": "Fantasy Settlements",
    "summary": "Generate fantasy settlements with race-aware population and civic institutions.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-fantasy-settlements.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-fantasy-settlements.html"
  },
  {
    "slug": "osr-tools-osr-futuristic-maze",
    "title": "Futuristic Maze",
    "summary": "Generate exodus or crashed spaceships for fantasy parties with configurable encounter and loot behavior.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-futuristic-maze.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-futuristic-maze.html"
  },
  {
    "slug": "start-page",
    "title": "Hestia",
    "summary": "Hestia. A browser-based experiment from the tools collection.",
    "status": "prototype",
    "category": "Images and design",
    "tags": [
      "productivity",
      "dashboard"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/start-page/",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/start-page/index.html"
  },
  {
    "slug": "algorithmic-art-kintsugi-currents",
    "title": "Kintsugi Currents — Generative Art Viewer",
    "summary": "Kintsugi Currents — Generative Art Viewer. A browser-based experiment from the tools collection.",
    "status": "prototype",
    "category": "Images and design",
    "tags": [
      "experiment"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/algorithmic-art/kintsugi-currents/",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/algorithmic-art/kintsugi-currents/index.html"
  },
  {
    "slug": "mastodon-hashtag",
    "title": "Mastodon embed timeline",
    "summary": "Mastodon embed timeline",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/hashtag.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/hashtag.html"
  },
  {
    "slug": "mastodon-local",
    "title": "Mastodon embed timeline",
    "summary": "Mastodon embed timeline",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/local.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/local.html"
  },
  {
    "slug": "mastodon-multiple",
    "title": "Mastodon embed timeline",
    "summary": "Mastodon embed timeline",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/multiple.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/multiple.html"
  },
  {
    "slug": "mastodon-profile",
    "title": "Mastodon embed timeline",
    "summary": "Mastodon embed timeline",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/profile.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/profile.html"
  },
  {
    "slug": "mastodon-theme",
    "title": "Mastodon embed timeline",
    "summary": "Mastodon embed timeline",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/theme.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/theme.html"
  },
  {
    "slug": "osr-tools-osr-monster-listing",
    "title": "Monster Listing",
    "summary": "Generate sorted monster listings by name/level, list/terrain grouping, and table/stat-block appearance.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-monster-listing.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-monster-listing.html"
  },
  {
    "slug": "osr-tools-osr-mutant-adventure",
    "title": "Mutant Adventure",
    "summary": "Generate post-apocalyptic buildings, ruined cities, and derelict ships with configurable encounters, traps, contents, and loot.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-mutant-adventure.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-mutant-adventure.html"
  },
  {
    "slug": "osr-tools-osr-mutant-settlements",
    "title": "Mutant Settlements",
    "summary": "Generate mutant settlements with citizens, businesses, and officials.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-mutant-settlements.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-mutant-settlements.html"
  },
  {
    "slug": "onboard",
    "title": "Party Onboarding",
    "summary": "A themed onboarding screen for a social network built for Dungeons and Dragons players.",
    "status": "prototype",
    "category": "Text and code",
    "tags": [
      "experiment"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/onboard.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/onboard.html"
  },
  {
    "slug": "onboard-pro",
    "title": "PartyForge Onboarding",
    "summary": "Find your next campaign, party, and tavern talk.",
    "status": "prototype",
    "category": "Text and code",
    "tags": [
      "experiment"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/onboard-pro.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/onboard-pro.html"
  },
  {
    "slug": "osr-tools-osr-piles-of-coins",
    "title": "Piles of Coins",
    "summary": "Generate random fantasy coin piles by game system and target gold value range.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-piles-of-coins.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-piles-of-coins.html"
  },
  {
    "slug": "osr-tools-osr-potion-appearances",
    "title": "Potion Appearances",
    "summary": "Generate potion appearances or full potion lists by game system.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-potion-appearances.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-potion-appearances.html"
  },
  {
    "slug": "osr-tools-osr-random-area",
    "title": "Random Area",
    "summary": "Create random areas with encounters, traps, contents, and loot.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-random-area.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-random-area.html"
  },
  {
    "slug": "osr-tools-osr-random-listings",
    "title": "Random Listings",
    "summary": "Generate list-oriented data snippets for containers, decorations, traps, and treasure sets across fantasy, post-apocalyptic, sci-fi, and T T variants.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-random-listings.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-random-listings.html"
  },
  {
    "slug": "osr-tools-osr-random-treasure",
    "title": "Random Treasure",
    "summary": "Create batches of treasure sets with valuables/relic weighting, list mode, and system-specific options.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-random-treasure.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-random-treasure.html"
  },
  {
    "slug": "osr-tools-osr-random-treasure-maps",
    "title": "Random Treasure Maps",
    "summary": "Generate random treasure map descriptions ranked by level.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-random-treasure-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-random-treasure-maps.html"
  },
  {
    "slug": "osr-tools-osr-ruined-city-maps",
    "title": "Ruined City Maps",
    "summary": "Generate random abandoned city maps from ruined-city geomorph tiles with optional keyed numbering.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-ruined-city-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-ruined-city-maps.html"
  },
  {
    "slug": "osr-tools-osr-scavenging-lists",
    "title": "Scavenging Lists",
    "summary": "Create building and corpse scavenging item lists for post-apocalyptic and horror play.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-scavenging-lists.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-scavenging-lists.html"
  },
  {
    "slug": "osr-tools-osr-sci-fi-enemies",
    "title": "Sci-Fi Enemies",
    "summary": "Generate random robots and mutants/aliens for sci-fi and post-apocalyptic campaigns.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-sci-fi-enemies.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-sci-fi-enemies.html"
  },
  {
    "slug": "osr-tools-osr-sci-fi-maps",
    "title": "Sci-Fi Maps",
    "summary": "Generate random building, spaceship, or exodus-ship maps with optional area numbering and color mode.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-sci-fi-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-sci-fi-maps.html"
  },
  {
    "slug": "osr-tools-osr-settlement-maps",
    "title": "Settlement Maps",
    "summary": "Generate random city, keep, or village layouts with optional keyed building numbering.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-settlement-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-settlement-maps.html"
  },
  {
    "slug": "osr-tools-osr-sewer-maps",
    "title": "Sewer Maps",
    "summary": "Generate random sewer networks with configurable room density and optional keyed area numbering.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-sewer-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-sewer-maps.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-single-post",
    "title": "Simple Toot Embed",
    "summary": "Simple Toot Embed. A browser-based experiment from the tools collection.",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-single-post.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-single-post.html"
  },
  {
    "slug": "osr-tools-osr-spell-books",
    "title": "Spell Books",
    "summary": "Build custom OSRIC / Advanced Edition fantasy spell listings with sorting, filters, and detailed spell cards.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-spell-books.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-spell-books.html"
  },
  {
    "slug": "osr-tools-osr-suburb-maps",
    "title": "Suburb Maps",
    "summary": "Generate random suburb map layouts from geomorph tiles at your chosen dimensions.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-suburb-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-suburb-maps.html"
  },
  {
    "slug": "osr-tools-osr-the-apocalypse",
    "title": "The Apocalypse",
    "summary": "Generate apocalypse reference tables for solitaire play or GM prep.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-the-apocalypse.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-the-apocalypse.html"
  },
  {
    "slug": "osr-tools-osr-the-dungeon-door",
    "title": "The Dungeon Door",
    "summary": "Generate reference tables for encounters, traps, treasure, and dungeon-support tools for fast play.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-the-dungeon-door.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-the-dungeon-door.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-users-recent-posts-mini",
    "title": "Toot Account Embed",
    "summary": "','').replace(' ','').indexOf('@') == 0) { // don't show posts that look like replies either continue; } else { // no special code needed } var instanceName = arr.url.replaceAll('http://','').replaceAll('https://','').split('/')[0]; // var displayToot; // if (",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-users-recent-posts-mini.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-users-recent-posts-mini.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-users-recent-posts-normal",
    "title": "Toot Account Embed",
    "summary": "','').replace(' ','').indexOf('@') == 0) { // don't show posts that look like replies either continue; } else { // no special code needed } var instanceName = arr.url.replaceAll('http://','').replaceAll('https://','').split('/')[0]; // var displayToot; // if (",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-users-recent-posts-normal.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-users-recent-posts-normal.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-post-and-comments-normal",
    "title": "Toot Comments Embed",
    "summary": "') != 0) { html = ' ' + html + '",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-post-and-comments-normal.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-post-and-comments-normal.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-article-view",
    "title": "Toot Thread Embed",
    "summary": "Toot Thread Embed. A browser-based experiment from the tools collection.",
    "status": "prototype",
    "category": "Images and design",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-article-view.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-article-view.html"
  },
  {
    "slug": "mastodon-embedtoot-embed-post-and-replies-thread",
    "title": "Toot Thread Embed",
    "summary": "Toot Thread Embed. A browser-based experiment from the tools collection.",
    "status": "prototype",
    "category": "Social",
    "tags": [
      "mastodon",
      "social",
      "embed"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/mastodon/EmbedToot/embed-post-and-replies-thread.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/mastodon/EmbedToot/embed-post-and-replies-thread.html"
  },
  {
    "slug": "vector-trace",
    "title": "Vector Trace (Local)",
    "summary": "Single-page bitmap → SVG workspace (client-side only).",
    "status": "prototype",
    "category": "Images and design",
    "tags": [
      "image",
      "svg",
      "vector"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/vector-trace/",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/vector-trace/index.html"
  },
  {
    "slug": "osr-tools-osr-wandering-enemies",
    "title": "Wandering Enemies",
    "summary": "Generate random encounter table entries by game, level, terrain, and source options.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-wandering-enemies.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-wandering-enemies.html"
  },
  {
    "slug": "osr-tools-osr-world-adventure",
    "title": "World Adventure",
    "summary": "Generate one detailed world-hex adventure region with landmarks, exploration sites, hazards, and encounter-ready content.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-world-adventure.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-world-adventure.html"
  },
  {
    "slug": "osr-tools-osr-world-maps",
    "title": "World Maps",
    "summary": "Generate a randomized world or underworld hex map with configurable style, climate, borders, and map information.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-world-maps.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-world-maps.html"
  },
  {
    "slug": "osr-tools-osr-zombie-hordes",
    "title": "Zombie Hordes",
    "summary": "Create random zombie groups for survival-horror play, including Necropalyx and generic modes.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "rpg",
      "osr",
      "generator"
    ],
    "type": "webapp",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/osr-tools/osr-zombie-hordes.html",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/osr-tools/osr-zombie-hordes.html"
  },
  {
    "slug": "name-generator-research",
    "title": "Name Generator Research",
    "summary": "An unfinished name-generator project: a preserved reference list and extraction notes. The referenced generators remain on their original websites.",
    "status": "prototype",
    "category": "Maps and RPG",
    "tags": [
      "names",
      "reference",
      "rpg"
    ],
    "type": "reference",
    "updated": "",
    "featured": false,
    "launch": "https://tools.tedt.org/name-generator-research/",
    "migrated": true,
    "image": "",
    "screenshots": [],
    "features": [],
    "repo": "https://github.com/TedTschopp/tools.tedt.org",
    "sourcePath": "tool-src/tools/Under-Development-Name-Generator/Name-Generator.html"
  }
]
