Original components built for this site, covering sports, live events, and blueprint aesthetics, published as a shadcn registry.
Field tested / Schott Classic
Built at the ballpark.
Many of these pieces started as tools for tournament day at the Schott Classic. I turned the useful patterns into portable components for schedules, scorekeeping, and live operations.
Source mark / 01
195.97²
Tournament Day
Brackets, seeds, pools, and the countdown to first pitch.
Double Elimination Bracket
npx shadcn@latest add https://benhof.ai/r/double-elimination-bracket.jsonDocs & API →Double Elimination Tournament Bracket
Tournament Bracket
npx shadcn@latest add https://benhof.ai/r/tournament-bracket.jsonDocs & API →buildBracketRounds(): first round + results in, later rounds derived from winners. Hover a team to trace their run.
schedulePlacement="between" for tournament day: one game live, one upcoming, final TBD
Bracket Pick'em
npx shadcn@latest add https://benhof.ai/r/bracket-pickem.jsonDocs & API →Pool Standings
npx shadcn@latest add https://benhof.ai/r/pool-standings.jsonDocs & API →| Rank# | Team | W-L | RD | RS |
|---|---|---|---|---|
| 1 | Backyard Bombers | 3-0 | +15 | 21 |
| 2 | Scuff City | 2-1 | +4 | 15 |
| 3 | Mercy Rule | 1-2 | -5 | 9 |
| 4 | The Ringers | 0-3 | -14 | 4 |
| Rank# | Team | W-L-T | RD | RS |
|---|---|---|---|---|
| 1 | Bat Attitudes | 2-0-1 | +9 | 17 |
| 2 | The Whiffleblowers | 2-1-0 | +10 | 19 |
| 3 | Dad Bod Dynasty | 1-1-1 | 0 | 12 |
| 4 | Fully Loaded | 0-3-0 | -19 | 5 |
Event Countdown
npx shadcn@latest add https://benhof.ai/r/event-countdown.jsonDocs & API →- 13
- fields
- 4
- games guaranteed
Event Operations
Schedules, check-in, weather alerts, and live timing for tournament day.
Field Schedule
npx shadcn@latest add https://benhof.ai/r/field-schedule.jsonDocs & API →| Time | Field 1 | Field 2 | Field 3 |
|---|---|---|---|
| 8:30 AM | Bombers6 Ringers2 Final | Scuff City3 Rip City4 Live | Big Sticks Fully Loaded Scheduled |
| 9:45 AM | Bat Attitudes Pitch Please Scheduled | Mercy Rule Dad Bod Dynasty Delayed | Open |
Roster Check-In
npx shadcn@latest add https://benhof.ai/r/roster-check-in.jsonDocs & API →Roster check-in
Backyard Bombers
1 / 4 ready
Riley Chen
#7
Marcus Hill
#12
Eli Brooks
#4
Noah Patel
#21
Run of Show
npx shadcn@latest add https://benhof.ai/r/run-of-show.jsonDocs & API →Tournament morning
Gates and registration open
OpsDoneCaptain meeting
Rules, weather plan, and field assignments
BenHappening nowPool play begins
FieldsUpcomingBracket lock
Confirm seeds before publishing
ScoringUpcoming
Scorekeeping
Ported from the Schott Classic scorekeeping app and rebuilt as components for an umpire's phone.
Leaderboard Table
npx shadcn@latest add https://benhof.ai/r/leaderboard-table.jsonDocs & API →Schott Classic Tournament Leaderboard
| Rank | Player / Team | HR | Runs | AVG | Diff |
|---|---|---|---|---|---|
| 1 | Ben Hofstetter Backyard Bombers | 14 | 28 | .438 | +34 |
| 2 | Jake Miller Dad Bod Dynasty | 11 | 22 | .379 | +21 |
| 3 | Sam Vance The Whiffleblowers | 9 | 19 | .321 | +18 |
| 4 | Alex Reed Scuff City | 8 | 16 | .307 | +12 |
| 5 | Tyler Scott Yellow Bat Society | 7 | 15 | .280 | +8 |
| 6 | Chris Evans Bat Attitudes | 6 | 14 | .250 | +4 |
Active Game Card
npx shadcn@latest add https://benhof.ai/r/active-game-card.jsonDocs & API →Current game
Backyard Field / Saved just now
Whiffleblowers
3
Bat Attitudes
4
Score Panel
npx shadcn@latest add https://benhof.ai/r/score-panel.jsonDocs & API →A working mini-scorekeeper composed with score-panel, count-display, base-diamond, and play-by-play. Call the game.
No plays yet.
Play-by-Play
npx shadcn@latest add https://benhof.ai/r/play-by-play.jsonDocs & API →- ▲ 5Side retired. Bases cleared
- ▼ 4Strikeout
- ▼ 4Bat Attitudes runner scores from third
- ▼ 4Single. Runners move up
- ▼ 4Ball
Scoreboard
npx shadcn@latest add https://benhof.ai/r/scoreboard.jsonDocs & API →| Team | 1 | 2 | 3 | 4 | 5 | R | H |
|---|---|---|---|---|---|---|---|
| Whiffleblowers | 0 | 2 | 0 | 1 | · | 3 | 6 |
| Bat Attitudes | 1 | 0 | 3 | 0 | · | 4 | 7 |
Scorekeeper Layout
npx shadcn@latest add https://benhof.ai/r/scorekeeper-layout.jsonDocs & API →Final Score Summary
npx shadcn@latest add https://benhof.ai/r/final-score-summary.jsonDocs & API →Final score
Backyard Field / Completed after 5 innings
Bat Attitudes win
Site & Play
Pieces of this site, extracted because they might be useful.
Now Section
npx shadcn@latest add https://benhof.ai/r/now-section.jsonDocs & API →Running a wiffle ball tournament with unreasonable software
Publishing the components this site is made of
Writing again
Updated 2026-07-05
404 Ballpark Radar
npx shadcn@latest add https://benhof.ai/r/wiffle-at-bat.jsonDocs & API →Foul ball out of play. Route /components is beyond the outfield fence.