Arabic-first property operations for Saudi portfolios.
Manage properties, leases, collections, maintenance, finance, communication, and risk analysis from one offline-first Flutter app.
Beta Releases · Development Guide · Architecture · Code Map
Wafi is designed for operators who need a practical Saudi property-management app, not just a demo dashboard. It keeps the workflow local, bilingual, and operationally focused.
- Arabic-first UX with English support across forms, flows, and operational copy.
- Offline-first local storage built on Drift/SQLite for day-to-day reliability.
- Saudi-ready workflows for leases, invoices, VAT, SADAD references, and Ejar-linked operations.
- One app surface for portfolio visibility, collections, maintenance, finance, and tenant communication.
- Current release track:
1.0.0-beta.1for beta testing and validation.
| Dashboard | Properties |
|---|---|
![]() |
![]() |
| Morning Brief with monthly collections, occupancy, vacancies, and net income cards. | Arabic-first property listing with clear status, portfolio codes, and quick creation actions. |
| Area | What it handles |
|---|---|
| Portfolio | Properties, units, occupancy, vacancies, owner relationships |
| Leasing | Lease creation, renewals, schedules, and lifecycle tracking |
| Collections | Invoices, aging, payments, VAT-aware finance workflows |
| Maintenance | Work orders, PM plans, contractors, and Kanban operations |
| Communication | WhatsApp-oriented reminders, tenant follow-up, operational outreach |
| Risk | Weighted risk analysis for portfolio health and decision support |
| Layer | Technology |
|---|---|
| App | Flutter + Dart |
| State | Riverpod |
| Routing | GoRouter |
| Storage | Drift + SQLite |
| Localization | easy_localization |
| Charts | fl_chart |
| Security | flutter_secure_storage, local_auth, crypto |
These commands were used during the current beta-validation pass:
flutter pub get
flutter test test/core/database/work_order_dao_test.dart test/core/database/risk_dao_test.dart
flutter build apk --releaseValidated outputs:
- Release APK builds successfully at
build/app/outputs/flutter-apk/app-release.apk. - Current beta artifact size is about
72.9 MB. - Android launcher icons now use the Wafi brand assets instead of the default Flutter icon.
- Release builds currently use the debug signing config in
android/app/build.gradle.ktsfor beta sharing only.
git clone https://github.com/wa1939/wafi.git
cd wafi
flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter analyze
flutter test
flutter run -d <device_id>- Android is the primary supported target for the current beta.
- Windows desktop smoke testing is blocked until Windows Developer Mode is enabled because Flutter plugin builds require symlink support.
- Web is intentionally unsupported right now because Drift/sqlite relies on
dart:ffi. - Google Maps features require a valid Android Maps API key before production rollout.
docs/DEVELOPMENT.md- local setup, validation steps, and build notesdocs/ARCHITECTURE.md- application structure and technical designdocs/CODEMAP.md- repository map for rapid onboarding and maintenancedocs/PLAN.md- roadmap and implementation phases
Wafi was made by Waleed Alhamed and built in honor of his father, Hamed Alghamdi.
That dedication sits at the heart of the project: make property operations clearer, calmer, and more dependable for real people doing real work.




