StyloTech product · Ref. SP-03

Zivou

Live quizzes that turn a room full of people into a room full of players.

Platforms

Web · iOS · Android

On the web
  • A host lobby on the big screen: “The room is yours. Let them in.”, the six-digit code 478 110, a QR code and an invite link, and six invented players waiting — Kev, Priya, Ravi, Jean-Marc, Sofia and Anaïs.
    Host lobby
  • The first question of the solo demo in a desktop browser: the question, its countdown and four colour-coded answers, each with its own shape.
    Question
  • The end of a game on the host’s screen: “A round of applause.”, a podium with Kev first on 1,870 points, Priya second and Sofia third, and buttons to download the results, host a rematch or go home.
    Podium
  • The host’s studio for an invented hotel group: the free-trial reminder, a call to create a quiz, ready-to-edit starter templates and the saved quizzes.
    Host studio
On iOS and Android
  • Joining on a phone: the game code, a nickname and a choice of twelve game faces.
    Join
  • A multiple-choice question on a phone, with four large answer tiles and the countdown.
    Answer
  • A put-in-order question on a phone: four milestones to arrange, each with a drag handle and move buttons.
    Put in order
  • A participant’s results for a finished game: the podium, the full leaderboard and the player’s own row highlighted.
    Results
Captured from the React web client in Zivou’s dark theme — a desktop browser at 1440×900 and a phone at 720×1560 — against its Supabase backend with throwaway demo accounts and invented players, deleted afterwards. The join address in the lobby shows the production domain.
Try it here

Twenty seconds. One question. Your move.

This is how a Zivou round feels from a player’s phone: the clock runs, you tap, and speed turns into points — scored with the same formula the product runs in its database.

A Zivou question20

What does a player need to join a Zivou game?

Faster correct answers earn more points: 500 for being right, up to 500 more for being quick.

question formats
7
digits to join a game
6
apps for players to install
0
languages, English and French
2

Play the full demo

Meetings, onboarding sessions and training days in Mauritius are full of people who have stopped listening. Quiz tools exist, but they are built for classrooms abroad, ask every guest to download something, and rarely speak French. Zivou is a quiz a company can run for its own people in two minutes: a six-digit code, a nickname, and the room is playing.

StyloTech’s role

Zivou is StyloTech’s own product. We define, design, build, run and support it — the React web client, the Supabase schema with its row-level security and grading functions, the plans and billing model, the legal pages and the deployment. The Android and iOS apps are in development on the same backend.

Every company account starts with a 90-day trial, then a monthly or yearly plan priced in rupees. Because hosts pay and players never do, the rules that matter — who may host, how many may join, what a correct answer is worth — live in Postgres, not in the browser.

Get the app

The Android and iOS apps are in development. Until then, the web app is live.

Product sitezivou.stylotech.mu
Platforms
  • Web
  • iOS
  • Android
Built with
Web client
  • React 19
  • TypeScript
  • Vite
  • React Router
  • Motion
  • Web Audio
Mobile client
  • Flutter
  • go_router
  • mobile_scanner
  • Lottie
  • App Links
Backend
  • Supabase
  • PostgreSQL
  • Row Level Security
  • Postgres RPC
  • Supabase Auth
Infrastructure
  • Supabase Storage
  • Edge Functions
  • Firebase Cloud Messaging
  • Custom SMTP
  • GitHub
Quality & delivery
  • Vitest
  • Playwright
  • axe-core
  • SQL test suites
What StyloTech delivered
  • Product strategy
  • UI/UX design
  • Design system
  • Technical architecture
  • Frontend development
  • Backend development
  • Database design
  • Testing & QA
  • Deployment
  • Maintenance

What it does

Each part was built for a real job on the day, not for a feature list. The product’s own site walks through them in full.

01

Seven ways to ask

Multiple choice, true or false, multi-select, a typed answer, a number with tolerance, an unscored opinion poll and put-in-order — each validated and graded by its own rules in the database.

02

In with a code, no app

Players scan a QR or type a six-digit code, pick a nickname and a game face, and answer from any phone or laptop browser. Guests need no account.

03

The host holds the remote

Open the lobby, remove a player, start, reveal and move on at the room’s pace, with fullscreen and sound for a projector or a video call.

04

A reveal worth waiting for

Answers lock when sent and the live count climbs on the big screen; the reveal shows how the room split, the right answer and the host’s explanation.

05

Scoring that is fair

A correct answer is worth 500 to 1,000 points by speed, double on chosen rounds, measured on the server’s clock so a slow phone is never penalised twice.

