Filis
Context
Filis is not a banking app. It is a friendly guide that shows students where their money goes, warns them before they overspend, and celebrates discipline instead of shaming mistakes. I designed it alone for the UI/UX Contest V6 at ASU’s Faculty of IT, following the design-thinking process from research to an accessibility-checked prototype.
Home: safe-to-spend first Emergency Mode Voice input
Empathize: 56 students
A Google Forms survey answered by 56 university students across majors, plus interviews in Arabic about overspending, guilt and why they quit budgeting apps. I checked my numbers against outside research to make sure they weren’t an outlier.
Mid-month I discover I’m broke, and I don’t know how or where it went.
Across both sources the pattern was consistent: students don’t lack discipline, they lack a tool that explains their money without shaming them for being students.
Define: themes and personas
Every data point and quote was clustered into eight themes, from invisible spending and social pressure to guilt, avoidance and the wish for automation. Those themes became four personas, eight problem statements, eight user stories and one goal statement.
The insight that changed everything: I expected students to want strict budgets. They actually wanted protection without judgment.
Ideate: flows and structure
I mapped the two jobs students do most in FigJam before drawing screens: logging an expense and Emergency Mode. Manual entry was the top reason people quit, so logging takes at most five taps from Home, and Filis offers Emergency Mode on its own when the forecast turns critical. The structure is flat: every feature is at most two taps from Home.
- Get in6 screens
- Log in
- Sign up
- Onboarding
- Welcome
- Nickname and currency
- Budget and categories
- Ready
- Home hub13 screens
- Add
- Voice
- Scan receipt
- Manual
- Transactions
- Detail
- Insights
- Spending timeline
- Goals and streaks
- Learn
- Lesson
- AI assistant
- Social helper
- Add
- Safety3 screens
- Notifications
- Emergency Mode
- Survival plan
- Me3 screens
- Profile and settings
- Colour-blind previews
- Home-screen widget
Built from the screen inventory in Figma: each screen has one purpose, its content and its calls to action.
- Start
- End
- Screen
- System action
- Decision
First launch
- Start: Open the app
- Decision: Splash: new or returning?
- Get Started Now: sign up
- I Already Have an Account: log in
- Screen: Onboarding: welcome
- Screen: Nickname and currency
- Screen: Monthly budget and categories
- Screen: Ready
- End: Home: safe to spend today
Log an expense in five taps or fewer
- Start: Home
- System action: Tap Add
- Decision: How?
- Voice: “I just spent 2 JD on coffee”
- Scan a receipt
- Type it manually
- Screen: Check the extracted details
- Screen: Confirm transaction
- End: Saved: the balance updates
Emergency Mode
- Start: Forecast turns critical
- System action: Friendly early warning
- Screen: Emergency Mode: survival forecast
- Screen: Essentials-only budget and a daily allowance
- End: Finish the month without panic
Design decisions
One number first
Home leads with “safe to spend today”, not a raw balance that doesn’t say what is safe.
Log by voice
“I just spent 2 JD on a Turkish coffee” becomes a transaction. Receipt scan and manual entry are there too.
Same layout in a crisis
Emergency Mode keeps the same structure; only the colour and content change, so nothing needs relearning.
Social, not lonely
Social Helper checks if an outing fits the budget, suggests cheaper plans and splits bills.
Timeline: where did my money go? Social Helper and bill splitter Goals and streaks AI assistant
Onboarding: only the essentials Insights
Design system
Filis is built on Figma variables (design tokens): 201 of them for colour, type, spacing, radius and shadows, so the same values drive every screen, the widget and the colour-blind previews.
From Figma Built with Figma variables (design tokens). Read from the Filis Figma file: 201 variables in five collections (120 colour, 46 typography, 15 effect, 15 spacing, 5 radius) and 24 text styles.
The system in use
Colour
Contrast is calculated against white or the darkest ink, whichever is higher. Click a swatch to copy its hex.
Primary
Text
Surfaces
Feedback
Accent
Typefaces
- Roboto FlexHeadings, body and buttons, Arabic falls back to the system face
Type scale
- heading/2xl · 40/48 · 600Design people understand
- heading/xl · 36/43 · 600Design people understand
- heading/lg · 32/38 · 600Design people understand
- heading/md · 28/34 · 600Design people understand
- heading/sm · 24/29 · 600Design people understand
- heading/xs · 20/24 · 600Design people understand
- body/md · 16/19 · 400Design people understand
- body/sm · 14/17 · 400Design people understand
- body/xs · 12/14 · 400Design people understand
Spacing
- 4
- 8
- 12
- 16
- 20
- 24
- 28
- 32
Corner radius
- 4
- 8
- 12
- 16
- 20
Elevation
- Light
- Medium
- Heavy
- Screen padding
- 16px
- Card padding
- 16px
- Top bar
- 56px
- Bottom nav
- 84px
Accessibility check
Every text and background pair was checked against WCAG 2.1: the success, warning and error colours used for text all pass at about 7:1. Under colour-blind simulation (the file has protanopia, deuteranopia and tritanopia previews of Home), success and error looked almost the same, so status never relies on colour alone: icons and shapes carry the meaning too.
Primary colour scale with contrast labels
Prototype: from first launch to Emergency Mode
This is the full Figma prototype, live. Click through it like the real app: onboarding, the home screen, adding an expense and the rest of the flow.

Prefer a quick look? Below are the key screens, one at a time, with notes.
Tap through the core flow from the Figma prototype: a four-step onboarding that asks only for the essentials, logging an expense by voice, and the moment Filis switches to Emergency Mode.
1 / 12 Splash
Tap the screen, swipe, or use ← → to move through the flow.
Learning, goals and control
The supporting screens keep the same calm, judgment-free tone: bite-sized lessons in plain language, and full control over account and privacy.
Learn: bite-sized lessons Goals and streaks Profile and settings
Reflection
The biggest UX win wasn’t a feature, it was tone: casual, judgment-free copy and automation wherever manual entry would have caused drop-off. To be honest about the gaps: I ran an accessibility pass but not moderated usability sessions, so task success is still unknown.
- Next: usability testing of add expense, Emergency Mode, goals and bill splitting with real students.













