Capstone 23 · Civic tech

NIN Appointment Helper

Book NIN enrolment without wasting a trip.

  • 12 frames · MVP
  • ID enrolment
Download PDF DOCX

Project overview

NIN centre prep on phone: documents, centre, reminder.

Platform
Mobile app · Android-first · portrait
Screens
11 screens + 1 unhappy path (12 frames)
Features
3 core features
Bottom navigation
Centres · Checklist · Booking · Profile
Prototype
4 linked flows

Build order: Auth (screens 1–4) → nav tabs (5–8) → core flow (9–11) → unhappy path → link prototypes.

Problem & primary user

National ID enrolment centres have queues and document confusion. UK has online passport booking; many Nigerians make multiple trips to NIMC centres.

Primary user

"Samuel, a 24-year-old graduate in Benin City who needs NIN for NYSC."

Geographic scope: National-level

Goals

User goal: Find nearest centre, required documents, and book a visit slot on his phone.

Business goal: Lead-gen to partner centres, document prep services, and premium reminders.

Success: User finds centre, completes checklist, saves visit date.

Market context

Question
Answer
Who pays
Document prep partners and centre lead referrals; premium reminders.
Why not WhatsApp
People ask Twitter and friends which centre is short. No personal checklist on phone.
Design focus
Centre finder plus document checklist plus visit reminder in one mobile flow.

Competitors to check:

  • NIMC official site (web-heavy)
  • Agent touts at centres (offline)
  • Multiple wasted trips (default pain)

Validate before you design

Interview 3–5 people who match your primary user. Update this brief if interviews contradict it. Do not start hi-fi until you complete the confirmation below.

Validated user (name, age, city)
Problem in one sentence
One interview quote
Success metric for your test
Primary colour and tone
One competitor you checked

Interview prompts

  • "Walk me through the last time this happened."
  • "What did you use instead? WhatsApp, paper, or nothing?"
  • "What would make you trust this on a cheap Android phone?"
  • "What would stop you from using this every week?"

Features & scope

v1 · three features

  1. Find NIN centres by state and LGA with hours
  2. Document checklist before you travel
  3. Book or save a preferred visit date with reminders

Out of scope

  • Issuing NIN in app
  • Agent payments in app
  • Every state API claim without label

Screens

Design every row in wireframe, high-fidelity UI, and prototype (where the flow applies).

#LayerScreenWhat to show
1AuthSplash ScreenApp logo, name, and tagline for NIN Appointment Helper.
2AuthOnboarding (1 screen)Explain the app in one sentence. One Get Started button.
3AuthSign Up ScreenName, phone number, state, and PIN. No email required.
4AuthSign In ScreenPhone number and PIN. Forgot PIN link.
5App shellCentres (tab)Search centres. Distance and open today badge on each card. Show bottom nav with Centres active.
6App shellChecklist (tab)Tick list: birth cert, passport photo, etc. Progress indicator. Show bottom nav with Checklist active.
7App shellBooking (tab)Saved visit date, reminder toggle, and what to bring summary. Show bottom nav with Booking active.
8App shellProfile (tab)Name, phone, state, and document checklist status. Show bottom nav with Profile active.
9Core flowCentre detailHours, phone, documents needed. Show bottom nav on post-sign-in screens.
10Core flowChecklist · ReadyAll documents ticked green. Show bottom nav on post-sign-in screens.
11Core flowVisit bookedDate saved with reminder on Booking tab. Show bottom nav on post-sign-in screens.

Layers: Auth = 1–4 · App shell = 5–8 · Core flow = 9–11

Prototype flows

Link these in Figma. Examiners should click through without your voice-over.

Flow 1 · App entry

SplashOnboardingSign Up or Sign Infirst main tab

Flow 2 · Core task (all three features)

Sign InCentres tabCentre detailChecklistBooking tab

Core flow screens: Centre detail · Checklist · Ready · Visit booked

Flow 3 · Navigation

Link every nav tab so examiners can tap each bottom nav item. Tabs: Centres · Checklist · Booking · Profile

Flow 4 · Unhappy path

Trigger the unhappy path edge case and link to that screen.

Unhappy path

Design this as its own screen state (frame 12):

User selects centre with no slots listed. Show: Walk-in may be allowed. Call centre to confirm.

Link in Flow 4.

Design system

Colour
You choose. Keep it simple and readable.
Type
You choose. Keep body text easy to read on a phone.
Tone
Design for your user, not for a tech audience.

Reuse on every screen:

  • Primary button (active and disabled states)
  • Input field (empty, filled, and error states)
  • Card or list item used across the app
  • Navigation bar with correct labels and icons
  • Empty state: what the screen looks like with no data

Submit & defense

Deliverables

#DeliverableWhat good looks like
1WireframesEvery screen in this brief, plus the unhappy path. Layout and labels clear.
2High-fidelity UISame frames polished. You choose colour and type. Bottom nav on every post-sign-in screen.
3PrototypeFour linked flows (entry, core task, navigation, unhappy path). Examiners can use the app without your voice-over.
4AI prototypeFigma Make: at least 2 screens. Share link.
5Case study (1 page)Problem · User · Who pays · Competitors · Solution · One design decision
6Presentation (6–8 slides)Name · Problem · User · Solution · Key screens · Flow demo · One decision

Before you present

  • Every screen designed in wireframe and hi-fi
  • Unhappy path screen designed and linked in the prototype
  • Four prototype flows linked end to end
  • At least one empty state on a list tab
  • Shared components reused: button, input, card or row, bottom nav
  • Case study names who pays and one competitor you checked
  • You can explain one design decision in critique (why, not what)
  • Completed 5 user interviews or 1 usability test
  • Checked at least one competitor listed under Market context

← All capstone briefs