RetroWriter is a browser-based app inspired by the "lettermaker" programs of the 1980s. These programs were text editors designed for creating "disk letters" (Diskettenbriefe), which were messages or announcements saved to disk and shared electronically before the era of email. Unlike plain text editors, lettermakers added personality to the messages with effects like animated text playback, blinking words, and colorful displays.
RetroWriter replicates this experience, allowing users to create retro-styled messages in a modern browser environment, complete with text effects and nostalgic visuals.
- Typewriter Effect: Text is displayed character by character, emulating a typewriter.
- Cursor Animations: Includes a blinking cursor that tracks input. Also the cursor wraps from left to right and vice versa.
- Buffer scrolling: Allows scrolling the content (by cursor down or by scroll key).
- Color Effects: Apply color transitions and highlights to your text.
- Blinking Words: Highlight specific words or phrases with blinking animations.
- Save Messages: Export your creations for future use or sharing.
- Browser-Based: No installation required; works directly in your web browser.
- Load from URL and GitHub Gist: Load a demo from URL or by Gist ID.
Key/Command | Action |
---|---|
F2 |
Select foreground (SHIFT clears) |
F3 |
Select background (SHIFT clears) |
F4 |
Select border (SHIFT clears) |
F6 |
Enable pulsating (SHIFT disables) |
F7 |
Select scope cursor (SHIFT selects global) |
F9 |
Enable auto advance (SHIFT disables) |
F10 |
Playback |
F12 |
Toggle debug info (default on in dev) |
CTRL + 0-9 |
Select color from palette |
Cursor |
Move around |
SHIFT + Cursor |
(Re)Paint current cell and move around |
<character> |
Writes character (and advances, if auto advance is enabled) |
Delete |
Clear cell under cursor |
Backspace |
Retract cursor and clear cell under cursor |
PageDown |
Scroll without moving cursor |
Pause/Space |
Pause/Continue |
End |
(Playback mode) Skip to end |
CTRL + P / Print |
Download screenshot |
CTRL + S |
Download demo |
CTRL + O |
Open demo (also via Drag & Drop) |
SHIFT + F5 |
Reset |
#play:<url>
: Plays demo loaded from external URL (CORS headers required).#play-gist:<id>
: Plays demo loaded from GitHub gist.
Assuming we're using pnpm.
pnpm install
pnpm dev
And then browse to http://localhost:5173/.