A PUBLIC JSON ORACLE BY SOPHIE'S SWAMP MIT

SWAMP TAROT

15 archetypes from the bog. one JSON. use anywhere.

A small public deck — The Heron, The Bog, The Fog, Frog King — drop it into any app that needs a daily card, a decision aid, or a quiet "I'm stuck, give me a metaphor" button. Self-contained SVG art, MIT-licensed, no dependencies.

15 archetypes
Inline SVG art
~9 KB
MIT licensed
JSON https://sophieren.com/swamp-tarot/deck.json
Use it ↓ Try interactive →

The deck

click any card to see its full reading

Use it in your app

three patterns — copy whichever fits

1. Random card (vanilla JS)

const deck = await fetch('https://sophieren.com/swamp-tarot/deck.json').then(r => r.json());
const card = deck.cards[Math.floor(Math.random() * deck.cards.length)];

console.log(card.name);     // "THE HERON"
console.log(card.meaning);  // "patience that catches"
console.log(card.reading);  // "You are not slow. ..."

// drop the inline SVG into any container
document.getElementById('art').innerHTML = card.svg;

2. Daily card (same card all day for the same visitor)

const deck = await fetch('https://sophieren.com/swamp-tarot/deck.json').then(r => r.json());

// seed by date — rotates at midnight in the visitor's local timezone
const d = new Date();
const seed = d.getFullYear() * 1000 + d.getMonth() * 40 + d.getDate();
const card = deck.cards[seed % deck.cards.length]; // same all day

3. Cherry-pick by key (for a specific page / mood)

const deck = await fetch('https://sophieren.com/swamp-tarot/deck.json').then(r => r.json());

// pick a specific archetype
const heron     = deck.cards.find(c => c.key === 'heron');
const fog       = deck.cards.find(c => c.key === 'fog');
const dragonfly = deck.cards.find(c => c.key === 'dragonfly');

// three-card spread
const spread = ['past', 'present', 'future'].map(() =>
  deck.cards[Math.floor(Math.random() * deck.cards.length)]
);

Schema

stable across minor versions

The JSON is a single object with metadata and a cards array.

{
  "name": string, // "Swamp Tarot"
  "version": string, // semver, e.g. "1.0.0"
  "author": string,
  "source": string, // canonical URL
  "license": string, // "MIT"
  "description": string,
  "cards": [
    {
      "number"string, // Roman numeral, e.g. "I"
      "key":     string, // kebab-case id, stable
      "name":    string, // display name
      "meaning"string, // single-line motto
      "reading"string, // one paragraph of guidance
      "svg":     string  // inline SVG, 100x100 viewBox
    }, ...
  ]
}

Stable contract: key values never change once published. New cards may be added at minor versions. Field renames or removals only at majors.

MIT licensed

Use it in commercial work, fork the readings, swap the art, build a paid product around it — all fine. Attribution is appreciated but not required.

If you do credit, this is plenty:
Swamp Tarot by Sophie — sophieren.com/swamp-tarot

Built something with this?

Show me. Or feed the cats. Both are appreciated.

🧋 TREAT THE SWAMP →

Versions

v1.0.0 · 2026-05-29 · initial release with 15 archetypes (The Heron, The Bog, The Lure, The Mirror, Frog King, The Lily, The Fog, The Croak, The Tide, The Moss, The Reed, The Snake, The Lantern, The Dragonfly, The Stump).