1# Showings23A terminal UI for browsing Alamo Drafthouse movie showtimes. Built with Go and the [Charmbracelet](https://charm.sh/) stack.4567## Features89- **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.10- **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.11- **Date Navigation** -- Step through available dates or jump to today.12- **Venue Switching** -- Modal dialog to switch between cinemas in your market (e.g., Denver: Westminster, Sloans Lake, Littleton).13- **Scrollable Viewport** -- Full keyboard-driven navigation with scroll indicator.1415## Install1617Requires **Go 1.24+**.1819```bash20go install github.com/dami/showings@latest21```2223Or build from source:2425```bash26git clone git@github.com:FelineStateMachine/showings.git27cd showings28go build -o showings .29```3031## Usage3233```bash34showings # Westminster, today, list view35showings -v sloans-lake # Different venue36showings -d 2026-02-20 # Specific date37showings -g # Open in Gantt view38showings -v littleton -d 2026-02-20 -g # All options combined39```4041### Flags4243| Flag | Short | Default | Description |44|------|-------|---------|-------------|45| `--venue` | `-v` | `westminster` | Alamo Drafthouse venue slug |46| `--date` | `-d` | today | Date filter (`YYYY-MM-DD`) |47| `--gantt` | `-g` | `false` | Open in timeline view |4849### Keyboard Controls5051| Key | Action |52|-----|--------|53| `q` / `Ctrl+C` | Quit |54| `g` | Toggle list / Gantt view |55| `v` | Open venue selector |56| `t` | Jump to today |57| `n` / `p` | Next / previous date |58| `↑↓` / `j` `k` | Scroll |59| `Enter` | Select venue (in modal) |60| `Esc` | Close modal |6162## Architecture6364```65main.go CLI entrypoint (Cobra)66internal/67├── api/ HTTP client for Alamo Drafthouse schedule API68├── models/ Go structs mapping the API response + helper methods69├── state/ Bubble Tea model, rendering, styles, date logic70└── views/ List view and Gantt timeline renderers71```7273The app fetches data from the public Alamo Drafthouse schedule endpoint (`/s/mother/v2/schedule/venue/{slug}`), maps it into typed Go structs, and renders it through Bubble Tea's Elm Architecture update loop.7475## Tech Stack7677- [Bubble Tea](https://github.com/charmbracelet/bubbletea) -- TUI framework78- [Lipgloss](https://github.com/charmbracelet/lipgloss) -- Terminal styling and layout79- [Bubbles](https://github.com/charmbracelet/bubbles) -- Viewport component80- [Cobra](https://github.com/spf13/cobra) -- CLI flag parsing8182## Tests8384```bash85go test ./...86```8788Covers API client (mock HTTP server), model filtering, and data lookups.8990## License9192Private.