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 built, why, and what’s next.
Posts are added weekly as features come online. No marketing — just engineering.
The Big Idea
The internet was supposed to be decentralized. It isn’t. Phosphor brings back the BBS — a place you visit on purpose, not a feed that comes to you — with modern engineering and a custom DSL for live customization.
What to Expect
- Weekly updates as each phase of Phosphor implementation completes
- Code snippets showing how features work
- Architecture deep-dives when major components ship
- Honest status — what works, what doesn’t, what’s next
Timeline
| Phase | Description | Status |
|---|---|---|
| 1 | Declarative Layer (MVP) | In Progress |
| 2 | Event Handlers + Reactivity Core | Planned |
| 3 | Custom Screens + Declarative UI | Planned |
| 4 | Door Games | Planned |
| 5 | In-BBS Phosphor Editor | Planned |
| 6 | Java Extension API + Dual Runtime | Planned |
| 7a | Testing Framework + JUnit + Coverage | Planned |
| 7b | Web API + Bidirectional WebSocket | Planned |
| 7c | Federation + Sync Protocol | Planned |
| 7d | Preferences System | Planned |
| 7e | User Sandbox + Rate Limiting | Planned |
| 7f | ANSI Art, Marketplace, Achievements, AI, Calendar | Planned |
33 tasks total. Sequential. Each phase gated by tests and user approval. Quality over speed.
- 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 … - August 2, 2026
How to Build a Digital Third Place That's Actually Yours
You’ve read about digital third places. You understand the problem — Discord isn’t yours, Slack is for work, X is a firehose, Reddit sold …
- August 2, 2026
One Platform for Three Things You're Doing in Three Places
You use three different tools for three different kinds of communication. You probably don’t think about it this way, but you do.
Slack or …
- August 2, 2026
The Internet You Visit on Purpose
There’s a feeling people have about the old internet that they can’t quite name. They remember it — or feel like they should remember it — …
- August 2, 2026
The Third Place Problem With Discord
Discord is the most successful digital third place ever built. 200 million people use it every month. Millions of communities live there — gaming …
- August 2, 2026
What Is a Digital Third Place?
In 1989, sociologist Ray Oldenburg wrote The Great Good Place and gave a name to something everyone already knew: we need three places. The first …
- July 31, 2026
Federated BBS: How Phosphor Makes Multi-Node Sync Declarative
Every BBS in the 80s and 90s was an island. Your callers dialed your node. Your boards lived on your machine. If you wanted to share content with …
- 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 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
Message Boards and Mail: Persistent Communication in Phosphor BBS
A BBS without message boards is just a chat room. Boards are where the community lives — threaded discussions that persist over days, weeks, months. …
- 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 …
- June 14, 2026
Why I'm Building a BBS in 2026
I ran a BBS when I was younger. This was before the web — you’d dial in on a modem, read messages, play games, chat with people in your town. It …