← Md. Sazzad Hossain
Case Study

Hazira Khata (হাজিরা খাতা)

Complete UI/UX overhaul for a 100,000+ user Android app — from legacy XML to Jetpack Compose

KotlinJetpack ComposeMaterial 3FirebaseRoom DatabaseFigma
42 Screens redesigned
100K+ Active users
XML → Compose Migration
0 bugs Zero regressions

The app

Hazira Khata is a digital attendance and classroom management app built for Bangladeshi teachers and schools. It handles daily attendance, exam results, fee collection, parent communication, and document generation — used by 100,000+ teachers across Bangladesh.

The problem

The original app was built with legacy Android XML layouts, resulting in a cluttered, inconsistent UI that frustrated users. Blue-heavy color scheme, dense text, small touch targets, and no visual hierarchy made the app feel outdated compared to modern alternatives. With 100K+ users depending on it daily, a careful redesign was critical — it had to modernize without breaking existing workflows.

What we did

Sazzad executed a full UI/UX overhaul: migrated key screens from XML to Jetpack Compose, replaced the heavy blue theme with a clean white/neutral design system, introduced icon-based navigation grids instead of text-heavy button lists, redesigned data-dense screens (attendance, student lists, fee tracking) with proper spacing and hierarchy, and modernized form inputs with Material 3 components. The redesign covered 38+ screens while preserving all existing functionality.

Before & after — drag to compare

Drag the slider on each screen to see the transformation. Every screen was redesigned from legacy XML to modern Jetpack Compose with Material 3.

Onboarding splash Blue splash with dense text replaced by clean white onboarding with readable typography and pagination dots.
Onboarding splash — after redesign After
Onboarding splash — before redesign Before
Login & role selection Wall of text with green buttons replaced by structured cards, clear feature list with icons, and prominent role selection buttons.
Login & role selection — after redesign After
Login & role selection — before redesign Before
Authentication Basic login form replaced by clean branded login screen with phone, email, and Google sign-in options.
Authentication — after redesign After
Authentication — before redesign Before
Class dashboard Blue cards with tiny text and scattered icons replaced by clean white grid with status badges and organized metadata.
Class dashboard — after redesign After
Class dashboard — before redesign Before
Add new class (bottom sheet) Basic dialog replaced by a clean bottom sheet form with structured input fields and validation.
Add new class (bottom sheet) — after redesign After
Add new class (bottom sheet) — before redesign Before
Class detail panel Cramped button list with banners replaced by icon-based navigation grid with attendance stats and proper spacing.
Class detail panel — after redesign After
Class detail panel — before redesign Before
Edit class (bottom sheet) Basic edit dialog replaced by structured bottom sheet with teacher assignment and section management.
Edit class (bottom sheet) — after redesign After
Edit class (bottom sheet) — before redesign Before
Navigation drawer Basic navigation list replaced by modern drawer with user profile card, organized menu sections, and social links.
Navigation drawer — after redesign After
Navigation drawer — before redesign Before
Institution profile Basic form replaced by structured profile page with institution details, EIIN, location hierarchy, and admin list.
Institution profile — after redesign After
Institution profile — before redesign Before
Student list Dense blue student cards with cluttered badges replaced by clean list with avatar initials, search bar, and CSV export.
Student list — after redesign After
Student list — before redesign Before
Student profile detail Basic text fields replaced by hero card with photo, stats (total classes, attendance), and icon-based action grid.
Student profile detail — after redesign After
Student profile detail — before redesign Before
Edit student profile Cluttered form replaced by clean edit form with photo upload, gender selection, blood group dropdown, and contact fields.
Edit student profile — after redesign After
Edit student profile — before redesign Before
Add new student Cramped form with tiny fields replaced by spacious form with photo upload, structured inputs, and clear action button.
Add new student — after redesign After
Add new student — before redesign Before
Student data table Basic table with no styling replaced by clean tabular view with proper column headers, zebra striping, and print button.
Student data table — after redesign After
Student data table — before redesign Before
Export options No export UI replaced by clean export screen with file format options (CSV, Excel, Sheets) and share functionality.
Export options — after redesign After
Export options — before redesign Before
Attendance marking Blue cards with checkboxes replaced by minimal list with present/late toggles, profile photos, and bottom action bar.
Attendance marking — after redesign After
Attendance marking — before redesign Before
Attendance report grid Basic table replaced by color-coded attendance grid with date range picker, present/absent counts, and status icons.
Attendance report grid — after redesign After
Attendance report grid — before redesign Before
Edit attendance record No edit UI replaced by bottom sheet with present/absent toggle for correcting attendance records.
Edit attendance record — after redesign After
Edit attendance record — before redesign Before
Digital diary (messages) Dense message list replaced by clean card layout with student info, relationship tags, and invite status indicators.
Digital diary (messages) — after redesign After
Digital diary (messages) — before redesign Before
Compose new message Basic text area replaced by structured form with message type selector, recipient filters, and student preview cards.
Compose new message — after redesign After
Compose new message — before redesign Before
Sent messages history Plain text list replaced by organized message thread with timestamps, type badges, and clear message hierarchy.
Sent messages history — after redesign After
Sent messages history — before redesign Before
Digital diary overview Basic list replaced by clean institutional view with student-teacher relationship cards and connection status.
Digital diary overview — after redesign After
Digital diary overview — before redesign Before
Message thread detail Dense text blocks replaced by clean thread view with filter tabs, proper spacing, and readable message cards.
Message thread detail — after redesign After
Message thread detail — before redesign Before
Fee dashboard No dashboard replaced by summary cards showing total expected, collected, remaining, and extra amounts with status filters.
Fee dashboard — after redesign After
Fee dashboard — before redesign Before
Add new fee/payment Basic form with raw calculations replaced by structured form with date pickers, auto-calculation, and clear totals.
Add new fee/payment — after redesign After
Add new fee/payment — before redesign Before
Payment detail Raw numbers replaced by organized detail view with tabs (details/collection), date range, amounts, and balance calculation.
Payment detail — after redesign After
Payment detail — before redesign Before
Payment collection list No collection UI replaced by categorized student list with paid/partial/unpaid status colors and collection amounts.
Payment collection list — after redesign After
Payment collection list — before redesign Before
Collect payment (bottom sheet) No collection form replaced by clean bottom sheet with student photo, amount breakdown, notes, and submit button.
Collect payment (bottom sheet) — after redesign After
Collect payment (bottom sheet) — before redesign Before
Exam results list Basic list replaced by subject cards with dates, search bar, and organized grid layout.
Exam results list — after redesign After
Exam results list — before redesign Before
Result form builder Basic form replaced by structured mark entry with subject name, full marks, component names (written/MCQ/viva), and descriptions.
Result form builder — after redesign After
Result form builder — before redesign Before
Result entry & marks No entry UI replaced by student-wise mark entry with GPA calculation, subject columns, and tabular data display.
Result entry & marks — after redesign After
Result entry & marks — before redesign Before
Admit card generator Basic form with cluttered options replaced by clean form with toggles, logo upload, signature upload slots, and date/time pickers.
Admit card generator — after redesign After
Admit card generator — before redesign Before
Seat plan (Asonpotro) Cramped form with pink radio buttons replaced by clean form with institution branding, toggle switches, and structured layout.
Seat plan (Asonpotro) — after redesign After
Seat plan (Asonpotro) — before redesign Before
ID card generator No dedicated UI replaced by clean form with institution fields, photo/signature toggles, date pickers, and preview option.
ID card generator — after redesign After
ID card generator — before redesign Before
Date picker System default picker replaced by custom Bangla calendar picker matching the app design system.
Date picker — after redesign After
Date picker — before redesign Before
Time picker System default time picker replaced by custom Bangla analog clock picker with AM/PM toggle.
Time picker — after redesign After
Time picker — before redesign Before
Notes list Basic list replaced by clean card grid with subject names, dates, search bar, and floating add button.
Notes list — after redesign After
Notes list — before redesign Before
Add/edit note (bottom sheet) Basic dialog replaced by bottom sheet form with date, title, and body fields.
Add/edit note (bottom sheet) — after redesign After
Add/edit note (bottom sheet) — before redesign Before
Class routine (timetable) No timetable UI replaced by weekly calendar view with time slots, subject blocks, and date range navigation.
Class routine (timetable) — after redesign After
Class routine (timetable) — before redesign Before
Teacher resource hub Rainbow text blocks replaced by organized icon grid with government portals, Khan Academy, 10 Minute School, and community links.
Teacher resource hub — after redesign After
Teacher resource hub — before redesign Before
Teacher community blog No blog UI replaced by clean tab with community description and write-post CTA button.
Teacher community blog — after redesign After
Teacher community blog — before redesign Before
Textbook resources No resource UI replaced by organized class-wise list (Class 1-10) with NCTB digital textbook links.
Textbook resources — after redesign After
Textbook resources — before redesign Before

