AMPERE trip planner open on an iPhone Duo

AMPERE

Electric car app for iPhone Duo

An electric car app made for a folding iPhone, in Flutter. Charging, climate and trips fill the open screen, and a Live Activity keeps the charge in the Dynamic Island.

Stack
Flutter 3.47, Riverpod, go_router
Runs on
iPhone Duo, open and closed
Screens
6, plus a Live Activity
Tests
62 passing, 0 analyzer issues
Code
64 Dart files, no comments

The photos in the reel are demo images and do not come with the code.

Map data © OpenStreetMap contributors, terrain by Mapzen

Read the code

Real AMPERE code, straight from the app.

charging/application/charge_controller.dart

class ChargeController extends Notifier<ChargeSession> {  static const timeLapse = 15.0;  static const _tick = Duration(milliseconds: 100);  static const _islandRefresh = Duration(seconds: 1);  Timer? _ticker;  DateTime? _runningSince;  double _levelWhenRunStarted = 0;  DateTime? _lastPublished;  bool _chargeIsOnScreen = false;  bool _appIsHidden = false;  bool _activityIsOpen = false;  bool _arrivalIsUnseen = false;  Future<void> _publishing = Future.value();

AMPERE

$10.99