🍜 pyflo.com ← Home

Free embed widgets, one line each.

Drop a daily-rotating "On This Day in History" card on any website — travel blog, school site, museum landing page, history footer. No JavaScript dependency, no signup, no rate limit. Powered by Pyflo's editorial atlas: 1,601 historical events spanning 2100 BCE to the present, refreshed every midnight UTC. All three widgets support ?theme=light for cream-on-ink hosts.

On This Day in History

Daily card with three to four editorial events from the same calendar date, drawn from cities around the world. Refreshes automatically — the host page never has to update it.

340 × 440 px ~5 KB HTML No JS No trackers
Paste into your HTML
<iframe src="https://pyflo.com/embed/on-this-day"
        width="340" height="440"
        title="Today in History — pyflo.com"
        style="border:0;border-radius:8px;background:#100d0b;"
        loading="lazy"></iframe>
Or pin a specific date
<iframe src="https://pyflo.com/embed/on-this-day/06-06"
        width="340" height="440"
        title="June 6 in History"
        style="border:0;border-radius:8px;background:#100d0b;"></iframe>

Today's URL: /embed/on-this-day/07-13

JSON feed: GET /api/on-this-day.json — for custom rendering, build tools, RSS converters.

Attribution: the embed's footer carries a "via pyflo" link. Don't strip it. Otherwise, paste anywhere.

How it stays fresh: embed reads today's UTC date on each load. Cards rotate at midnight UTC without redeploy.

Atlas Time Machine

A drag-scrubbable world map of human history. Pull the slider from 3,000 BCE forward and watch event pins fade in as their year arrives. Click any pin to read the full story on pyflo.com. The same interactive map that's the centerpiece of /explore, stripped to just the map + scrubber so it fits in a sidebar or full-width hero block.

Full-width, 540 px tall 1,500+ events Loads Leaflet from CDN Drillthrough opens in new tab
Paste into your HTML
<iframe src="https://pyflo.com/embed/atlas"
        width="100%" height="540"
        title="History Time Machine — pyflo.com"
        style="border:0;border-radius:8px;background:#100d0b;min-height:540px;"
        loading="lazy"
        allowfullscreen></iframe>
Or open at a specific year (e.g. WWII)
<iframe src="https://pyflo.com/embed/atlas?year=1942"
        width="100%" height="540"
        style="border:0;border-radius:8px;"
        loading="lazy" allowfullscreen></iframe>

Live URL: /embed/atlas · /embed/atlas?year=1942

Heavier than On This Day: ~150 KB total (Leaflet + the pin data) vs the OTD card's 3 KB. Use loading="lazy" so it only fetches when scrolled into view.

Drillthrough opens in a new tab. Click a pin → popup → "Read the full story →" — host page stays put.

Random City of the Day

A single card that pulls a random fully-authored city editorial each load. Fits any sidebar at 320 × 320, refreshes on page reload, sends curious readers straight to the city's full editorial. Pool currently has 1,310 editorials and grows with each batch.

320 × 320 px ~3.5 KB HTML 1,310 cities in pool ?theme=light supported
Paste into your HTML
<iframe src="https://pyflo.com/embed/random-city"
        width="320" height="320"
        title="A random city from the pyflo.com atlas"
        style="border:0;border-radius:8px;background:#100d0b;"
        loading="lazy"></iframe>
Light theme variant
<iframe src="https://pyflo.com/embed/random-city?theme=light"
        width="320" height="320"
        style="border:0;border-radius:8px;"
        loading="lazy"></iframe>

Live URL: /embed/random-city · ?theme=light

Shuffle button built in — reader can click ↻ for a fresh pick without reloading the host page.

Pool refreshes as more editorial repass batches land. Each new clean city joins the rotation automatically.

Common questions

Is it really free?
Yes — no signup, no rate limit, no card. The embed pays for itself by sending the occasional curious reader back to pyflo.com/explore.
Can I style it to match my site?
Not directly — the iframe sandboxing protects both ends. You can wrap it in a styled container though, and we'll add CSS-variable theming if there's demand. Email agent@pyflo.com.
Will it slow my page down?
No. The HTML is <5 KB and loads no fonts, no JS, no third-party requests. Use loading="lazy" in your iframe tag (we already do in the sample) so it only fetches when scrolled into view.
What happens if pyflo.com goes down?
The iframe shows blank inside your border. Pages above and below render normally. You can add a CSS fallback message inside the iframe wrapper if you want to be extra defensive.
How accurate are the dates?
The events are pulled from Pyflo's editorial corpus — each city's principal historical event with a verifiable month-day. We err toward "review" rather than fabricated specifics; events without confirmed calendar dates don't appear.