Terminal
- September 8, 2026
Features
The BBS is back. And it’s yours.
Phosphor isn’t a nostalgia project. It’s a real-time, federated communication platform that happens …
- September 4, 2026
The Screen That Lied: Building Idle Timers That Actually Tick
Here’s a bug report you can’t reproduce with a test: “the sessions view shows a list of users logged in, and when they change state …
- September 2, 2026
A QR Code on a Text Screen: Pairing Phones to a BBS Without a Login
There’s a moment in every mobile-client story where the design gets embarrassing. Your BBS just grew a beautiful native iOS app — SwiftUI, an …
- August 31, 2026
Ctrl+C to Step Away: Keyboard Shortcuts for Phosphor's Session Persistence
Last week we shipped session persistence for Phosphor BBS: detach your session, close your terminal, reconnect later, and your screen, cursor, and …
- August 31, 2026
Lite Emacs in Your BBS: The Key Bindings That Make Phosphor's Text Fields Work
If you’re the kind of person who reaches for Ctrl+A to jump to the beginning of a line, or Ctrl+K to delete everything from the cursor to the …
- August 15, 2026
Live Spellcheck in a Terminal: Yellow Highlights, No Popups
Every modern editor highlights misspelled words as you type. Squiggly red underlines in Word, yellow backgrounds in Google Docs, dotted lines in VS …
- August 14, 2026
Ghost Text Completion: Bringing Modern Editor UX to the Terminal
If you’ve used VS Code, fish shell, or Google’s search bar, you’ve seen ghost text — that dim, semi-transparent suggestion that …
- August 12, 2026
Animated Borders: Living Frames in a Terminal UI Toolkit
A border in a terminal UI is usually a static thing. Four corners, four edges, drawn once and forgotten. Box-drawing characters sit there like a …
- August 12, 2026
Designing Reusable Config Screens: From Vertical Labels to Table Layout
Every config screen in Phosphor BBS used to be a snowflake. SystemConfigScreen had its own layout. AiConfigScreen had its own layout. They looked …
- August 12, 2026
The Auto-Approve Dead-End: A BBS Onboarding Bug Story
Here’s a bug that’s easy to introduce and embarrassing to discover: a new user creates an account on your BBS, the system auto-approves …
- August 3, 2026
From IRC to iMessage: Rebuilding BBS Chat for 2026
The original BBS chat was IRC. You’d type
/join #lobby, see messages scroll by in a flat log —<joe> hey everyone— and if you wanted to … - July 31, 2026
Phosphor Progress — From Parser to Federation
Twenty-nine commits. Six phases. One language. Here’s where Phosphor stands after the most intense development sprint yet.
The Journey So Far …
- July 30, 2026
Building a Lexer and Parser for a BBS Programming Language
How do you build a programming language for a BBS? You start with the same tools every language uses: a lexer to break source code into tokens, and a …
- July 30, 2026
Declarative UI: Building Terminal Screens with Widgets in Phosphor
Most BBS systems render screens the hard way: imperative code that clears the terminal, prints line by line, and redraws on every update. It works, …
- July 30, 2026
Dev Log
Building Phosphor — a modern, real-time, federated BBS with a custom scripting language called Phosphor. This is the dev log: what’s being …
- July 30, 2026
How to Connect
Two ways in. Same BBS.
Phosphor runs on a single backend. Web and SSH are just two doors into the same room. Same users, same chat, same mail, same …
- July 30, 2026
Phosphor Language
A domain-specific language for BBS systems
Every classic BBS sysop knew the feeling. You’d tweak a menu, add a message board, wire up a door …
- July 30, 2026
Screenshots
The Terminal Aesthetic
Phosphor doesn’t just look retro. It IS retro — a real terminal application running on jterm, a JVM-based terminal …
- July 29, 2026
Building the Phosphor Parser — Week 1 Dev Log
The first phase of Phosphor implementation is underway. Here’s what’s happening and why it matters.
The Problem
Every BBS system has the …
- July 28, 2026
ANSI Sprites: Animation in a Terminal UI Toolkit
A terminal is a grid of characters. Each cell holds one glyph, one foreground color, one background color. That’s it. There are no pixels, no …
- June 21, 2026
Terminal Animations: Starfields, Warps, and Living Backgrounds
A BBS login screen used to be a static ASCII banner. You’d connect, see a logo made of text characters, type your username and password, and …
- June 19, 2026
Real-Time Chat on a BBS: Pub/Sub, Channels, and Wall Messages
Chat is the heartbeat of a BBS. In the 90s, you’d log in, see who was online, and jump into a channel. Messages appeared character by character …
- June 19, 2026
The SysOp Experience: Building Admin Tools for a Modern BBS
Every BBS needs a sysop. The system operator — the person who manages users, moderates boards, configures channels, and keeps the system running. In …
- June 18, 2026
From Modem to SSH: Building a Telnet/SSH Server in Java
In the 90s, a BBS was a modem bank and a phone number. Callers dialed in at 2400 baud, negotiated a connection, and got a text interface. The protocol …
- June 17, 2026
jterm: Building a Terminal UI Toolkit in Pure Java
Every BBS needs a terminal. But not just any terminal — a fast one, with per-character styling, double-buffered rendering, and a widget library that …