WE ARE HIRING • WE ARE HIRING • 
200 Happy Clients Worldwide
Delivering Excellence Since 2019
AI Workflow Automation with n8n & LangChain
WhatsApp Business Automation & AI Chatbots
24/7 Voice AI Agents Always On, Never Missed
Intelligent AI CRM & Lead Management Systems
Real-Time Business Dashboards & Analytics
AI Customer Support Resolve Tickets Instantly
Custom Internal Tools Built for Your Team
Powered by OpenAI, LangChain & Cutting-Edge AI
400+ App Integrations via Zapier & n8n
Helping Businesses Across Industries
End-to-End Automation Zero Manual Handoffs
200 Happy Clients Worldwide
Delivering Excellence Since 2019
AI Workflow Automation with n8n & LangChain
WhatsApp Business Automation & AI Chatbots
24/7 Voice AI Agents Always On, Never Missed
Intelligent AI CRM & Lead Management Systems
Real-Time Business Dashboards & Analytics
AI Customer Support Resolve Tickets Instantly
Custom Internal Tools Built for Your Team
Powered by OpenAI, LangChain & Cutting-Edge AI
400+ App Integrations via Zapier & n8n
Helping Businesses Across Industries
End-to-End Automation Zero Manual Handoffs
200 Happy Clients Worldwide
Delivering Excellence Since 2019
AI Workflow Automation with n8n & LangChain
WhatsApp Business Automation & AI Chatbots
24/7 Voice AI Agents Always On, Never Missed
Intelligent AI CRM & Lead Management Systems
Real-Time Business Dashboards & Analytics
AI Customer Support Resolve Tickets Instantly
Custom Internal Tools Built for Your Team
Powered by OpenAI, LangChain & Cutting-Edge AI
400+ App Integrations via Zapier & n8n
Helping Businesses Across Industries
End-to-End Automation Zero Manual Handoffs
Case Study
Mobile

Jaza Charge

A full-stack, end-to-end Electric Vehicle (EV) charging and station discovery platform built specifically for mobile platforms. The Flutter client implements a premium dark-themed custom UI using GetX for state management, featuring real-time charging station mapping, live turn-by-turn navigation with dynamic ETA tracking, and an integrated digital wallet. The backend is powered by Supabase (BaaS) for secure authentication, database persistence, profile image storage, and PostgreSQL RPC functions for spatial boundaries, favorites synchronization, and advanced station filtering. Payment transactions are processed using Safaricom M-Pesa C2B STK Push through a custom integration with the NCBA Group payment API, along with Airtel Money support. Physical EV cards can also be ordered and managed through an integrated checkout workflow.

Flutter
Dart
GetX
Supabase
PostgreSQL
NCBA Group Payment Gateway
Firebase Cloud Messaging
Google Maps SDK, Directions API, and Distance Matrix API
Google Sheets API
Jaza Charge screen 1
Jaza Charge screen 2
Jaza Charge screen 3
Jaza Charge screen 9
Jaza Charge screen 10

Challenges & solutions

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

Frequent authentication requests to generate NCBA API tokens during checkout and wallet top-up operations increased payment processing overhead. Short polling timeouts could also cause transactions to appear as failed in the application even when the M-Pe

Implemented a local access-token cache with TTL-based expiration to reuse valid tokens for up to 55 minutes. Replaced standard loaders with a premium non-dismissible transaction-processing overlay and extended the payment status polling timeout to 90 seconds. Terminal states such as user cancellation and insufficient funds were separated from temporary gateway delays to prevent incorrect failure states and infinite polling loops.

Profile avatar uploads and user documents returned 403 Forbidden errors when accessed from private Supabase Storage buckets because the client attempted to load protected files through public URLs without authentication credentials.

Restructured the storage bucket using user-specific isolation folders (users_profile/{userId}/{filename}) and configured the required Storage RLS policies. Updated the retrieval layer to use Supabase's authenticated storage endpoint (/object/authenticated/) and pass the required Authorization and apikey headers when loading protected images on the Profile and Home screens.

The original connectivity checker displayed a full-screen blocking offline alert that prevented interaction with the underlying screen. Profile updates could also trigger immediate storage uploads and database writes even when the user had not confirmed t

