Bio

moo!

Stats

2
Projects
20
Devlogs
45
Votes
2
Ships

Coding Time

All Time: 302h 19m
Today: 0h 0m

Member Since

June 16, 2025

Badges

1
🚢
Maiden Voyage
you shipped your first project! the journey begins...

Projects

2
YourDownloader
7 devlogs • 4 months ago
eScive

eScive

Shipped
13 devlogs • 4 months ago

Activity

Johan
Johan worked on eScive
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
Johan
Johan worked on eScive
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 worked on eScive
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

Added a /debug hidden command that reply with the bot version and uptime. The version of all used programs (ffmpeg, ytdlp) are logged in the console at the start of the bot.

Update attachment
Johan
Johan worked on YourDownloader
2h 24m • 4 months ago

This update adds a caching system for downloaded files, this enable the possibility to download files faster when another user already requested it. Files expires 48h after their creation. A Dockerfile + docker-compose.yml was also added for easier installation, and the README.md has finally been wrote!

Update attachment
Johan
Johan worked on YourDownloader
1h 46m • 4 months ago

Added support for downloading YouTube videos and audios by sending links from Apple Music, Spotify, Tidal, Deezer, Amazon Music, Song.link.

This updates also fixes some minors issues and add asynchronous inline keyboard operations, which fix the unability to handle multiple downloads at the same time.

Update attachment
Johan
Johan worked on YourDownloader
2h 37m • 4 months ago

You can now download from YouTube with Apple Music links! This is due to two new features inside the code called subproviders and search platforms.

A subprovider is a service that will be supported when the user send a link a associated to them, a search platform is a service that can be used by the bot to make a search. For example, it give users the ability to send an Apple Music link that will be used to search and download the music through YouTube.

This update also give the ability to use ytdlp provider as a fallback when a link isn't recognized as it supports many services like SoundCloud, Instagram and TikTok! The global check also check if ffmpeg is installed to avoid issues when running the bot, and the Telegram Local API is now used to bypass 50 MB file size limit.

Update attachment
Johan
Johan worked on YourDownloader
2h 52m • 4 months ago

We can download videos directly from YouTube in MP4 and MP3! The bot simply need to be sent any URLs from youtube.com / youtu.be and the user will be asked to choose the extension. If YouTube doesn't give us the format wanted, it will automatically be converted to using ffmpeg. This update took some time because I've built everything with a modular architecture - I can now just create a new JS file in the providers folder and it will be automatically functional without changing must of the core bot logic. For your knowledge, yt-dlp is obviously used for this.

Johan
Johan worked on YourDownloader
2h 17m • 4 months ago

Added initial support for YouTube as a form of provider (which will help extend the capacity of this bot), still not visible through the commands because I've also just started the ability to select a provider based on the URL sent to the bot by the user. I also added a global check of the commands required by the bot to function properly, it will automatically be executed before connecting to the Telegram API, and will cancel the process if a fatal error is encountered.

Update attachment

Starting this new project, it only connect to Telegram and reply to some commands for now + implemented a failure handler (also logs in the terminal).

Update attachment
Johan
Johan created a project
112d ago

YourDownloader

Download videos and audios from YouTube and others platforms supported by yt-dlp using your own selfhosted private downloader!

YourDownloader
7 devlogs 0 followers Shipped
Johan
Johan worked on eScive
16m • 4 months ago

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

Update attachment
Johan
Johan worked on eScive
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 worked on eScive
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 worked on eScive
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 worked on eScive
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 worked on eScive
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 worked on eScive
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 worked on eScive
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 worked on eScive
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 worked on eScive
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
Johan
Johan created a project
127d ago

eScive

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.

eScive
13 devlogs 1 follower Shipped
Johan
Johan joined Summer of Making
128d ago

This was widely regarded as a great move by everyone.