
The home screen greets you with a random Stoic quote and two options.
Devent is a social platform that lives entirely inside your terminal. No browser, no account, no sign-up. You SSH into the server and land in a Bubble Tea TUI where you can write posts, read what other devs have written, or just absorb a Stoic quote and leave. Posts are stored in Redis and persist across sessions. The whole thing is designed to be hosted on an AWS EC2 instance so anyone can connect.
Connect to the server on port 2222. Charm's Wish library handles the SSH handshake and spins up a PTY session with ed25519 host keys.
A random Stoic quote greets you, fetched live from an external API. Two options: create a post or browse existing ones.
A Charm Huh form lets you pick public or private, give it a title, and write up to 600 characters. Private posts get chucked into the void. Public ones go to Redis.
A scrollable list of recent posts, pulled from a Redis sorted set ordered by timestamp. Select one to read the full content.
The app is a state machine with three screens β Home, Create Post, and View Posts β each modeled as an independent Bubble Tea model. A MainModel sits on top and routes between them using message-based state transitions. Each SSH session gets its own Bubble Tea program instance through Wish middleware, so multiple users can connect simultaneously.
MainModel
Top-level router. Holds state enum and delegates to child models.
HomeModel
Welcome screen with Stoic quote and navigation buttons.
cPostModel
Create post form using Charm Huh. Saves to Redis with UUID keys.
vPostModel
Fetches and lists posts from Redis. Drills into individual post view.
Language
Go 1.23
TUI
Bubble Tea + Lipgloss
SSH Server
Charm Wish
Forms
Charm Huh
Database
Redis (JSON + Sorted Sets)
IDs
Google UUID
Devent is designed to run on an AWS EC2 instance. The Go binary and Redis server sit on the same machine. The security group exposes port 2222 for SSH connections, and the ed25519 host key is generated on first boot. Users connect from anywhere with a single command β no client install, no browser, just a terminal.
Compute
AWS EC2
Data
Redis on instance
Access
SSH on port 2222
Posts are stored as JSON documents keyed by post:{uuid}. Each document holds an ID, title, content, and a public/private flag. A sorted set called posts indexes all post keys by Unix timestamp, so the feed is always sorted newest-first using ZREVRANGE.
Every time someone SSHs in, the home screen fetches a random Stoic quote from an external API. It felt right β if youβre here to vent, you might as well get some perspective from Marcus Aurelius or Epictetus first.