Work / Tools / Facebook to Blog

No. 42 · Tools · Publishing

The poetry survives the platform.

A poet writes for ten years on a Facebook group nobody indexes. Then one morning the platform changes the rules, or quietly takes the page down. This tool moves the poems out · to a beautiful, theme-aware blog with search, comments and a newsletter. Mood is auto-detected. Hindi, Hinglish and English supported from line one. Free to host.

She kept the Ganga in a brass cup,
and a small fire, and a very old name. वो पीतल के लोटे में गंगा रखती थी ·
एक नन्ही आग, एक बहुत पुराना नाम।
An evening verse, written here
7Moods, auto-detected
14Visual worlds (light + dark)
3 langsHindi · Hinglish · English
18Tests passing
$0Hosting on Vercel free tier

Act I · The Problem

A poet writes ten years.
The feed eats them all.

Mrs. Vaidya wrote for a small Facebook group. Her poems were read by a few hundred people who loved them, and forgotten by an algorithm that loved engagement. Search engines never saw the words. The newsletter never went out. One day the group will lock, or rename, or close. The verse will follow it down. Not because anyone wanted it gone. Because no platform was ever built to keep it.

Act II · The Promise

Every poem gets its own world.

Mood is detected from the words themselves · Hindi and English keywords both. The whole page changes: palette, type, particles, even the cursor's quiet companions. Same blog, seven evenings.

Mood
Light
Dark
Particles
Love
Cream, rose, gold
Burgundy, pink glow
Floating petals
Nature
Warm white, forest
Dark forest, emerald
Drifting leaves
Sadness
Pale lavender, slate
Deep navy, indigo
Falling rain
Joy
Warm ivory, amber
Charcoal, sunflower
Sparkles
Spiritual
Off-white, saffron
Deep purple, saffron
Incense wisps
Anger
Light ash, crimson
Near-black, ember
Floating embers
Nostalgia
Parchment, sepia
Dark walnut, grain
Dust motes

Act III · The Product

Three ways in.
One quiet archive out.

The poet should never have to think about JSON, or moods, or YAML. They write. The blog publishes.

  1. A · CLI

    Interactive add-poem.

    Run pnpm add-poem. It asks for title, poem text, language. Mood is auto-detected. The MDX file is written. Done.

  2. B · MDX file

    Drop it in content/poems/.

    One file per poem. Frontmatter is optional, mood is auto-detected from Hindi and English keywords. Override anytime. pnpm build, deploy.

  3. C · Facebook import

    Bulk-import the archive.

    Request your Facebook data as JSON, point the import script at it, every post becomes a poem. Moods detected, dates preserved, original Facebook links kept.

A 3D leather book opens on the homepage. Search is fuzzy and instant. Bottom-tab navigation on mobile. Dark and light each get their own palette per mood. Skip links, focus rings, 7:1 contrast everywhere · because the poet's audience reads on whatever phone they have.

The Stack

Static at build. Free at runtime. Beautiful at any speed.

  • Next.js 16 · App Router
  • React 19
  • TypeScript 5.9 (strict)
  • Tailwind CSS 4
  • Framer Motion 12
  • MDX · gray-matter
  • Fuse.js (client search)
  • Vitest 4
  • Tiro Devanagari · Crimson Pro
  • Vercel free tier

Act IV · Proof

Built for a real poet. Designed for every poet.

Mood detection in Hindi + English

The detector reads Devanagari keywords (प्रेम, क्रोध, मेघ, राम) alongside English ones, so Hinglish and Hindi poems never default to the wrong palette.

WCAG 2.2 AAA, 7:1 contrast

Every mood, light and dark, holds 7:1 minimum text contrast. Skip link, focus rings, reduced-motion respect, screen-reader-friendly book hero.

Static export, free hosting

The whole site exports to out/ at build. No server, no database, no API costs. Vercel free tier is enough for a poet's lifetime.

18 tests, all passing

Mood detection, content parsing, theme switching and language routing are all covered. The poet doesn't see the tests. The poet sees the poems.

Your community lives on someone else's feed. Move it home.

I build static, beautiful, multilingual publishing for people the platforms forget. Editorial typography, mood-aware design, accessibility from line one, and a build cost that rounds to zero.