| .forge | ||
| internal | ||
| demo.tape | 182B | |
| go.mod | 1.5K | |
| go.sum | 6.3K | |
| main.go | 1.2K | |
| README.md | 2.9K | |
| schema.md | 12.5K | |
| vhs.gif | 959.3K |
Showings
A terminal UI for browsing Alamo Drafthouse movie showtimes. Built with Go and the Charmbracelet stack.

Features
- Movie List View -- Movies displayed as bordered cards with title, rating, synopsis, and showtime chips (time, screen, format). Past showtimes are dimmed and struck through.
- Gantt Timeline View -- Horizontal bar chart where each row is a theater screen. Color-coded bars represent screenings over time with hour rulers, half-hour ticks, and a live "NOW" marker.
- Date Navigation -- Step through available dates or jump to today.
- Venue Switching -- Modal dialog to switch between cinemas in your market (e.g., Denver: Westminster, Sloans Lake, Littleton).
- Scrollable Viewport -- Full keyboard-driven navigation with scroll indicator.
Install
Requires Go 1.24+.
go install github.com/dami/showings@latest
Or build from source:
git clone git@github.com:FelineStateMachine/showings.git
cd showings
go build -o showings .
Usage
showings # Westminster, today, list view
showings -v sloans-lake # Different venue
showings -d 2026-02-20 # Specific date
showings -g # Open in Gantt view
showings -v littleton -d 2026-02-20 -g # All options combined
Flags
| Flag | Short | Default | Description |
|---|---|---|---|
--venue |
-v |
westminster |
Alamo Drafthouse venue slug |
--date |
-d |
today | Date filter (YYYY-MM-DD) |
--gantt |
-g |
false |
Open in timeline view |
Keyboard Controls
| Key | Action |
|---|---|
q / Ctrl+C |
Quit |
g |
Toggle list / Gantt view |
v |
Open venue selector |
t |
Jump to today |
n / p |
Next / previous date |
↑↓ / j k |
Scroll |
Enter |
Select venue (in modal) |
Esc |
Close modal |
Architecture
main.go CLI entrypoint (Cobra)
internal/
├── api/ HTTP client for Alamo Drafthouse schedule API
├── models/ Go structs mapping the API response + helper methods
├── state/ Bubble Tea model, rendering, styles, date logic
└── views/ List view and Gantt timeline renderers
The app fetches data from the public Alamo Drafthouse schedule endpoint (/), maps it into typed Go structs, and renders it through Bubble Tea's Elm Architecture update loop.
Tech Stack
- Bubble Tea -- TUI framework
- Lipgloss -- Terminal styling and layout
- Bubbles -- Viewport component
- Cobra -- CLI flag parsing
Tests
go test ./...
Covers API client (mock HTTP server), model filtering, and data lookups.
License
Private.