{{ badTitle }}
Men's Singles, Men's Doubles and Mixed Doubles.
One Event and a trophy that will sit on somebody's desk for a whole year.
{{ heroSub }}
Men's Singles, Men's Doubles and Mixed Doubles.
One Event and a trophy that will sit on somebody's desk for a whole year.
{{ apprTeaser }}
{{ outingBlurb }}
Every GFX Culture Club event from January onwards — what happened, what's coming, and what you still have time to sign up for.
{{ ev.blurb }}
The GFX Badminton Open returns in September. Three Categories, one afternoon, and a trophy that stays on the winner's desk until next year. You do not need to be good. You need to turn up.
Most people enter two categories — sign up for just one and you'll probably wish you'd entered more.
{{ cat.detail }}
One form, thirty seconds. Tell us your draws and whether you have a partner.
Groups go up here a week before.
Bring non-marking shoes.
It's already engraved with a blank space for your name. No pressure.
{{ apprTeaser }}
Four facts. One of them is unlocked.
The full programme is still coming together. When it's locked, it lands here first.
Photos from the last few events. Send yours and the committee will add them here.
Group of unpaid volunteers, a modest budget and a shared belief that people should know each other's names. We meet monthly, argue about venues, and run everything you see on this site.
Anyone can pitch an event. If it's fun, feasible and doesn't require insurance we haven't got, it usually happens.
Hiking trip, cooking class, karaoke that nobody admits to enjoying — send it over. Two lines is enough.
Upload a photo for each slot — it goes live everywhere that photo appears. Replace swaps it, Remove clears it back to a placeholder.
{{ uploadError }}
Four options. Clicking one applies it site-wide.
Sets the home page headline and blurb. Three takes on the same message.
This console now talks to a real PHP API — edits are written to api/data/content.json on the server and every visitor's next page load picks them up. The password lives only in api/config.php on the server; it is never sent in the page's HTML or JS.