
Ages 8–10 · co-ed · Mon & Wed 5:30 PM
Minis
The first real team for most of them. Dribbling, passing, and the rule that you high-five the other bench after every game. Games Saturdays at 9.
Fall season · Week 5 of 15
Free basketball for West Oakland kids, ages 8 to 17. Here is every practice and game this week, and which gym it's in.
Mon5
Tue6
Wed7
Thu8
Fri9
Sat10
Sun11
Divisions
Pick the one that matches your kid's age on September 1. Brothers and sisters can practice on the same night if you ask.
Sign up a player
Ages 8–10 · co-ed · Mon & Wed 5:30 PM
The first real team for most of them. Dribbling, passing, and the rule that you high-five the other bench after every game. Games Saturdays at 9.

Ages 11–13 · co-ed · Tue 5:30 PM
Real positions, a few set plays, and the season most kids start keeping score in their heads. Practice at Peralta Street Rec, games Saturdays at 11.

Ages 11–17 · Thu 5:30 PM
Started in 2015 by six girls who were tired of never getting the ball. Coached by Toni Arceneaux, who played two seasons of college ball. Games Saturdays at 1:30.

Ages 14–17 · Mon & Wed 7 PM
Full court, four quarters, teenage refs. Seniors who keep a C average can train as paid refs for the younger divisions. Games Saturdays at 3:30.


The half-game rule
It's written on the scorer's table at Cypress Gym in permanent marker: every kid on the roster plays two full quarters, win or lose. Mr. Hobbs tracks the minutes, and a coach who forgets hears about it before the buzzer.
We don't hold tryouts and we don't cut anyone. Coaches draw teams by age in August and balance them, so no gym ends up with all the tall kids.

Said to every new player since 2004
I don't need you to be good yet. I need you in the gym Monday at five-thirty.
From the sideline
I work Saturdays. The van picks up both my boys at 8:40 and has them home by noon. I don't know how else they'd play.
Free throws first. Then we can talk about your three.
My first season I felt benched even when I was on the floor. Coach Trevon kept putting me back in.
My grandson calls me before every game so I can bless his shoes.
I came for the jersey. I stayed because they handed me a whistle at fifteen.
We hear the whistles from our kitchen every Saturday. Best sound on the block.
Coming up
Oct17
6:00 PM · Peralta Street Rec
Bay Rollers Adaptive Sports bring twenty sports wheelchairs. Everybody plays seated, coaches too.
Oct24
10:00 AM · Peralta Street Rec
For teens 15 and up and adults. Pass, and you ref Minis games at $15 a game.
Oct31
4:00 PM · Cypress Gym
Ten shots each, in costume. Candy for every make and every miss.
Nov21
9:00 AM · Cypress Gym
Every team plays twice. Families bring a side dish and the league brings the turkey.
Dec19
1:00 PM · Cypress Gym
Every player gets a medal and one sentence from their coach, read out loud.
Nothing in that category this month.
Two evenings and one Saturday morning a week through December 19. We train you, and we pay for your background check.
Design notes
A free youth league site built for the parent standing in a school pickup line with one hand free. The first thing it answers is where practice is tonight, and the second is how to get a kid onto a team.
Bebas Neue is set in caps with almost no tracking, the way gym banners and jersey backs are lettered, and it carries every heading and the giant footer wordmark. Body copy is Geologica, a plain geometric sans that holds up at small sizes on old phones. Times and figures use Overpass Mono, which comes from Highway Gothic road signs and gives the schedule the look of a scorer's book.
The green is the deep oak green of Oakland's city tree, and the orange is the pebbled leather of a game ball. The site opens dark, like a gym at seven o'clock under the lights, with a muted court green rather than a neon one. The light theme is tinted toward Bay fog instead of white so it doesn't glare at Saturday-morning games.
Six pages sit in a dock at the bottom of the screen, where a thumb already is. Most visits happen on a phone between work and practice, so every page is one tap away and the dock never scrolls away. On a laptop the dock stays put and the header carries only the logo and the sign-up button.
The home page opens on this week's schedule, day by day, with the next session counting down. The most common call to the office is "which gym is it tonight?", and this answers it before anything else. Sunday shows as a rest day because the gym really is closed.
The header button says "Sign up a player" because getting a kid onto a team is the whole point. The other actions are just as literal: "Coach a team", "Save a seat on the van", "Sponsor a team". Nothing asks a family for money; the sponsor page is written for neighbors and businesses.
Photos are of kids actually playing, mostly on outdoor courts, and the captions say so: they are labeled as summer league on the 10th Street court instead of pretending to be the winter gym. Adults appear only where they are coaching or volunteering. There are no crowd shots, because a Minis game draws about forty people.
Body text is 17px and every color pair passes WCAG AA in both themes. Dock buttons have full-height tap targets with text labels under each icon. Copy is written at about a sixth-grade reading level for parents reading in a second language, and the gym list notes step-free entrances and Wheels Night.
Every text pairing is checked against WCAG 2.2 in both themes.
| Pairing | Sample | Ratio | WCAG |
|---|---|---|---|
| Body text on page | Aa | 15.88:1 | AAA |
| Body text on cards | Aa | 14.39:1 | AAA |
| Secondary text | Aa | 6.98:1 | AA |
| Links | Aa | 9.26:1 | AAA |
| Button text | Aa | 9.36:1 | AAA |
| Accent label text | Aa | 7.63:1 | AAA |
| Text on dark bands | Aa | 16.74:1 | AAA |
| Muted text on dark bands | Aa | 8.34:1 | AAA |
| Text on brand bands | Aa | 9.36:1 | AAA |
| Muted text on brand bands | Aa | 5.65:1 | AA |
| Pairing | Sample | Ratio | WCAG |
|---|---|---|---|
| Body text on page | Aa | 15.32:1 | AAA |
| Body text on cards | Aa | 16.94:1 | AAA |
| Secondary text | Aa | 5.76:1 | AA |
| Links | Aa | 6.43:1 | AA |
| Button text | Aa | 7.47:1 | AAA |
| Accent label text | Aa | 5.07:1 | AA |
| Text on dark bands | Aa | 15.32:1 | AAA |
| Muted text on dark bands | Aa | 7.97:1 | AAA |
| Text on brand bands | Aa | 7.47:1 | AAA |
| Muted text on brand bands | Aa | 4.99:1 | AA |
Designed by Greater Purpose Web. Names, people and events are sample content.