06

A podium, then a rematch

The top three rise on an animated podium with confetti; the game stays in the host’s history, and a rematch with the same quiz is one click.

07

A studio for the host

Start from a template or a blank quiz, reorder and duplicate questions, set timers from 10 seconds to two minutes, add explanations, and preview with the real answer controls.

08

Companies host, players keep score

Sign-up chooses a company account to run quizzes or a free participant account that keeps every result and leaderboard from games played while signed in.

09

Plans enforced where they count

Players per game, saved quizzes and simultaneous lobbies are checked inside the hosting functions; CSV export of results comes with the paid plans.

10

Made for real phones

Put-in-order is drag and drop with a mouse and by a handle on touch screens; a player whose connection drops rejoins the same seat.

11

Bilingual and accessible

English and French throughout, light and dark themes, synthesised sound effects that can be switched off, keyboard operation and reduced motion respected.

12

Privacy as a feature

Players are visible only by nickname, phone numbers never reach a game, and any user can download their data or delete their account themselves.

One answer, traced

A player taps an answer on their phone. This is everything between that tap and the points on the big screen.

Read from the zivou_submit and zivou_state functions in the Supabase migrations. Every name below appears in the source exactly as written.

  1. 01

    The phone sends only the answer

    The answer input calls zivou_submit with the game, the question number and a random player token kept on the device. No score, no timestamp, nothing the database should decide.

    • AnswerInput
    • zivou_submit
    • p_token
  2. 02

    Is this player in this game?

    The token is matched against the players of that session. It never appears in a URL, so a link shared in a chat cannot be used to answer as someone else.

    • zivou_players
    • token
    What it says when it refuses

    An unknown or foreign token is told to join the game before answering.

  3. 03

    Is the question still open?

    The session must be on this very question, in play and not expired.

    • status
    • question_index
    • expires_at
    What it says when it refuses

    An answer to a question already revealed, or to the wrong one, is refused as closed.

  4. 04

    The database keeps the time

    Elapsed time is clock_timestamp() minus the moment the question started, against the question’s own timer — the phone’s clock is never asked.

    • clock_timestamp()
    • question_started_at
    • seconds
    What it says when it refuses

    Too early says the question has not started; too late says time is up.

  5. 05

    Checked for its format

    One choice, several choices, four items in order, text up to 200 characters or a number within a trillion — each format has its own shape, checked before grading.

    • choice
    • boolean
    • multi
    • text
    • number
    • poll
    • order
    What it says when it refuses

    A malformed answer is turned away with a message for that format, such as “Arrange all four items”.

  6. 06

    Graded against what only the database knows

    The correct index, set, accepted answers, tolerance or order are read from the server’s copy of the quiz. Polls are never scored.

    • correctIndex
    • correctIndices
    • acceptedAnswers
    • tolerance
    • correctOrder
  7. 07

    Speed becomes points

    A correct answer earns 500 plus up to 500 more for speed, multiplied on double-point rounds.

    • 500 + floor(500.0 * (1 - elapsed / duration))
    • pointsMultiplier
  8. 08

    Once, and only once

    The answer is stored under a key of game, player and question; a second tap is ignored rather than counted.

    • primary key (session_id, player_id, question_index)
    • on conflict do nothing
  9. 09

    Secret until the reveal

    Until the host reveals, zivou_state removes every correct-answer field from what it sends; afterwards it returns the answer, how the room split and the new standings.

    • zivou_state
    • distribution
    • players

Engineering detail

Taken from the project source, not from marketing material.

Data model
Supabase Postgres: 8 tables, every one under row-level security, with 9 access policies and 22 SQL functions, built up across 5 migrations
Answer secrecy
Correct answers never leave the database before the reveal: zivou_state strips them from the question it returns, and zivou_submit grades every answer on the server
Timing
Speed is measured with the database clock, not the phone’s; ties are broken by total time on correct answers, and a player can answer each question exactly once
Plans and trial
A trigger on sign-up grants the 90-day trial once per account; player caps, quiz limits and lobby limits are refused by the hosting and joining functions themselves
Web client
React 19 with strict TypeScript and Vite, React Router and Motion; every screen in English and French, light and dark, with Web Audio sound and canvas confetti
Quality gates
Vitest unit tests and two SQL test suites run inside transactions that roll back — permissions, plan limits, scoring, results and account deletion — plus automated axe accessibility checks

Live quizzes that turn a room full of people into a room full of players.

Zivou — StyloTech product — StyloTech