Owners & front desk
Web app on Glass. Dense but calm. What needs attention sits at the top.
Pista is the operating system for padel academies worldwide: students, groups, coaches, plans, payments and messages in one place, connected to whatever the club already uses. These guidelines set how Pista looks, sounds and behaves on every screen, message, invoice and deck, so anyone can build it the same way.
An academy owner hands Pista their students, their schedule and their income. The brand has to feel like a well-run club office: quiet, exact, and ready before you arrive. It should never look like a booking app shouting about deals.
Pista is where renewals, payments and coach hours are counted. A calm, precise look makes every figure feel checked. Loud colour and marketing tone would undercut that.
The padel clubs opening across Bangkok, Bali, Jakarta and Singapore are premium spaces. Pista should sit next to a nice front desk without looking cheap, and next to Playtomic or Stripe without looking like a copy.
Alvaro, a designer, a contractor or Claude should be able to make a Pista screen, LINE message or deck without asking. Every rule here comes with its reason, so new cases can be decided the same way.
Every rule on this page comes from one of these. When a case is not covered, decide it with them.
Owners open Pista when something needs doing. Show what needs attention first, keep everything else quiet, and never make a normal day look like an emergency.
Every amount, count and date is real and reconciles. Show units and currency. Use tabular numbers. If we do not know, say so.
Pista connects to the club's booking system, payment provider, POS and chat app. We never lock data in. Export and APIs are part of the product.
One ultramarine action per view. One clear next step in every message. Coaches on court get one big button.
Built for every padel market: WhatsApp, LINE or SMS depending on the country; SEPA, ACH, mada or PromptPay; local formats and laws. Built for 20 languages, each one written to read as if it came first.
Pista is what Spanish and Italian players call the court: pista de pádel. It is short, easy to say in Thai, Bahasa and English, and it points at the one place every academy session happens. Academy OS is the descriptor, used when people need to know what Pista is.
Checked 6 Oct 2026: whois shows pistahq.com, pistaos.com and pista.asia as unregistered, and no padel software called Pista showed up in search. pista.com and pista.club are taken. Register the domains and run a trademark search before spending on the brand.
Open decision: a padel club called Pista has just opened in Bangkok. That isn't a legal problem (different services, common word), but clubs are our buyers, and some may read the software as that club's product. Decide before launch: keep the name and speak to the club, or rename. The logo is generated from code, so a new name costs about an hour.
The wordmark is Pista in Instrument Serif Italic, drawn as outlines so it never depends on a font. One detail makes it ours: the dot of the i is a tiny padel court seen from above, net across the middle, leaning with the italic. The same court sits beside an italic P to make the app icon, so the two always belong together.
brand/assets/ (SVG, nine variants), regenerated from the font with python3 brand/tools/make_assets.py. Never retype the wordmark.The palette comes from a padel court at night: cool glass walls, a deep blue-black sky, white lines, and the ultramarine turf that so many new courts are laid with. Click a colour to copy its hex code.
Rough proportion on any screen: 70 glass and surface · 20 ink · 7 night · 3 ultramarine. If ultramarine covers more than a button and a link or two, something is shouting.
Status colours are functional, never decoration: green means settled, amber means coming up, red means act now. Each is paired with a word, so the meaning survives colour blindness and greyscale print. All text pairs pass WCAG AA in light and dark (checked 6 Oct 2026; Slate on Glass 4.9:1, white on Ultramarine 7.6:1).
Never use: gradients; neon or lime "padel ball" yellow-green; the colours of brands we connect to (Playtomic, LINE green, WhatsApp green, Stripe purple) outside their own logos.
Instrument Sans does the work: interface, tables, numbers, documents. Instrument Serif in italic appears once per block, for the phrase that should sound human. Both are free (SIL Open Font License) and served by Google Fonts.
Aa 12
Headlines at 500, text at 400, labels and the wordmark at 600. Tabular figures for every number that sits in a column.
Aa
One phrase per block, never a full paragraph, never in the product's working screens. Greetings, section titles, one word in a hero.
November, sorted.
42 lessons this week
Group B3 · Intermediate · Court 2
Mai's Growth plan renews on 1 November. Two of her four group classes were missed this month, so Pista marked her as at risk and told her coach.
฿6,400 · Rp 2.400.000 · S$180.00 · 17:00–18:30
Due this week
ไทย: IBM Plex Sans Thai · Bahasa uses Instrument Sans. CJK falls back to the system font. Never fake a Thai look with a Latin display face.
Icons are 1.5 px outlines on a 24 px grid with rounded joins, the same weight as the court lines in the mark. No filled icons, no 3D, no illustrations of people. When we need a picture of a schedule or a session, we draw the court.
Screens are built from 1 px hairlines, 6 px corners and an 8 px spacing grid. Cards only where an object really is separate. Shadows only on things that float (menus, dialogs). Status always has a word and a colour.
| Student | Plan | Status | Amount |
|---|---|---|---|
| Mai Suksawat | Growth · B3 | Due 1 Nov | ฿6,400 |
| Daniel Ortega | Performance · A1 | Paid | ฿11,800 |
| Kanya Lertpan | Starter · C2 | Overdue 6 days | ฿4,200 |
| Rizky Pratama | Pack · 10 classes | Trial | ฿1,200 |
| Hana Ito | Growth · B1 | Paused to Dec | ฿0 |
Example rows. Amounts right-aligned with tabular figures; status as word plus colour.
One primary per view. Labels say exactly what happens, in sentence case.
8 px grid (8 · 16 · 24 · 32 · 48 · 64). Corners 6 px on controls, 10 px on panels, round on pills only. Hairline 1px rgba(13,20,36,.13).
Where Pista sells, it may move like a premium brand: the website, demo intros and social reels each get one orchestrated moment per section. Where owners work all day, motion is only feedback. Nobody wants a renewals table that dances.
Headlines rise line by line from a mask. The court draws itself behind the hero. Statuses turn to Paid one by one. The agent chain lights up step by step. 0.8 to 1.4 s, expo.out, 40 to 90 ms stagger, scroll-triggered once.
A button presses (scale 0.97, 160 ms). A row confirms. A drawer slides from its edge. 150 to 250 ms, cubic-bezier(0.23, 1, 0.32, 1), transform and opacity only, hover only on real pointers. Keyboard actions never animate.
Pista talks to five kinds of people in five places. The core (mark, type, hairlines, ultramarine action) never changes. Each room only changes its ground, its density and its tone.
Web app on Glass. Dense but calm. What needs attention sits at the top.
Phone app on white, readable in sun. 18 px text, 48 px targets, one big button.
LINE, WhatsApp, portal, email. The club's name leads. First names, one link, local language.
Docs and API on Night. Mono for code only. Precise, short, versioned.
Website, decks, social. Ultramarine grounds, one big statement, real club photos.
Warm, exact, short. We write the way a manager who knows every student by name would talk at the front desk: no hype, no jargon, no blame. Every message says what happened, what it costs, and the one thing to do next.
Student (not customer or user) · Plan for monthly, Pack for class credits, Drop-in, Private · Class is one session, Group is the people who train together · Due, Overdue, Paid, Paused · Connect for integrations.
24-hour time (17:00). Dates as Tue 14 Oct. Local money with its own symbol and separators: ฿6,400 · Rp 2.400.000 · S$180.00 · ₱3,500. Never round a money amount in the product.
English, Thai and Bahasa Indonesia from day one, Vietnamese next. Each language is written by a native speaker, not machine output pasted in. Thai messages use ค่ะ/ครับ to match the club's sender.
Emoji in the product or in invoices. Exclamation marks in errors. "Oops". Blaming the student for a failed payment. Promising a feature or integration that doesn't exist yet.
Short recipes for the places Pista appears most. If a channel is missing, start from the closest one and the five principles.
Glass ground, white panels, hairlines. A sticky header with the academy name and a search. Attention list first, detail on click. Light and dark modes, with the dark mode built on Night.
Check: one ultramarine button per view, every number tabular.
Sent in the club's name, signed "Pista" nowhere. Under 300 characters, first name, the amount, one button. Flex message cards on LINE use white, Ink and one Ultramarine button.
Check: works in Thai first, reads fine as a phone notification.
A4 and phone-width PDF. Club logo top-left, "Powered by Pista" in the footer. Tax details per country (Thai VAT, Indonesian e-Faktur if registered). Amounts right-aligned.
Check: the student can pay from the PDF in one tap.
Stage room: ultramarine statement hero, real club photography, a plain-language product tour, prices on the page. One call to action: "Start free trial".
Check: a club owner knows the price in 10 seconds.
16:9, Glass ground, one idea per slide, the italic serif for one phrase per title. Numbers carry their source and date. Cover and closing slides may use Night or Ultramarine.
Check: every claim on a slide has a source.
Real academies, from Madrid to Miami to Bangkok: coaches' hands, a ball against the glass, the court lines from above, evening lights. Natural colour, no heavy filters. No stock, no other brands' logos in shot, no posed handshakes.
Check: could it only have been taken at a padel academy?
The same tokens power this page, the product map and the product itself. Use them as CSS variables. If a value you need is missing, add it here first, then use it.
How we build (design skills, review steps, release checklist) lives with the code in docs/DESIGN-WORKFLOW.md, not in this guide. The guide says what Pista looks and sounds like; the workflow says how we check it.
:root {
/* colour */
--pista-glass: #EEF1F2; /* ground */
--pista-surface: #FFFFFF; /* cards, tables, documents */
--pista-ink: #0D1424; /* text, mark */
--pista-ink-2: #3C4658; /* secondary text */
--pista-slate: #5F697B; /* captions, labels */
--pista-ultra: #2B3FD4; /* the one accent */
--pista-night: #0B1328; /* dark ground */
--pista-line: rgba(13,20,36,.13);
/* status (functional only) */
--pista-ok: #1E7A52; --pista-warn: #8F5B00; --pista-bad: #B3261E;
/* dark mode */
--pista-dark-ground: #0A0F1C; --pista-dark-surface: #111829;
--pista-dark-ink: #E9ECF2; --pista-dark-ultra: #8C98FF;
/* type */
--pista-sans: 'Instrument Sans', system-ui, sans-serif;
--pista-serif: 'Instrument Serif', Georgia, serif; /* italic, one phrase */
--pista-thai: 'IBM Plex Sans Thai', system-ui, sans-serif;
/* shape */
/* motion */
--pista-ease-out: cubic-bezier(0.23, 1, 0.32, 1); /* product feedback, 150–250 ms */
--pista-press: scale(0.97); /* 160 ms */
--pista-radius: 6px; --pista-radius-lg: 10px; --pista-space: 8px;
}
Start with their pain.
Our buyers are academy owners, directors and head coaches, not players. Every post opens on a problem they lived this week, in their own words, then shows how a well-run academy handles it. The product appears as the answer, with example data labelled, and the call to action is always the demo or the pilot.
Hooks that work
"Who trained this month without paying?" · "Your group of two is costing you a court." · "The student who paid and stopped coming." · "Bank slips are a real payment method." · "Did your academy grow last month?" Short, specific, from the owner's week. Full list:
docs/strategy/06-social-content-system.md.Layout
Kicker top-left, one headline with one italic phrase, a single supporting element (rows, a court, four numbers), wordmark bottom-left, page count bottom-right. Glass and Night for teaching posts, Ultramarine for covers and announcements. Formats: 1080×1350 carousel, 1080×1920 story and reel, 1200×627 LinkedIn.
Rules
No invented numbers, customers or quotes. Screens and figures from the demo are labelled "Example". No emoji, no stock photos, no lime balls. Captions under 60 words, one call to action. Write in plain English that translates cleanly; keep idioms out.