WE ARE HIRING • WE ARE HIRING • 
Case Study
Mobile

Engagifii

This Legislative Tracking and Civic Engagement Platform is designed to empower users with transparent access to state-level legislative activity, making it easier to stay informed and actively participate in the democratic process. It serves as a centralized hub where users can monitor bills, explore policy developments, and keep track of important government actions in a structured and accessible way. With a clean and intuitive interface, the platform simplifies complex legislative information for everyday users. At its core, the system offers comprehensive tools for bill tracking and analysis, allowing users to follow the progress of legislation, review voting records, and stay updated on committee meetings. It also provides detailed insights into public officials, enabling users to understand their roles, decisions, and policy positions. This level of transparency helps users make informed opinions and better understand how legislative decisions impact their communities. Beyond information access, the platform promotes active civic engagement by enabling direct interaction with public officials. Users can connect, share feedback, and participate in discussions, fostering a more engaged and informed citizen base. By combining data visibility, analytical tools, and communication features, the platform strengthens public awareness and encourages meaningful participation in governance.

Dart 3.10+
Flutter 3.38.0+
Kotlin 1.7.20
Swift / Objective-C
MVC + GetX (state management, DI, routing)
REST via http, OAuth2
OAuth 2.0 + Biometrics (Face ID / Touch ID)
SharedPreferences, Flutter Secure Storage
Material Design + flutter_screenutil + VelocityX
Gradle 7.2.0
CocoaPods
Engagifii screen 1
Engagifii screen 2
Engagifii screen 3
Engagifii screen 5
Engagifii screen 6

Challenges & solutions

The technical problems our team solved to ship a reliable, unified mobile experience.

Managing different authentication flows and handling token expiration cycles during background API integrations across three separate calendar services.

Developed a unified scheduling coordinator within AddToCalendarController. Configured oauth2_client for Google Calendar and FlutterWebAuth.authenticate for Outlook using a custom URI redirect scheme to capture incoming credentials. Integrated an automated retry routine that detects token expirations (401 errors), requests fresh access tokens from Google or Microsoft in the background using stored refresh tokens, and proceeds with the event insertion. For local sync, the controller interfaces directly with the native device database via a CalendarPlugin wrapper.

Intercepting expired tokens across hundreds of endpoints, executing background token renewals, and retrying the failed queries without disrupting the user interface.

Built a centralized HTTP client wrapper inRestService extending GetX’s GetConnect with recursive HTTP retry capabilities. Intercepted 401 Unauthorized responses globally. When token expiration is detected, the pipeline halts request propagation, executes an asynchronous getRenewToken call, updates the local memory settings cache, and automatically re-triggers the original request. If the refresh token is also invalid, the service clears local session data and issues a clean navigation override using Get.offNamed('/login').

Detecting app lifecycle state transitions reliably to instantly lock the view tree and prompt for system-level authentication when returning from the background.

Implemented a lifecycle observer using WidgetsBindingObserver in MyApp to monitor the transition to AppLifecycleState.resumed. Upon resuming, the app checks if the user is authenticated and forces navigation to /facelock if biometric security is enabled. The underlying FaceLockController manages system credentials using the local_auth package with AuthenticationOptions(stickyAuth: true, biometricOnly: true), ensuring the main screen cannot be accessed or viewed until the hardware sensor returns a valid handshake.

Managing the reactive state of 30+ dynamic, inter-dependent filter criteria (such as relational states, legislative committees, reader dates, and local districts) without causing UI lag or generating corrupted query payloads.

Engineered a unified filtering architecture coordinated by Filter Bottomsheet. Designed a decoupled sub-controller layer (role, distric) that observes individual parameter changes reactively. Used GetX observables (.obs) to track selections dynamically and aggregate them into a singular FilterBody model. Implemented lazy-loaded dynamic arrays for larger parameter groups (like counties and districts) to prevent rendering overhead on the main sheet and optimize memory efficiency.

Key features

What users get in the finished, shipped product.

Bill aand Legislation Browsing :

  • Comprehensive Search : Filter and browse state bills with full text and amendments
  • Version Control : Track various bill versions and complete action histories
  • Legislative Insight : Stay updated on the latest changes in the legislative cycle

Bill Tracking :

  • Personalized Lists : Add bills to a personal or organizational tracking list
  • Status Monitoring : Receive updates on status changes over time
  • Organized Oversight : Manage multiple legislative priorities in one place

