Direction 1b · Addis modern — full system
debal.

Co-mover matching — move out of your parents' place, together.

Find a trusted housemate, align on rent budget, area, timeline & house rules, then share a home. Design system, component kit, 9 hi-fi screens, and React Native / Expo tokens below.

Design principles

01
Home, not romance

House, key, roof, shield & pin icons. Never hearts, never confetti. "Connect", never "match / like".

02
Trust is visible

Verified ID, emergency contact, and house-rules alignment are surfaced early — safety over swipe count.

03
Decisions, not vibes

Budget, move-out date & neighborhood are first-class chips on every card and every chat.

04
Locally proud

Addis warmth & color confidence, ETB pricing, real neighborhoods. Modern, respectful — never touristy pattern overload.

05
Calm & legible

One or two accents per screen, WCAG AA contrast, 44px targets, safe-area aware nav. No gradient noise.

Do — co-mover
  • "Looking to move out", "share a place", "co-mover"
  • Home / key / roof / shield icons
  • Lead with budget, timeline, area, house rules
  • "Connect" & "Plan together" CTAs
Don't — dating
  • "Match", "like", "date", "singles near you"
  • Hearts, flames, confetti, super-like
  • Attractiveness framing or flirty prompts
  • Pink/purple romance gradients

Foundations

Color tokens
bg · #FBFAF7
surface · #FFFFFF
ink · #17140F
ink-muted · #6B6157
gold · #E8A22B
green · #0B6B3A
clay-red · #D8452B
line · #E8E0D5

Gold = primary accent · Green = trust/verified · Clay-red = primary action. Max 1–2 accents per screen.

Type scale
DisplayGrotesk 30/700
TitleGrotesk 22/600
HeadingGrotesk 17/600
Body — Hanken GroteskHanken 15/400
LABEL / DATAMono 12
Spacing · Radii · Elevation
space  4 · 8 · 12 · 16 · 20 · 24 · 32
radius sm 8 · md 14 · lg 20 · xl 26 · pill 999
hit-target ≥ 44px
e1
e2
e3

Component kit

Buttons
Chips & badges
Verified ID Move-out ready 6–8k ETB/mo Non-smoker Bole area New
Match row
Nahom, 26
Let's compare our Kazanchis budgets…
Chat bubbles
What's your rent budget?
Around 6–7k ETB, Bole or Kazanchis.

Screens — 390 × 844, light mode

01 · Splash & onboarding
9:41▪▪▪ ▪ ▮
debal.
Skip
[ illustration ]

Leave the nest — without doing it alone.

Find a verified co-mover, agree on budget & area, and split your first place with someone you trust.

02 · Sign up / log in
9:41▪▪▪ ▪ ▮
Welcome to debal.

Create your account to start finding co-movers.

Sign up
Log in
Selamawit T.
+25191 234 5678

We'll text a code to verify. Your number is never shown to other movers.

or
By continuing you agree to our Terms & Community Safety rules.
03 · Profile setup — step 2 of 4
9:41▪▪▪ ▪ ▮
Step 2 — Move-out readiness

When & how much?

This is how we match you with people on the same timeline and budget.

Jul '26
Aug '26
Sep '26
Flex
4,000 ETB7,000 ETB
Bole ✕ Kazanchis ✕ + Gerji + Sarbet
04 · Discover co-movers
9:41▪▪▪ ▪ ▮
debal.
Addis
[ housemate photo ]
Move-out ready
Verified

Nahom, 26

92% fit

Looking for a place in Kazanchis · move Sept 2026

6,000–8,000 ETB/mo Works nearby Cooks a lot
Discover
Matches
Chat
Explore
Profile
05 · Matches
9:41▪▪▪ ▪ ▮
Matches

People ready to move out on your timeline.

