Getting Started

The path from sign-up to results reaching every parent's phone. Pick the journey that fits you.

THE MODEL

Enter a score once: every public surface updates by itself.

A competition is your top-level brand; a season is one run of it; a division is one group that plays together. When you record a result, it fans out automatically.

  1. Sign in

    Go to league.asabya.com and sign in with Google or an email magic link. No password.

  2. Create your organization

    Open →

    The welcome screen sets it up once; your dashboard checklist then tracks the rest.

  3. Create your first competition

    Open →

    New competition opens a guided wizard: pick the activity and format, use Help me choose, or load sample data to see it working.

  4. Add clubs & rosters

    Open →

    Open the division and add clubs (Arabic names auto-translate); open each roster to add players. Set an age band to flag ineligible players.

  5. Generate the schedule

    Open →

    One click builds the full round-robin, bracket or Swiss rounds and validates them. Each pair once, no overloads.

  6. Enter results

    Open →

    Type scores and standings recompute instantly: or delegate with scoped, revocable scorekeeper links.

  7. Publish

    Open →

    Confirm club names carry no student full names, then your public site goes live at yourname.asabya.com.

  8. Share everywhere

    Open →

    Every result has a WhatsApp share; parents follow by email, enable push, add the calendar, RSVP; embed standings on your own website.

  9. Finish the season

    Open →

    Publish awards, print certificates, lock rosters before finals, set promotion/relegation. Next season carries clubs over.

The six formats

What each one is, and when to use it. Picked in the wizard, or via Help me choose.

League (round-robin)
Round robinEvery team plays every other team once.With 8 teams that is 7 matches each and 28 in total, and the table decides the winner. No elimination.Choose it when every team should get the same number of matches and nobody goes out early.

Best for: a season over weeks

Everyone plays everyone once; ranked by points (3 win / 1 draw / 0 loss). The fairest format. One match can’t eliminate a team. One click builds the whole schedule.

Home & away
AggregateThe two legs added together to decide who goes through.A 1-0 loss away and a 3-1 win at home is 3-2 on aggregate.Use it in two-legged ties, where neither single match decides the tie on its own.

Best for: a full home-and-away season

Like League, but every pair plays twice. Home and away. Doubles the match count; rewards consistency across both legs.

Knockout
KnockoutThe loser of each match is out, until one team is left.Half the teams leave after every round, so it finishes quickly.Choose it for a short event. Avoid it if teams travelled far, since half of them play once.

Best for: fast one-day events

Win or go home. The bracket is seeded automatically from club numbers; top seeds get byes when the count isn’t a power of two.

Double elimination
BracketThe tree of matches showing who plays whom and where each winner goes next.It is drawn from the seeding, so changing seeds changes who could meet and when.

Best for: robotics & esports

A team must lose twice to be out. Winners’ and losers’ brackets feed a grand final; if the losers’ champion wins it, a reset match is played.

Swiss
SwissA fixed number of rounds where each round pairs teams on similar scores, and nobody is eliminated.Pairings are generated round by round, so the schedule is not known in advance.Choose it for a large field with few rounds available, where a full round robin would take too long.

Best for: chess & large fields, few rounds

Each round pairs teams on equal scores; nobody is eliminated. Set the round count up front, and generate each round once the previous round’s results are in.

Groups + knockout
StageOne phase of a competition that finishes before the next one begins.A season can have more than one stage, and teams carry forward from one into the next.

Best for: World-Cup-style events

Mini round-robin groups, then the top finishers cross-seed into a single-elimination bracket. Group rivals can’t meet until the final. Set the number of groups and qualifiers at creation.

Scoring by activity

Set the activity in Competition type; the standings columns and result entry adapt automatically.

  • ⚽ Football

    Columns P W D L GF GA GD Pts. Enter numeric scores; 3 / 1 / 0; goal difference breaks ties.

  • 🤖 Robotics

    Identical to football, labelled PF PA PD (points for / against) for high-scoring matches.

  • ♟️ Chess

    No for/against columns (P W D L Pts). Each match is Home win / Draw / Away win; win = 1, draw = ½; Buchholz and Sonneborn-Berger tiebreaks are computed automatically.

Key concepts, in pictures

The ideas behind the formats, shown at a glance.

1Head-to-head2Score difference3Score for

Tiebreaks

When teams are level, these criteria decide the order, top one first.

Swiss pairing

Each round pairs players on the same score, so everyone keeps playing.

Advancement

Group qualifiers feed the knockout, and the bracket crowns the winner.

RegistrationMatchdaysPlayoffsFinal

Season timeline

From registration through the matchdays to the playoffs and the final.

Beyond the basics

The tools you’ll reach for once your competition is running.

Announcements
Competition admin → Announcement composer. Target the whole competition, a division, or a club; optionally also send by email.
Team registration
Open registration on the season (deadline, capacity, welcome message); teams submit a no-account form; approve each into a division from Pending.
Reactions & comments
Competition admin → Community settings. Reactions need only a display name; comments are pre-moderated. They go public after you approve them.
Promotion / relegation labels
Division workspace → Promotion / relegation rules. This labels the standings positions; it does not move clubs automatically.
Points adjustment (Adj column)
A manual +/− on top of computed points, for walkovers or rulings. Contact support@asabya.com to apply one.
Public API
No-auth JSON at /api/v0/events, /api/v0/events/[id]/standings and /bracket (60-second cache, CORS open).

Worked example: Groups + knockout

The most involved format, end to end: 16 teams · 4 groups · top 2 qualify · 8-team bracket.

  1. Create with Groups + knockout; set 4 groups / 2 qualifiers. One division per group plus a Knockout division are made for you.
  2. Register teams into each group division (each is its own mini round-robin), spread evenly.
  3. Schedule each group: 2 · Schedule → Generate schedule.
  4. Run the group stage: enter every result. Seeding is blocked until all groups finish.
  5. Seed the knockout (Knockout division → Seed knockout): top N per group, cross-seeded so same-group teams can’t meet before the final. Re-seed knockout unlocks the groups to fix a result.
  6. Run to a champion: winners advance automatically; the Champion banner appears when the final is scored.

Built from the client SOP; kept in sync with it.