Please sign in to access this page

eScive

eScive Used AI

13 devlogs
54h 57m
•  Ship certified
Created by Johan

eScive is a mobile app that aims to be a third-party client for e-scooters with Bluetooth functionality, allowing an alternative interface with more features, and more importantly, without all the telemetry that is included in some official apps (generally Chinese ones 👀).
For now, the project specifically targets iScooter "i10" electric scooters, but is coded in a way that will allow other brands in the future.
Communications between devices are based on reverse engineering of packets sent using the BLE protocols, and directly from the decompiled source code of official apps.
The app is made using Flutter and is available to download on GitHub, it can also be tested directly from the browser.

Timeline

Johan
Johan
2h 53m • 25 days ago

Some time went past since the first stable release of eScive, and many things have happened. Long story short, my Google Pixel 6a fell on the road while riding my e-scooter, and a truck literally DROVE OVER my phone. I guess I'm now an iPhone user!

1) eScive v1.1.0 now officially supports iOS 13 and upper, sideloadable using methods like TrollStore, AltStore Classic/SideStore, or Live Container.
2) Feature parity between Android and iOS, except for the live playing widget that allowed easy access for your music players.
3) You can double tap on the swipe to lock to instantly lock, wayyy faster but lessss fancy.
4) The collision (?don't know the word for it) of the LED switch is bigger, making it easier to tap on it.
5) The Deep Linking protocol section in the README has been updated, and you can now long tap the icon on your home screen to quickly access some of the possibilities you are able to do using it.
6) Some translations were fixed.
7) A source for iOS compatible with AltStore/SideStore and Feather is available at: https://dl.bassinecorp.fr/altstore.json !

Update attachment

Ship 2

1 payout of shell 123.0 shells

Johan

about 2 months ago

Johan • Covers 2 devlogs and 8h 14m
Johan
Johan
2h 56m • 2 months ago

Migrated the app to Flutter 3.35 and added some minors things: the request to weather API is now logged for easier in-app debugging, the debug bridge now set states as ready when done loading, and snackbars appears to indicate a successful action through deep linking.

This update also marks the final point in the beta phase of the development: Google Play denied the app two times so I'm just going to publish the APK on GitHub and on my website.

Update attachment
Johan
Johan
5h 17m • 3 months ago

Maybe I weren't done with this app yet.. 👀

This new update features a trip sharing feature, weather alerts in France, and a far better landscape mode support.

  • Use the map widget to share your trips with your friends or on social medias by long-pressing the relocate button.
  • eScive now alerts you if rain is suddenly expected in your area within the next hour. Enable this feature in the settings (only available in France).
  • Enhanced responsive design for widgets in landscape mode, including the music player and the map.
  • Settings to force auto screen rotation in any direction, in landscape mode only, or manual.
Update attachment

Ship 1

1 payout of shell 675.0 shells

Johan

4 months ago

Johan • Covers 10 devlogs and 43h 49m
Johan
Johan
16m • 4 months ago

Fixed a little bug with Kustom variables, app should be done!!!

Update attachment
Johan
Johan
6h 51m • 4 months ago

Fixed numerous bugs, implemented startup time measuring, implemented a way to choose what elements are shown on the UI (for future bridges), and implemented DEEP LINKING (with escive:// scheme) + KUSTOM INTEGRATIONS!

You can now make your own automations that can actually interact with your vehicle: this includes the ability to retrieve data from a Kustom App, and to define data from any apps!

Don't forget to sign up for the Google Play Store beta program to try the app right now with demo mode (if you don't have a compatible scooter)!

Update attachment
Johan
Johan
41m • 4 months ago

I published some fixes adressing the historic of positions showed in the fullscreen map (more frequent update, changing the maximum distance threshold when tracing a segment, new debug settings, speedometer froze when starting to emit positions).

Also, I really need more users to sign up for the Google Play Store beta program to get the app accepted on the store, this would mark the final step before submitting the project here!

Update attachment
Johan
Johan
3h 30m • 4 months ago

eScive is now available to test directly from your browser! On Chrome Desktop, you can even connect to a compatible Bluetooth e-scooter to fully test the app. It can be accessed from this link.

Btw, you can now sign up for the Google Play Store beta program to get early access to eScive on Android!

Update attachment
Johan
Johan
3h 3m • 4 months ago

The app will soon be available to try directly from your browser. Thanks to the amazing technologies provided by Flutter, I'm planning on making a demo website for everyone to try the app. The best part is, it can even connect to a real e-scooter! There's a lot of bugs that I may not get to fix now (not the current priority) but it's working I guess. Stay tuned for the demo link!

In the meantime, you can now sign up for the Google Play Store beta program to get early access to eScive on Android!

Update attachment
Johan
Johan
2h 56m • 4 months ago

Update on the map widget! There is now a new settings to track every one of your moves when riding and to show them directly in the fullscreen map. This new feature make the data precision even more useful as your position was already used when this option was turned on (to show your street name in the home page or to locally determine your moving speed from your phone).

I'm approaching the finale state of this project and I will start to create a new project on the Google Play Store for Developers to make sure it will be published as soon as possible.

Update attachment
Johan
Johan
12h 18m • 4 months ago

IN-APP NAVIGATION HAS ARRIVED!
A new widget has arrived in the app, get an overview of the environment you're riding in, and quickly launch a route in your favorite navigation app (Google Maps, Transit, Citymapper).

This new feature displays a map on eScive's home screen along with the street and city you're currently located in, to help you orient yourself in any circumstances.
Tap on it to display:
- A full-screen view with intelligent search functionality
- A history of your previous trips launched through eScive
- The ability to define up to 3 favorite addresses that will be displayed on the map when you approach them

I originally wanted to integrate a step-by-step navigation system within the app, but it's better from a user experience standpoint to simply redirect to a more competent third-party app like Google Maps, especially since the visual and audio notifications as well as PiP on these apps are sometimes preferable.

Update attachment
Johan
Johan
2h 43m • 4 months ago

Advanced stats are here! They can be enabled directly from the settings and are calculated based on time and TRIP/Total Distance (provided by the e-scooter).

Sadly, eScive needs to be opened for these data to be grabbed and saved into the app local data, but the app is perfect for staying always on, so that won't be a problem!

Update attachment
Johan
Johan
2h 1m • 4 months ago

After a few final touches, the eScive source code is now available on GitHub. The app currently allows you to:
- Connect to an electric scooter compatible with the iScooter app (i10, i10 Max, and i10 Pro models; the i10Max was used during development, but differences exist between the three versions so I'll need to make modifications later)
- View and interact with the scooter in real-time: show speed in km/h, speed profile, front light, built-in parking mode (lock)
- Add, rename, delete one or multiple devices, including a demo device (with random mocked data)
- In-app widget to display and manage currently playing music on the phone
- Warning lights in the speedometer, like in a car
- Settings to force the phone screen to stay on or force its brightness to maximum, set a visual speed limit, set the interface language

I'll soon be adding statistics through a trip tracking feature using the phone's GPS position, as well as a new in-app navigation widget (if possible, I still need to study the feasibility). Stay tuned!

Update attachment
Johan
Johan
9h 26m • 4 months ago

I had already started the project before the start of SoM, I didn't intend to publish it so the entire codebase was in my native language at the beginning. After translating everything, removing some minor details that I didn't want to show online, and after cooking on the first BLE protocol integration, I'm almost ready to publish the source code of the project. Afterward, I will keep updating the app and posting devlogs here until I get to the most advanced state of the app I want to make!

Update attachment