Files
eazy-design-export/_ds/eazy-design-system-019e085a-0638-7c53-ad03-c4d5f4423a34/README.md
T

243 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# eazy Design System
A working design system for **eazy** (E.Z.WAY / איזיווי) — an Israeli company that runs psychometric exam (פסיכומטרי) prep courses for highschoolers, prearmy youth, soldiers, and adults preparing for university.
> Brand line: **פשוט תצליחו.** ("Simply succeed.")
> Domain: ezway.co.il · Phone: 1700707007
---
## Index
| File / folder | What's in it |
| --- | --- |
| `README.md` | This file. Brand context + content + visual + iconography rules. |
| `SKILL.md` | Agent skill manifest — used when this folder is mounted as a Claude skill. |
| `colors_and_type.css` | All CSS variables for color, type, spacing, radii, shadow, plus element-level type rules. **Import this from any HTML you build.** |
| `fonts/` | Brand OTF webfonts (Avigul family, Almoni Neue Tzar, Geomanist, FbTamlilCondensed). |
| `assets/` | Logos (orange E mark + wordmark, white wordmark), brand shapes (`Z` block, arrow, dot motif). Any new icons go here. |
| `preview/` | Small HTML cards rendered by the Design System tab — colors, type, components, etc. |
| `ui_kits/web/` | Recreation of the **eazy.co.il marketing site** as a clickthrough prototype with reusable JSX components. |
| `ui_kits/flyer/` | Square / portrait social flyer template — the most common artifact eazy ships. |
| `_source/` | Original mockups, PDFs, and flyers shipped by the user. Reference only — never serve from here. |
## What is eazy?
eazy (stylised lowercase — `eazy`) is a brand of the company **E.Z.WAY**. They sell:
* **Psychometric prep courses** for highschool students (the bulk of marketing flyers).
* **Prearmy / army programs** — Tzav Rishon prep, programs for Atidim (עתידים) and lone soldiers.
* **Adult & municipal courses** through partnerships with city youth centers (מרכז צעירים) — Kiryat Bialik, Tiberias, Raanana, Sderot, Kiryat Gat, etc.
* **eazy VOD** — recorded course content as backup.
* The marketing site **ezway.co.il** ties everything together.
The audience is overwhelmingly **young Israelis aged 1622**. The whole brand is RTL Hebrew with English used sparingly (product names like "eazy VOD", "Start now").
## Source materials
Provided by the client through the importer (not all may be reaccessible):
* **Mounted folder `אתר + עמוד נחיתה/`** — desktop + mobile homepage and inner page mockups (PNGs), plus full PDFs of the marketing site (`EZ_WWW_01.pdf`, `EZ_WWW_04_.pdf`) and the desktop landing page (`EZ_LANDING PAGE03 FINAL.pdf`). The `Document fonts/` folder inside it carries the print fonts.
* **Mounted folder `עלונים/`** — ~30 social/event flyers (square JPG/PNG) for everything from a stress workshop to lonesoldier benefits. These are the main visual reference for the brand voice.
* **Uploads** — the orange/black eazy mark (PNG + SVG), the white wordmark SVG + PDF, and the four Avigul webfonts (light, regular, bold, shadow).
Working copies live in `_source/` and `fonts/`.
---
## Content fundamentals
eazy writes the way a confident older sibling would talk to a 17yearold who is anxious about a big test. **Reassuring, plural, secondperson, no jargon.**
### Voice
* **Plural "you" (אתם / תצליחו / שלכם).** Almost everything is addressed to a group — students together, parents and students together. The brand does not use the singular "אתה / את" except in informal stickers ("מה הכיוון שלך?").
* **Imperative + reassurance.** The hero of every flyer is a verb in the imperative: `תצליחו`, `כנסו`, `בחרנו`. It's followed immediately by softening copy: "פשוט תצליחו" — *just* succeed, you've got this.
* **Statement → answer.** Headlines often work as a question + flat answer: "להתקבל לתואר ראשון? **זה איזי**." ("Getting into a Bachelor's? It's eazy.") The pun on the brand name is core; let it land.
* **No hype, no exclamation pileups.** A single `!` for emphasis is the maximum. Never SCREAM. Never use multiple `!!!`.
* **Numbers feel concrete, not boastful.** "8 הדרכים ל‑800 בפסיכומטרי" is a typical move — name a thing, count it, attach a benefit.
### Casing & typographic moves
* Hebrew has no case so this is mostly about the English: **alllowercase wordmark `eazy`** — no trailing period. Never uppercase, never `Eazy`, never `eazy.` with a dot. Product names ride along (`eazy VOD`).
* English snippets inside Hebrew copy stay LTR inside the line (browsers handle this automatically — don't fight it).
### Tone words (use)
confident, encouraging, calm, pluralwarm, cando, pragmatic, slightly cheeky.
### Tone words (avoid)
corporate, salesy, edgy, ironic, urgent, fingerwagging, hustleculture.
### Vocabulary examples (real)
| Real eazy line | Where it appears |
| --- | --- |
| **פשוט תצליחו.** | Brand tagline. Closes most flyers + the homepage. |
| **זה איזי.** | "It's eazy." Brandname pun, used as a flat answer to a question headline. |
| **בחרנו בך** | "We chose you." Used on the partnership flyer with Tiberias / Atidim. |
| **מה הכיוון שלך?** | "What's your direction?" Course discovery flyer. |
| **חשוב וכדאי לדעת מראש** | "Important & worth knowing in advance." Long FAQ-style flyer header. |
| **הוובינר הזה בול בשבילכם** | "This webinar is exactly for you." Event invite. |
### Emoji & punctuation
* Emoji are **not** used in headlines or marketing copy. The smiley `(:` (Western, eyesonright) shows up rarely in friendly body copy on a few flyers — that's the only emojiadjacent move.
* The orange period (`.`) after the wordmark and tagline is sacred.
* Bullets in flyers are **small orange targets / chevrons** (see Iconography), not Unicode dots.
* Question marks land at the end of question headlines and the question mark sits on the **left** in RTL — browsers handle this if you set `dir="rtl"`.
### Length
* Hero headlines: 25 Hebrew words.
* Subheads: one full sentence, ≤ 12 words.
* Body paragraphs in flyers: 24 short lines, never a wall.
---
## Visual foundations
### Palette in use
The brand colour is a single, vivid **orange** (`#F37327`) used as the only true accent — for CTAs, the "E" mark, the price/date stamp, and small icons. The supporting colour is a soft **lavender** (`#A9A4EC`) used as the giant `Z`/arrow shapes that fill hero blocks. A handful of flyers swap the lavender for a deep editorial **indigo** (`#3F4197`) on heavier headlines. Beyond that the system is **offwhite paper** (`#F4F2EE`), pure white cards, nearblack ink, and the cooler `#EFEFF2` for slatetinted backgrounds.
There is **no gradient** in the brand. Solids only.
### Typography
| Role | Family | Weights actually used |
| --- | --- | --- |
| Hebrew display / headline | **Avigul** | 700 bold (almost everything), 300 light for the supporting line |
| Hebrew body / longform | **Almoni Neue Tzar AAA** | 400 regular, 300 light |
| Outlined display variant | **Avigul Shadow** | 700 — used sparingly for posters / event titles |
| English condensed display | **FbTamlilCondensed Black** | 900 — only for short English headlines on landing |
| English body / numerals | **Geomanist** | 400 — phone numbers, dates, English runin copy |
The hierarchy on a real flyer is almost always **giant Avigul Bold headline (lavender or indigo) → small Avigul Bold sublabel (orange) → Almoni body (dark gray)**.
### Backgrounds & motifs
* **Offwhite paper (`#F4F2EE`)** is the default page surface — *not* pure white. Pure white shows up only inside cards.
* **Two giant lavender slashes** are the brand's most recognisable graphic device: an oversized `Z` made of two stacked parallelograms (referencing the `z` in eazy + the `E` mark). They sit behind hero imagery, often clipped by the page edges.
* **Blackandwhite cutout photography.** Real young people, fullheight, smiling or thumbsup, with the background removed. Imagery is desaturated to grayscale (slight cool tint) so the orange and lavender pop. **Never** colour photography.
* **Orange dot cluster** — 46 soft `#FBD9C2` / `#F37327` circles at varying sizes, often layered behind the photo. Treat them as a brand sticker, not random decoration.
* **Arrow chevron bullets** — solid orange `◀` (RTL) on flyers, used as list bullets and section dividers.
* No textures, no noise, no patterns beyond the Z shapes + dots. No illustrations.
### Layout rules
* Hebrew RTL throughout — set `dir="rtl"` on `<body>`.
* Logo (orange E + wordmark) anchors the **bottom of the design** on flyers and **topright on the website header**. It is rarely centered.
* The tagline `פשוט תצליחו.` lives near the logo and is in **orange Avigul Bold**.
* Photos are **fullheight, anchored to a vertical edge** — left edge on most flyers, both edges on group shots.
* Headlines hug the opposite vertical edge of the photo. Big white space between is fine; the lavender Z fills it.
### Animation
The brand is printfirst; nothing observed has motion. For web, default to:
* **Easing:** `cubic-bezier(.2,.7,.2,1)` (gentle, not bouncy).
* **Durations:** 150ms (state changes), 280ms (entry), 480ms (large transitions).
* **Style:** soft fades + small translate (48px). **No bounces, no slideins from offscreen, no parallax.**
### States
* **Hover (button / card)**: fill darkens 8% (lavender → `--ez-lavender-deep`, orange → `--ez-orange-deep`). Opacity tricks are not the move.
* **Hover (link)**: colour shifts to `--ez-orange-deep` and a 1px borderbottom appears in the same colour.
* **Active / pressed**: 1px scale down (`scale(.99)`), no colour shift beyond hover.
* **Focus**: 2px outline in `--ez-orange` with 2px offset. Visible. Always.
* **Disabled**: 40% opacity, `cursor: not-allowed`. No greyout tint.
### Borders, radii, shadows
* **Radii are small**: 412px on most cards/buttons; the brand reads tighter than today's "soft 24px" trend. The big lavender Z shapes are **not rounded** at all — sharp parallelograms.
* **Shadows** are barely there. `0 6px 20px rgba(40,30,80,0.08)` is the working card shadow. The print materials use **no shadow** — favor flat where possible.
* **Borders** are 1px in `--ez-line` (`#E2E2E6`). On orange/lavender surfaces, drop the border and rely on the colour break.
### Transparency & blur
* **Blur** is not part of the brand. Don't use `backdrop-filter: blur()`.
* **Transparency** appears only in the orange dot motif and in the faint inner Z shape (a 60% lighter lavender showing through the outer Z). Roughly: outer Z `var(--ez-lavender)`, inner Z `var(--ez-lavender-soft)` at full opacity (not alpha) — the look is two solid stacked shapes.
### Cards
A "card" in the eazy world is a **white panel on the offwhite page**, with a hairline border (`--ez-line`), a 12px radius, and an optional faint shadow on hover only. No coloured left borders. No pillshaped frames. Photos inside cards are fullbleed to the top.
### Imagery colour vibe
Cool grayscale (slight desaturation toward blue, not warm). **No grain, no film effects.** Cutouts are clean — no halos. People look directly at the camera.
---
## Iconography
eazy does not ship a system icon font. The "icons" you see in materials are very small, intentional, and almost always one of these four moves:
1. **The orange `E` mark** (`assets/logo-mark-orange.svg`) — used as a logo, never as a generic icon.
2. **Solid orange chevron bullets** — used in lists. In RTL these point ◀ (left). See `assets/bullet-chevron.svg`.
3. **Small flat target / dart marks** — used as bullets on the workshopstyle flyers. Twocolour (orange ring + lavender dart). See `assets/bullet-target.svg`.
4. **Decorative dot cluster** — 46 circles in `--ez-orange-soft` and `--ez-orange`, scattered at random sizes (1248px). See `assets/dot-cluster.svg`.
For any UI work that needs more icons (chat bubble, calendar, phone, location pin) **substitute Phosphor Icons "regular"** weight from CDN — they share Avigul's geometric, lightly rounded character. This is a substitution; flag it.
```html
<!-- Phosphor icons via CDN — substitution for missing eazy iconography -->
<script src="https://unpkg.com/@phosphor-icons/web"></script>
<i class="ph ph-calendar-blank"></i>
```
**No emoji.** **No Material/Font Awesome.** **No Unicode characters used as icons** (the brand explicitly avoids `★ → ☎`type tricks).
When you need imagery (a hero photo of a student) and don't have a real cutout yet, leave a **labelled grey placeholder block** — never generate AI imagery, never draw an SVG person.
---
## Substitutions flagged
The OTF files don't include a CSSnative fallback chain that exactly matches Avigul. Web stacks fall back to **Heebo** (Google Fonts) or **Assistant** if Avigul fails to load — both are opensource Hebrew sans with similar geometric character but slightly heavier counters. Visually close enough for prototyping; for production, ensure the `.otf` files are served and licensed correctly.
If the Avigul / Almoni / Geomanist / FbTamlil licenses do not permit web embedding, replace with **Heebo + Rubik + Bebas Neue** (Google Fonts) and update `colors_and_type.css`. **Please confirm font licensing before shipping production.**
---
## How to use
In any HTML you build, link the foundations once at the top:
```html
<link rel="stylesheet" href="../colors_and_type.css">
<body dir="rtl">
<h1 class="ez-h1">פשוט תצליחו.</h1>
</body>
```
Then pull components from the right kit (`ui_kits/web/` for marketing pages, `ui_kits/flyer/` for social flyers). Both kits expose React components via `<script type="text/babel" src="...">`.
---
## Exported components
Reusable React components live under `components/<Name>/` and are exposed on the
compiled namespace `window.EazyDesignSystem_019e08`. Each ships a `<Name>.jsx`
(`export function <Name>`), a `<Name>.d.ts` typing, and a `<Name>.html` `@dsCard`
preview.
* **`EzButton`** — the brand button. Solid fills only (no gradients), pill radius,
Avigul display type. Variants: `primary` (orange), `secondary` (lavender),
`ghost` (outline), `link`. Hover darkens the fill 8%; active presses to
`scale(.99)` — per the States spec above.
```html
<script src="../../_ds_bundle.js"></script>
<script>
const { EzButton } = window.EazyDesignSystem_019e08;
// React.createElement(EzButton, { variant: "primary" }, "לרישום לקורס")
</script>
```
The standalone games (`quiz-game/`, `quiz-game-server/`, `quiz-game-export/`,
`role-game/`, `flashcards/`) are full deployable builds, not library exports —
they mount their own root via `window.<Name>` and are intentionally not on the
shared namespace.