Replaced the blocking overlay with a slide-in top warning bar that automatically dismisses after 3 seconds and is wrapped in IgnorePointer so it does not intercept touch gestures. Updated the Profile controller to defer avatar uploads and database writes until the user explicitly clicks the Save button, while handling connection errors gracefully.

Custom markers representing EV station states (Free, Busy, Full) used network and asset images, resulting in noticeable rendering stutter and camera snapping delays when multiple markers were displayed during map movement.

Implemented a custom canvas recorder pipeline (MarkerHelper) to generate network and asset-based station markers as vector-styled circular icons with color-coded status borders. Generated markers are cached in memory to prevent repetitive redrawing when map bounds change, improving camera responsiveness and marker rendering performance.

Key features

What users get in the finished, shipped product.

Real-Time Interactive Charging Maps

Displays nearby EV charging stations on Google Maps with custom availability markers, dynamically loading station data based on the visible map region.

Turn-by-Turn GPS Navigation & ETA Tracking

Provides in-app turn-by-turn navigation with dynamic Google Directions routes, real-time distance and duration tracking, ETA updates, and an arrival check-in prompt.

M-Pesa STK Push NCBA Payment Integration

Integrates the NCBA Group API with Safaricom M-Pesa STK Push for secure C2B wallet top-ups, including transaction polling and handling of successful, failed, cancelled, and delayed payments.

EV Card Shop & Persistent Checkout Address

Provides an in-app store for purchasing and activating physical RFID/EV charging cards, with persistent shipping-address management, validation, and reactive checkout forms.

Secure Multi-Method Auth with Supabase

Supports secure registration and authentication through email and phone verification with OTP, along with native Google and Apple social login and dynamic push notification token synchronization.

Live Charging Monitor & Grid Parameters

Displays real-time charging session data including battery percentage, power flow, delivered energy, elapsed duration, pricing rate, and total cost, with interactive pause and end charging controls.

Advanced Station Search & Amenities Filters

Enables station discovery by name or address with filters for distance, fast charging, connector type, and amenities such as coffee, food, and restrooms, while maintaining recent search history.

Tech integrations

Third-party SDKs & libraries

19 core integrations powered

get

Core system integration

supabase_flutter

Core system integration

flutter_dotenv

Core system integration

flutter_svg

Core system integration

pinput

Core system integration

firebase_core

Core system integration

firebase_messaging

Core system integration

dart_extensions_pro

Core system integration

google_sign_in

Core system integration

sign_in_with_apple

Core system integration

connectivity_plus

Core system integration

google_maps_flutter

Core system integration

Geolocator

Core system integration

image_picker

Core system integration

webview_flutter

Core system integration

pdf

Core system integration

path_provider

Core system integration

file_saver

Core system integration

share_plus

Core system integration

More Case Studies
Related Work

Similar Projects We've Built

TransportPro – Transport Management Software

TransportPro – Transport Management Software

TransportPro is a comprehensive transport and logistics management system purpose-built for India’s freight and transport industry. It provides a centralized platform for managing shipment loading, delivery tracking, GST-compliant billing, fleet operations, financial reporting, and stock management — enabling transport businesses to replace paper registers and Excel sheets with a streamlined, digital-first platform.

Next.jsTailwind CSS+2
View Case Study
GeoSentry

GeoSentry

GeoSentry is a professional-grade geofencing and real-time location monitoring mobile application built using Flutter. It allows users to define custom geographic zones on an interactive Google Maps interface and receive real-time alerts whenever a monitored device enters or exits these zones. The application is perfect for a variety of use cases such as personal safety, […]

FlutterDart+6
View Case Study
Sprut – Taxi Booking & Personal Assistance App

Sprut – Taxi Booking & Personal Assistance App

Sprut is a next-generation taxi booking and personal assistance mobile application designed to provide fast, reliable, and convenient transportation services. The app enables users to order taxis instantly, track rides in real time, schedule pre-bookings, and manage ride history with ease. Built using Flutter with GetX state management, the application focuses on performance, real-time updates, […]

FlutterDart+4
View Case Study
LoScoop

LoScoop

LoScoop connects travelers with real locals in Nashville for one-on-one chats. Get personalized tips on food, bars, events, hidden gems, and more straight from people who actually live there. Whether you’re looking for secret streets, live music spots, or the best brunch, LoScoop helps you discover Nashville like a local.

FlutterflowFirebase
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.