๐ Figma Cleanup & Systematization Checklist
Timeline: 4 minggu (Week 1-4) ยท Owner: Senior Designer ยท File: Amal E-Santri Design System
Progress tracking: Centang checkbox [ ] โ [x] saat selesai. Weekly review dengan PM setiap Jumat.
๐๏ธ WEEK 1 โ Strategic Cleanup & Copy Auditโ
Day 1-2: Decision & Triage (4-6 jam)โ
-
Stakeholder meeting 2 jam dengan PM + Tech Lead. Agenda:
- Approve canonical Dashboard: Polished (25:2) atau "Dark Mode" (30:2)? Recommended: Polished
- Approve canonical palette: Tailwind emerald/zinc? (default)
- Approve font family: Inter only? (recommended โ simpler)
- Approve bottom nav: 6 tab dengan Tabungan atau 5 tab + More menu?
- Meeting notes di-save sebagai "ADR-001 Canonical Decisions" di Notion/Confluence
-
Setup file organization:
- Pindah "Dashboard (Dark Mode) โ 30:2" (yang mislabeled) ke frame baru "๐๏ธ Archive / Explorations"
- Jangan dihapus โ archive saja untuk history
- Tambahkan label "ARCHIVED" di frame title
-
Audit naming inconsistency:
- List semua 42 frame โ cek format
Parent / [ScreenName]atauParent / [Category] / [ScreenName] / [State] - Standardize ke format terakhir (lihat
06-naming-convention-guide.md) - Rename frame satu per satu
- List semua 42 frame โ cek format
Day 3-5: Copy & Content Audit (10-12 jam)โ
-
Greeting pattern (lihat
03-copy-standardization-matrix.md):- Rename headline jadi:
Assalamu'alaikum,\n{FirstName}(dua baris) - Rename subtitle jadi:
{TimeGreeting} ยท {PrayerContext}(contoh: "Selamat pagi ยท Waktu Dhuha") - Apply di SEMUA screen yang punya hero/greeting (Dashboard, Splash, Onboarding)
- Rename headline jadi:
-
Empty state pattern standardize:
- Tagihan Kosong (39:2): โ Sudah bagus, tetap
- Nilai Kosong (39:32): Fix text truncation โ shorten subtext jadi max 2 baris
- Offline (39:62): Change button style outline โ filled primary (match Server Error)
- Server Error (39:99): โ ๏ธ Tambahkan bottom nav (sekarang hilang) + fix text truncation
- Konsistensi circle size: semua 140ร140px (Offline yang 160ร160 โ 140)
-
Copy review per screen โ buka
03-copy-standardization-matrix.md, update sesuai rekomendasi -
Islamic phrase consistency:
- "Assalamu'alaikum" โ tanpa coma di akhir kecuali langsung disambung nama
- "Alhamdulillah" di celebration states
- "Jazakumullah khairan" di thank-you / payment success
- "Barakallahu fiik" di achievement / milestone
Week 1 Deliverable: File yang namespace-nya bersih, copy consistent, archive yang lama.
๐๏ธ WEEK 2 โ Design Tokens Foundationโ
Day 1: Install & Setup (2 jam)โ
- Install plugin Tokens Studio for Figma
- Buka plugin โ Settings โ JSON โ Import file
tokens/tokens-starter.jsondari Design Kit - Verify import sukses: harus muncul 4 token sets (
core,semantic,semantic/light,semantic/dark) - Verify 2 themes muncul (
Light,Dark)
Day 2: Color System Migration (8-10 jam)โ
-
Di Tokens Studio, klik "Apply Themes" โ pilih
Light -
Ini akan generate Figma Variables collection otomatis
-
Migrate color di 42 screen โ pakai pattern berikut:
- Select layer dengan hardcoded color โ Tokens Studio โ Apply token
- Background โ
surface/background - Card bg โ
surface/card - Text primary โ
text/primary - Text secondary โ
text/secondary - Border โ
border/default - Primary button bg โ
brand/primary - Success elements โ
feedback/success-bg+feedback/success-text - Status badges โ
status/hadir,status/izin, dst - Payment status โ
status/lunas,status/belum-bayar,status/overdue
-
Validation QA:
- Install plugin "Design Lint" atau "Contrast"
- Run lint โ pastikan 0 hardcoded color remaining
- Screenshot before/after Dashboard untuk arsip
Day 3: Typography System (6-8 jam)โ
-
Di Tokens Studio โ apply typography tokens
-
Ini generate Text Styles di Figma
-
Apply text styles di SEMUA text layer:
- Hero name (e.g. "Fatimah") โ
display - Section headers (e.g. "Akses Cepat", "Hari Ini") โ
h3 - Card titles โ
h4 - Body content โ
body - Metadata / small text โ
body-smataucaption - Category labels (e.g. "ASSALAMU'ALAIKUM", "SANTRI") โ
micro-label
- Hero name (e.g. "Fatimah") โ
-
Font fallback check: semua pakai
Inter(tidak ada yang masihPlus Jakarta Sansatau system default)
Day 4: Spacing, Radius, Shadow (4-6 jam)โ
-
Spacing:
- Apply Auto Layout dengan spacing tokens
- Page margin: 16px (mobile) โ use
spacing/4 - Section gap: 24-32px โ use
spacing/6atauspacing/8 - Card padding: 16-20px โ use
spacing/4atauspacing/5
-
Border Radius:
- Button โ
radius/sm(8px) atauradius/md(12px) - Card โ
radius/lg(16px) - Hero/feature card โ
radius/xl(20px) - Pill/chip โ
radius/full - Modal โ
radius/xl
- Button โ
-
Effect Styles โ buat manual:
-
shadow/smโ0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06) -
shadow/mdโ0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06) -
shadow/lgโ0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05) -
shadow/cardโ0 2px 6px rgba(0,0,0,0.04) -
shadow/heroโ0 8px 24px rgba(5,150,105,0.25)(colored, brand) -
shadow/fabโ0 8px 20px rgba(5,150,105,0.35)(colored) -
shadow/bottomtabโ0 -3px 16px rgba(0,0,0,0.1)
-
Day 5: Token QA & Export (4 jam)โ
-
Validation checklist:
- 0 hardcoded color
- 0 hardcoded font size
- 0 hardcoded spacing di Auto Layout gaps/padding
- Semua border-radius = token reference
- Semua shadow = effect style
-
Export tokens.json via Tokens Studio:
- Settings โ JSON โ Export
- Save ke lokasi
C:\Users\Kidolabs\Projects\amal-design-kit\tokens\tokens-v1.0.json - Reply ke Claude di chat: "Tokens exported, please validate"
Week 2 Deliverable: Figma Variables complete. File sudah beneran design system, bukan mockup.
๐๏ธ WEEK 3 โ Component Libraryโ
๐ Reference: buka
02-component-spec.mdselama fase ini
Day 1-2: Atoms (12 jam)โ
-
Button component โ create master + variants:
- Variant prop:
Primary / Secondary / Tertiary / Danger / Ghost - Size prop:
XS / SM / MD / LG - State prop:
Default / Hover / Pressed / Loading / Disabled - Icon prop:
None / Leading / Trailing / Icon Only - Width prop:
Hug / Fill - Total variants expected: ~120 combinations (handled via Component Properties)
- Variant prop:
-
Chip component:
- Semantic prop:
Hadir / Izin / Sakit / Alpha / Terlambat / Lunas / Belum-Bayar / Overdue / Neutral - Variant prop:
Tonal / Filled / Outlined - Size prop:
SM / MD - With-icon prop:
True / False
- Semantic prop:
-
Avatar component:
- Size prop:
XS (24) / SM (32) / MD (40) / LG (56) / XL (80) - Type prop:
Image / Initials / Glass - Badge prop:
None / Dot / Number - Border prop:
None / Solid / Glass
- Size prop:
-
Icon wrapper:
- Standardize icon size: 14 / 16 / 20 / 24
- Color = token reference (stroke + fill)
- Library: Material Symbols atau Phosphor (decide)
Day 3-4: Molecules (10-12 jam)โ
-
Card component:
- Variant:
Flat / Elevated / Outlined - Radius:
MD / LG / XL - Padding:
SM (12) / MD (16) / LG (20) - With-action prop (chevron / button di kanan)
- Variant:
-
TextField component (7 states):
- Empty / Focused / Filled / Error / Disabled / Success / Loading
- Dengan/tanpa label
- Dengan/tanpa leading icon
- Dengan/tanpa helper text
- Dengan/tanpa character count
-
AppBar component:
- Variant:
Default / With Back / With Action / Large Title - With-subtitle option
- Trailing actions slot (bell, avatar, button)
- Variant:
-
BottomNav component:
- Persona variant:
Parent / Guru / Walikelas / Bendahara / Admin / Kepsek - Per persona ada tab sesuai decision
- State: Active tab highlighted + label color change
- With-badge support (untuk notifikasi di tab)
- Persona variant:
Day 5: Organisms (6-8 jam)โ
-
HeroCard component (untuk Dashboard):
- Variant:
Parent / Guru / Walikelas(warna gradient berbeda) - Dengan glass child-switcher card
- Dengan Hijri date pill
- Dengan decorative rotated squares
- Variant:
-
QuickActionCard component:
- Variant:
Default / Active / With Notification - With-badge variant
- Icon + label
- Variant:
-
EmptyState component:
- Variant:
Success / Waiting / Offline / Error - Tiap variant punya color + icon preset
- Optional CTA slot
- Optional secondary action slot
- Variant:
-
SkeletonLoader patterns:
- List item skeleton (avatar + text lines)
- Card skeleton (heading + content)
- Dashboard skeleton (hero + metrics + list)
Week 3 Deliverable: Component library matang. Semua screen tinggal assemble dari components.
๐๏ธ WEEK 4 โ Screen Refactor + Dark Mode + Polishโ
Day 1-2: Apply Components + Auto Layout (12 jam)โ
-
Refactor 42 screen:
- Replace hand-drawn elements โ use master Components
- Delete detached instances
- Apply Auto Layout ke frame utama (vertical)
- Apply Auto Layout ke grouped sections (horizontal)
- Set fill/hug/fixed dengan benar
-
Constraint test:
- Test dengan nama panjang (ganti "Fatimah" โ "Fatimatuzzahra Asy-Syafi'iyyah")
- Test dengan angka besar (ganti 750000 โ 15750000)
- Test dengan empty state (0 items)
- Pastikan tidak ada layer overflow / overlap
Day 3: Dark Mode Expansion (8-10 jam)โ
๐ Reference: buka
05-dark-mode-pairing-guide.mdselama fase ini
-
Via Figma Variables (cara cepat):
- Karena semua sudah pakai tokens, switch mode
LightโDarkdi Variables panel โ auto-propagate ke 42 screen - Duplicate setiap screen โ rename
[Original] - Darkโ switch mode ke Dark - Fine-tune per screen yang butuh adjustment
- Karena semua sudah pakai tokens, switch mode
-
Manual adjust yang tidak bisa auto:
- Hero gradient dark variant (lihat pairing guide)
- Shadow intensity dark (kurangi spread, naikkan opacity)
- Border-highlights (dark mode perlu border lebih terlihat)
- Illustration/icon mode (beberapa butuh dark variant)
-
QA Dark Mode:
- Contrast check semua text (lihat
04-accessibility-audit-report.md) - Elevation hierarchy tetap readable
- Tidak ada "pure black" (#000) โ selalu pakai
zinc-950atauzinc-900
- Contrast check semua text (lihat
Day 4: Accessibility & Skeleton (6-8 jam)โ
๐ Reference: buka
04-accessibility-audit-report.mdselama fase ini
-
Fix contrast violations (list detail di audit report):
- Hero subtitle opacity naikkan โ min 4.5:1
- Bottom nav inactive
#9e9e9eโ ganti#52525b(zinc-600) - Bottom nav label size 9px โ naikkan ke 11px minimal
- Small text 12px harus rasio kontras min 4.5:1
- Large text 18px+ bold bisa min 3:1
-
Tambah skeleton loader frames:
- Dashboard skeleton
- Tagihan list skeleton
- Nilai list skeleton
- Absensi calendar skeleton
- Chat list skeleton
- Notifikasi list skeleton
-
Tambah Offline banner sebagai reusable component:
- Banner strip merah di atas screen
- Icon + text "Tidak ada koneksi internet"
- Close button
- Bisa di-slot di atas SEMUA screen (tidak frame terpisah)
Day 5: Governance & Documentation (4-6 jam)โ
๐ Reference: buka
07-figma-governance-template.mdselama fase ini
-
Buat Cover Page (page pertama di file):
- Brand story 1 paragraf
- Design principles (5 poin)
- How to use this file
- Link ke brand voice guide
- Changelog v1.0 (initial)
- Contact / owner info
-
Buat Style Guide page:
- Color swatches (brand + semantic + neutral)
- Typography specimen
- Spacing scale visualization
- Shadow specimen
- Icon set showcase
- Do / Don't examples
-
Buat Component Library page:
- Showcase semua components dengan variants
- Annotation untuk interaction state
- Usage guidelines (kapan pakai variant X)
- Do's and Don'ts per component
-
Buat Patterns page:
- Navigation patterns (bottom nav, drawer, tabs)
- Empty state pattern library
- Error state pattern library
- Loading state pattern library
- Form pattern library
- List pattern library
-
Publish components to team library (File โ Publish library)
- Tim member bisa use Components di file lain
- Version: 1.0.0
Week 4 Deliverable: Figma Design System v1.0 โ Production Ready.
โ FINAL VALIDATION (End of Week 4)โ
Run validation ini sebelum declare "done":
-
File Structure:
- Cover page exists dan informatif
- Style Guide page exists
- Component Library page exists
- Patterns page exists
- Screens terorganisir by persona (
Parent,Guru, dst) atau di file terpisah - Archive page exists untuk explorations lama
-
Variables:
- 4 collections: Color, Typography, Spacing, Radius
- 2 modes minimum: Light, Dark
- 0 hardcoded values
-
Components:
- Semua atoms (Button, Chip, Avatar, Icon) created dengan variants
- Semua molecules (Card, TextField, AppBar, BottomNav) created
- Semua organisms (HeroCard, QuickActionCard, EmptyState, SkeletonLoader) created
- Semua components published ke team library
-
Coverage:
- 42 Parent screens semua refactored pakai components
- 100% Auto Layout coverage
- Dark mode variant tersedia untuk 42 screen
- Skeleton loader tersedia untuk setiap list screen
- Offline banner component ready
-
Accessibility:
- 100% text lolos WCAG AA
- 0 tap target < 44ร44px
- 0 text < 11px font size
-
Content:
- Copy konsisten (cek matrix di file terpisah)
- Islamic phrases digunakan dengan tepat
- 0 text truncation
-
Naming:
- Frame names follow convention (lihat
06-naming-convention-guide.md) - Component names follow convention
- Variant props named in PascalCase atau camelCase konsisten
- Frame names follow convention (lihat
-
Handoff Ready:
- Dev Mode enabled
- Code Connect setup (optional, untuk Flutter widgets nanti)
- Token.json latest export tersedia
- Changelog updated
๐ Progress Trackerโ
Update tiap akhir week:
| Week | Target | Done | Blocker | Notes |
|---|---|---|---|---|
| Week 1 | Cleanup & Copy | __% | ||
| Week 2 | Tokens | __% | ||
| Week 3 | Components | __% | ||
| Week 4 | Polish & Governance | __% |
๐ Troubleshooting Common Issuesโ
"Tokens Studio import gagal"โ
โ Cek format JSON, pastikan tidak ada trailing comma. Boleh minta Claude bantu validate.
"Variables tidak auto-propagate saat switch mode"โ
โ Pastikan kamu apply sebagai Variable reference, bukan one-time value. Right-click token โ "Apply as variable".
"Component dengan 100+ variants jadi lambat"โ
โ Pakai Component Properties (boolean, text, instance-swap) alih-alih variants. Variants hanya untuk visual yang beda signifikan.
"Dark mode kontras kurang di beberapa screen"โ
โ Cek 05-dark-mode-pairing-guide.md untuk recommended pairing. Beberapa hero perlu adjust manual.
"Figma jadi berat setelah banyak Auto Layout"โ
โ Normal. Hidden unused pages. Consider split ke 2 files (Foundation + Screens).
Status: Ready untuk designer execute Last updated: 2026-04-16 Version: 1.0