Skip to content

mysticcoders/confoo2026

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ConFoo 2026 Schedule Planner

A terminal UI app for browsing the ConFoo 2026 conference schedule, exploring sessions and speakers, and building your personal calendar with automatic conflict detection.

Python 3.11+ Textual TUI

Features

  • Browse 197 sessions across 5 conference days with tabbed day views
  • Search across all days by session title or speaker name
  • Filter by any of the 25 tracks (AI, Security, Java, PHP, etc.)
  • View full session details: abstract, speaker bio, company, social links
  • Build a personal calendar with one-key add/remove
  • Automatic conflict detection for overlapping sessions
  • Export your schedule to iCal (.ics) for import into any calendar app
  • Curated speaker ratings (S/A/B/C tiers) with star display
  • Works offline with bundled JSON data -- no scraping required
  • Optional live sync from confoo.ca for the latest schedule updates

Prerequisites

  • Python 3.11+
  • uv package manager

Installation

As a uv tool (recommended)

Install globally so the confoo command is available everywhere:

uv tool install git@github.com:mysticcoders/confoo2026.git

Or from a local checkout:

git clone git@github.com:mysticcoders/confoo2026.git
cd confoo2026
uv tool install .

Then run from anywhere:

confoo

To update later:

uv tool upgrade confoo2026

To uninstall:

uv tool uninstall confoo2026

For development

git clone git@github.com:mysticcoders/confoo2026.git
cd confoo2026
uv sync
uv run confoo

Optional: Live Sync

If you want to pull the latest data directly from confoo.ca:

# Install the browser engine (one-time setup for the tool environment)
uv tool run --from confoo2026 playwright install chromium

# Or if using a local dev checkout
uv run playwright install chromium

# Run a full sync (~4 minutes)
confoo sync

Usage

confoo

Navigating the App

The app has three main screens, accessible from anywhere via number keys:

Key Screen Description
1 Schedule Browse sessions by day, search, and filter
2 My Calendar View your selected sessions and conflicts
3 Sync Pull fresh data from confoo.ca
q Quit the app

Schedule Screen

This is the main view. Sessions are organized in day tabs (Mon-Fri).

Key Action
/ Search by title or speaker (searches across all days)
Escape Clear search and return to day tabs
t Cycle through track filters
a Add or remove the selected session from your calendar
Enter View full session details

Sessions in your calendar show a bold green in the first column.

Session Detail Screen

Full view of a session including the abstract, speaker bio, and your calendar status.

Key Action
a Add or remove from your calendar
Escape Go back

My Calendar Screen

Shows all your selected sessions organized by day, with conflict detection.

Key Action
r Remove the selected session
e Export calendar to ~/Downloads/confoo2026.ics
Enter View session details
Escape Go back

Sessions with time overlaps are flagged with [CONFLICT].

Sync Screen

Re-scrape confoo.ca for the latest schedule data. This runs a three-phase scraper that fetches the schedule grid, session details, and speaker profiles. Takes approximately 4 minutes.

Speaker Ratings

You can curate speaker ratings by editing data/speaker_ratings.json:

{
  "speaker-slug": {
    "tier": "S",
    "note": "Amazing live coder, always packed rooms"
  }
}

Tiers:

Tier Label Display
S Exceptional ★★★★★
A Excellent ★★★★
B Good ★★★
C Average ★★

Ratings appear in the schedule table and on session detail screens.

Data Storage

Location Contents
data/confoo2026.json Bundled schedule snapshot (works offline)
data/speaker_ratings.json Your curated speaker ratings
~/.local/share/confoo2026/confoo.db SQLite database (created by sync)
~/.local/share/confoo2026/my_calendar.json Your personal session selections
~/Downloads/confoo2026.ics Exported iCal file

Conference Info

ConFoo 2026 -- February 23-27, 2026 -- Montreal, Canada

  • Monday & Tuesday: Full-day workshops
  • Wednesday through Friday: Main conference (7 time slots per day, 10 parallel sessions)
  • 197 sessions, 107 speakers, 25 tracks
  • Sessions are 45 minutes, primarily in English (some in French)

License

MIT

About

ConFoo 2026 Schedule manager as Python TUI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages