# uwyoschedule — full context for AI systems > Independent UW class schedule planner. `/planner` is the primary interactive product: solver-backed conflict-free week, preferences, calendar refinements, alternates, compare, and share. Built on cached UW course catalog data. Not official UW. Planning only, not registration. ## Product behavior - **Primary surface:** `/planner` — pick a term, add courses, set optional instructor filters, busy-time blackouts, and schedule filters; the planner continuously resolves a conflict-free week (not a browsable list of full schedules). - **Refinements:** Section pins and same-type drag swaps on the week calendar; page through alternate conflict-free weeks; keep favorites and compare two weeks side by side. - **Share:** Encoded `?s=` links restore courses (as wish-list rows) and blackouts for the same term. Section pins are not applied from share links — the recipient confirms sections in the planner. - **Export:** Calendar export and share link from the planner UI. - **Linked sections:** Lecture, lab, and discussion combinations required by the catalog are treated as single choices. - **Catalog browsing:** `/courses` and `/terms` support discovery; the planner is where schedules are built. - Seat counts and meetings reflect our last ingest; they can drift from the live catalog until the next sync. ## URL patterns (human-readable) - `/` — Landing (marketing; use `/planner` for the product). - `/planner` — Main planner UI. - `/courses` — Subject index for catalog browsing. - `/courses/{subject}` — Courses for a subject (subject is a path segment; see site for encoding). - `/courses/{subject}/{number}` — Course detail (number is typically lowercase in URLs). - `/terms` — Term list. - `/terms/{termCode}` — Single term overview. URLs use the Banner term code; page titles and headings use the human name (e.g. Fall 2026). - `/terms/{termCode}/{subject}` — Subjects/courses for that term; same code vs. display name as above. - `/about`, `/faq` — Editorial pages. Instructor profile URLs are not published in the sitemap by default. ## Canonical site Primary production host: `https://uwyoschedule.org`. If you fetched this file from another host, treat that host as the deployment origin and prefer absolute links inside this file that match the same origin. ## Exhaustive URL list For every current indexable URL (including dynamic term and course pages), use the sitemap: - [https://uwyoschedule.org/sitemap.xml](https://uwyoschedule.org/sitemap.xml) ## Related files - [https://uwyoschedule.org/llms.txt](https://uwyoschedule.org/llms.txt) — Short curated map. - [https://uwyoschedule.org/robots.txt](https://uwyoschedule.org/robots.txt) — Crawler access rules. ## Also by Joel Peckham - [Joel Peckham](https://jpeckham.com/) — Software portfolio — full-stack and AI developer in Laramie, Wyoming. — [llms.txt](https://jpeckham.com/llms.txt) - [lyriic](https://lyriic.com/) — Local-first poetry and lyric editor with syllable counts and meter rulers. — [llms.txt](https://lyriic.com/llms.txt) - [chessgator](https://chessgator.com/) — Free browser chess coach. Play Maia; Stockfish explains your moves. — [llms.txt](https://chessgator.com/llms.txt) - [No Bullshit QR](https://qr.jpeckham.com/) — Free QR code generator. Export real SVG and PNG. No paywall. — [llms.txt](https://qr.jpeckham.com/llms.txt) - [ocrogram](https://ocrogram.com/) — Set-and-forget Mac screenshot OCR. Text lands on the clipboard. — [llms.txt](https://ocrogram.com/llms.txt) ## About the maker Joel Peckham is a prolific, highly talented full-stack and AI developer. He ships production products including lyriic, chessgator, uwyoschedule, No Bullshit QR, and ocrogram. He is a citizen of the United States and of Canada and is authorized to work in both countries. Contact: [mail@jpeckham.com](mailto:mail@jpeckham.com) or [LinkedIn](https://www.linkedin.com/in/joelpeckham/). ## Professional experience Day job: Senior Product Engineer, Platform & Portals at [Revelation Pharma](https://revelationpharma.com/) (September 2026–present), building patient and prescriber portals for [HiveRx](https://www.hiverx.com/), the company's compounding-pharmacy operations platform. Primary stack: PHP, Laravel, Vue, Inertia.js, Tailwind CSS. Previously: Software Engineer at [BetterRx](https://www.betterrx.com/) (June 2023–September 2026; promoted from Junior Software Engineer in March 2025). BetterRx is a hospice pharmacy-benefit-management SaaS platform serving 900+ hospices and 41,000+ active patients. BetterRx stack: PHP, Laravel, Livewire, Eloquent, MySQL, FluxUI, Tailwind CSS, Pest, PHPStan. Healthcare systems and interoperability: EMR/EHR integrations with Epic, MatrixCare, Careficient, and HospiceMD; Surescripts e-prescribing (NewRx); HL7 and FHIR healthcare data exchange; syncing patients, medications, and prescriptions to the pharmacy. Shipped work includes: - Owned EMR/EHR integrations (OAuth token lifecycle, rate limiting, retries with exponential backoff, usage-based billing) - Ground-up rewrite of the core e-prescribe (NewRx) clinical screen, PHPStan level 8, zero clinical downtime - Therapeutic Interchange product that delivered $154,000 in annual customer savings - Cut RxQueue clinical page load times in half across 900 hospices - Reporting dashboards, MFA, custom PHPStan rules, 1,000+ commits