A clean, distraction-free reader for X.com (Twitter) article threads. Built for Val Town.
x.com with x-reader.val.run in any article URLhttps://x.com/user/status/123456)Replace x.com in any article URL with x-reader.val.run:
https://x.com/username/status/123456
→
https://x-reader.val.run/username/status/123456
backend/
├── index.ts # Hono app entry point
├── api/
│ └── fxtwitter.ts # FXTwitter API client
├── database/
│ ├── migrations.ts # SQLite schema
│ └── queries.ts # Cache operations
├── renderer/
│ └── article.ts # Draft.js → HTML renderer
├── routes/
│ └── article.ts # Article route handler
└── templates/
├── article.ts # Article page template
└── error.ts # Error page template
frontend/
├── index.html # Homepage
└── style.css # Styles
shared/
├── types.ts # TypeScript types
└── utils.ts # Shared utilities
This is a Val Town project. Use the vt CLI for local development:
# Install dependencies npm install # Push to Val Town vt push