Home · How it works

How FaceBattle Works

A 60-second walkthrough of the 1v1 mogging battle on omoggles.com — what the AI is doing, how scoring works, and how ELO ranks you against the rest of the world.

The 7-step flow

  1. Open omoggles.com — confirm you're 18 or older on the age gate.
  2. Accept terms — quick privacy summary (no data leaves your browser).
  3. Pick a name + photo — both saved only in your browser, never on a server.
  4. Grant camera access — required for the live WebRTC connection to your opponent.
  5. Click Random Battle (or Play with a Friend) — within seconds you're paired.
  6. 20 seconds of battle — AI scores both faces every 2 seconds, scores update in real time.
  7. Result — higher average score wins. ELO updates, points earned, rematch or queue again.

What the AI is actually doing

The face scoring is not a black box. It runs entirely in your browser using MediaPipe FaceMesh — Google's face landmark model that identifies 478 specific points on your face every video frame. From those points, FaceBattle computes five geometric metrics:

1. Symmetry

Distance from each eye centre to the nose tip, normalized by face width. The closer the two distances are, the more symmetric your face — and the higher your symmetry score.

2. Eye spacing

Inter-canthal distance (between the inner corners of your eyes) divided by face width. The "ideal" sits around 0.33 — close to the golden ratio. Wider or narrower drops the score.

3. Jawline

Gonial-corner width (where your jaw bends) divided by temple width. A sharper taper toward the chin reads as a stronger jaw and scores higher.

4. Lip fullness

Combined upper + lower lip thickness divided by mouth width. The ideal ratio sits around 0.22.

5. Cheekbones

Cheek width relative to jaw width. Cheeks wider than the jaw produce the "high cheekbones" look that scores highest.

The five metrics are averaged into a single 0–10 score and mapped to a tier — Rookie, Bronze, Silver, Gold, Platinum, Diamond, Legend.

How matchmaking actually pairs you

When you click Random Battle, your browser opens a WebSocket to omoggles.com. The server adds you to a FIFO queue. The next person who joins gets paired with you (different user ID, no recent skip cooldown). Both clients then exchange WebRTC SDP and ICE candidates through the server — but the actual video stream goes peer-to-peer, browser-to-browser, never through us.

What about ELO?

FaceBattle uses standard chess-style ELO. K-factor is 32 for your first 30 battles (so you climb fast early), then drops to 16. Win against a higher-ranked player and you gain a lot; lose to one and you barely lose anything. Win against a lower-ranked player and the gain is small.

Tier thresholds: Rookie 0–49, Bronze 50–149, Silver 150–299, Gold 300–499, Platinum 500–749, Diamond 750–999, Legend 1000+.

What if I want to play with a specific friend?

Click Play with a Friend on the home page → Generate code. You'll get a 6-character code (like 3NGCBF). Send it to your friend by text/Discord/whatever. They click Join, paste the code, and you both drop straight into a private 1v1 — no queue.

Play FaceBattle now →