New connections
Meron
Dawit
Hanna
Yonas
Planning together
Meron, 25
Sounds good — Bole works for me too 👍
2m
2
Dawit, 27
Let's compare Kazanchis vs Gerji rents
1h
Hanna, 24
You: shared the house-rules checklist
Tue
Yonas, 26
Are you still looking for Aug?
Mon
Discover
Matches
Chat
Explore
Profile
06 · Chat — plan the move
9:41▪▪▪ ▪ ▮
Meron, 25
Verified · move-out Aug '26
Your plan so far
📅 Aug '26 📍 Bole ≈ 6,500 ETB each House rules: 2/5
Today
Hi! We both want Bole for August — what's your rent budget per person?
Around 6–7k ETB. I can go a bit higher for a place with parking.
Same range 🙌 Should we set a viewing this weekend?
Set your shared house rules together
Message Meron…
07 · Explore — independent living
9:41▪▪▪ ▪ ▮
Explore Addis

Neighborhoods, spots & tips for your first place.

Search areas, cafés, markets…
All Neighborhoods Setup tips Events
Neighborhood guide
Living in Bole on a budget
Rents, transport & where to shop · 6 min read
Setup tip
Splitting your first month's costs fairly
Deposit, furniture & utilities — a simple split.
Neighborhood
Kazanchis vs Gerji for young movers
Commute, cafés & typical rents compared.
Checklist
10 house rules to agree on first
Guests, cleaning, quiet hours & more.
Discover
Matches
Chat
Explore
Profile
08 · Profile & safety
9:41▪▪▪ ▪ ▮
My profile
Selamawit, 24
✓ Verified IDProfile 80%
Looking for
A co-mover to share a 2-bedroom
Move-out Aug '26 4–7k ETB/mo Bole · Kazanchis
Safety & trust
ID verification
Verified · Feb 2026
Emergency contact
Add a trusted contact
Who can see my profile
Verified movers only
Settings
Notifications
Pause discovery
Log out
Discover
Matches
Chat
Explore
Profile
09 · Discover — empty / caught up
9:41▪▪▪ ▪ ▮
debal.
You're all caught up

No new co-movers on your timeline right now. Widen your area or budget to see more people.

Discover
Matches
Chat
Explore
Profile

Tab bar & Discover interactions

  • Tab bar sits on solid ink (#17140F) with 28px bottom padding so it clears the Android gesture bar & iOS home indicator. Active tab = gold icon + label; inactive = warm gray.
  • Safe area: pad top by env(safe-area-inset-top), bottom nav by max(16px, env(safe-area-inset-bottom)).
  • Swipe right = Connect (card slides off with a clay-red "Connect" stamp). Swipe left = Skip (gray "Skip" stamp). Swipe up / tap bookmark = Save for later.
  • Card tilts ±8° following the drag; threshold at 40% width triggers the action; below threshold it springs back.
  • On Connect, a calm bottom sheet ("You can now plan together") — no confetti, no hearts.
  • All actionable controls ≥ 44×44px.

Microcopy — live together, not date

"Ready to move out together?""Find your match ❤️"
"Connect & start planning""Like · Super like"
"You can now plan the move""It's a match!"
"Co-movers near Bole""Singles near you"
"Align on budget & house rules""Break the ice"

React Native / Expo tokens

export const color = {
  bg:'#FBFAF7', surface:'#FFFFFF', ink:'#17140F',
  inkMuted:'#6B6157', line:'#E8E0D5',
  gold:'#E8A22B', green:'#0B6B3A', clayRed:'#D8452B',
  goldSoft:'#FDF3E0', greenSoft:'#EAF3EC', clayRedSoft:'#FBEAE6',
};
export const radius = { sm:8, md:14, lg:20, xl:26, pill:999 };
export const space  = { xs:4, sm:8, md:12, lg:16, xl:20, xxl:24, xxxl:32 };
export const font = {
  display:'SpaceGrotesk_700Bold',
  heading:'SpaceGrotesk_600SemiBold',
  body:'HankenGrotesk_400Regular',
  mono:'SpaceMono_400Regular',
};
export const type = { display:30, title:22, heading:17, body:15, label:12 };
export const elevation = {  // shadowColor '#17140F'
  e1:{ radius:6,  y:2,  opacity:0.10 },
  e2:{ radius:20, y:10, opacity:0.18 },
  e3:{ radius:44, y:24, opacity:0.30 },
};
export const safe = {
  top:'env(safe-area-inset-top)',
  bottom:'max(16, safe-area-inset-bottom)',
};