Bill Analysis and Reports :

  • In-Depth Commentary : Access staff analysis and detailed voting records
  • Generated Reports : Export and view comprehensive bill summaries
  • Expert Insights : Review commentary to understand the impact of proposed laws

Advanced Filtering :

  • Multi-Dimensional Filters : Sort by state, session, status, and bill type
  • Targeted Discovery : Filter by committee, sponsor, position, and more
  • Precision Tools : Find specific legislation quickly using granular criteria

Public Officials Directory :

  • Official Mapping : Browse officials by state, county, district, or party
  • Specific Search : Filter by position, city, and assigned committee
  • Contact Database : Access a complete directory of active public representatives

Official Profile and Contact :

  • Detailed Profiles : View comprehensive background and role information
  • Direct Communication : Call, email, or message officials directly from the app
  • Instant Engagement : Connect with representatives without leaving the platform

Calendar Integration :

  • Event Syncing : Add legislative events and committee meetings to your device
  • Native Compatibility : Works seamlessly with your device’s built-in calendar
  • Never Miss Meetings : Set reminders for important legislative sessions

PDF Document Viewer :

  • In-App Reading : View full bill text and legal documents without external apps
  • Document Management : Access all related legislative PDFs in one viewer
  • Smooth Navigation : Scroll through complex legal texts with ease

Biometric Authentication :

  • Secure Access : Protect your data with Face ID or Fingerprint recognition
  • Face Lock Feature : Enhanced privacy for sensitive organizational data
  • Quick Login : Access your tracking lists instantly and securely

OAuth Login :

  • Industry Standards : Secure login via OAuth 2.0 protocols
  • Custom Integration : Utilizes dedicated app schemes for verified access
  • Protected Identity : Ensure user credentials remain safe and private

HTML Content Rendering :

  • Rich Formatting : View bill text and analysis in high-quality HTML
  • Readable Layouts : Optimized text styles for complex legislative content
  • Dynamic Displays : Renders analysis reports with clear visual structure

Clipboard and Sharing :

  • Quick Copy : Save bill references to your clipboard with one tap
  • Direct Sharing : Send bill information to colleagues via external apps
  • Information Portability : Move data easily between the app and other tools

Offline Connectivity Handling :

  • Graceful Degradation : Detects network loss and switches to local data
  • Local Caching : Access previously viewed bills even without a connection
  • Reliable Performance : Continue working in areas with poor signal

Responsive UI :

  • Multi-Device Support : Optimized layouts for both phones and tablets
  • Adaptive Orientation : Full support for portrait and landscape modes
  • Fluid Design : Elements resize automatically for the best viewing experience

User Roles and Permissions :

  • Access Control : Define organizational vs. personal tracking visibility
  • Role-Based Security : Manage what different users can see and edit
  • Scalable Permissions : Tailor the app experience based on user hierarchy
More Case Studies
Related Work

Similar Projects We've Built

CodeX Meet

CodeX Meet

CodeX Meet is a cross-platform WebRTC-based video calling and interactive meeting application designed to simplify one-to-one conferencing. The application establishes direct peer-to-peer WebRTC connections while using Firebase Firestore as a real-time signaling service, eliminating the need for expensive third-party video conferencing SDKs. This architecture provides a secure, privacy-focused, low-latency, and cost-effective communication solution. Built with […]

FlutterDart+3
View Case Study
Smart Attend

Smart Attend

Smart Attend is a biometric attendance management application built to simplify employee enrollment, check-in, and check-out through face recognition. The app uses a camera-based liveness verification flow combined with on-device face detection and face embedding matching to ensure that attendance is marked only by the correct employee. This reduces manual errors, prevents proxy attendance, and […]

FlutterDart+3
View Case Study
Secure Auth Vault

Secure Auth Vault

A privacy-focused, cross-platform credential manager and authenticator application designed to securely store sensitive data. The app serves as a centralized, offline-first vault for managing diverse credential types—such as login credentials, banking details, Wi-Fi passwords, and API keys—alongside sensitive documents. It features client-side encryption for secure cloud backups to Google Drive, an integrated Time-Based One-Time Password […]

Flutter Framework
View Case Study
HR Leave Management Automation System

HR Leave Management Automation System

An AI-powered HR Leave Management workflow built using n8n automation. The system automatically detects incoming leave request emails through Gmail, analyzes the email content using AI, identifies whether the email is related to leave requests, and sends approval requests to HR/admin through Telegram. Based on the approval or rejection action from Telegram, the system automatically […]

n8nJavaScript+6
View Case Study

Have a similar idea? Let's build it together.

From concept to launch, we turn your vision into a world-class product.