Results

  • 38+ screens redesigned from legacy XML to modern Jetpack Compose
  • Clean, professional UI replacing cluttered blue-heavy design
  • Icon-based navigation grid replacing text-heavy button lists
  • Material 3 design system with proper spacing and visual hierarchy
  • Improved touch targets and accessibility for teacher-age users (25-55)
  • Zero functionality regression — all features preserved during migration
  • Modernized form inputs, toggles, and data display components
  • Consistent design language across onboarding, dashboard, lists, and forms

Need an app redesign like this?

We modernize Android apps from legacy XML to Jetpack Compose, redesign outdated UI, and migrate to modern architecture — without breaking existing features. All work through Upwork with payment protection.

Frequently asked questions

Frequently asked questions

How long did the Hazira Khata redesign take?
The full UI/UX overhaul of 38+ screens was completed over several months of iterative development, with each screen carefully redesigned and tested to ensure zero functionality regressions for the 100K+ active user base.
Can you redesign my Android app from XML to Jetpack Compose?
Yes. We specialize in migrating legacy Android XML layouts to Jetpack Compose with Material 3. We redesign your UI while preserving all existing functionality. Hire us through Upwork with payment protection.
What is the cost of an Android app redesign?
App redesign costs vary by scope. A full UI overhaul like Hazira Khata (38+ screens) is a significant project. Monthly development packages start from $1,500. Contact us for a scoping call and estimate — all work through Upwork with escrow protection.
Will the redesign break existing features?
No. Our approach prioritizes zero-regression migration. We test every screen against the original functionality before deployment. The Hazira Khata redesign preserved all features while modernizing 38+ screens.
Do you redesign iOS apps too?
Yes. We build cross-platform apps with Flutter (iOS + Android from one codebase) and also work with native Swift/SwiftUI for iOS and Kotlin/Jetpack Compose for Android. Contact us to discuss your project.
How do you handle a redesign for an app with 100K+ users?
Carefully. We use phased rollouts — redesigning screen by screen, testing with beta users, and monitoring crash reports (Firebase Crashlytics) before each production release. This approach minimizes risk for large user bases.

Ready to modernize your app?

Hire us through Upwork — your payment is protected by escrow. You pay only when you approve the work.