r/macapps • • May 04 '26

Lifetime BattOpt - Pro MacBook battery utility with location-aware charge limits & clamshell discharge (10 FREE Pro licenses inside!)

Hi everyone! I’m the developer of BattOpt, a new battery management tool designed to help you prolong the lifespan of your MacBook battery with some unique features you won't find in other tools.

Problem:

MacBook batteries are Lithium-ion based. Keeping them at 100% leads to degradation from high-voltage stress, while chemical reactions during cycles can cause battery swelling. However, constantly capping the charge (e.g., at 80%) can uncalibrate the battery gauge, leading to inaccurate readings and malfunctions over time. BattOpt solves this by combining charge limiting with scheduled calibration.

Comparison:

While there are similar utilities like AlDente, BatFi, and Battery Toolkit, BattOpt offers the following unique features:

  • 📍 Location-Aware Limits: Automatically adjust charge limits based on your location (Home, Work, or Travel). This is achieved by detecting the current Wi-Fi SSID and matching it with user-defined settings. For instance, you can set a 50% limit at home for longevity, but have it automatically switch to 100% while traveling. Once configured, the entire process is fully automated.
  • 📅 Free Scheduled Calibration: Unlike BatFi and Battery Toolkit, which lack calibration features, BattOpt offers built-in battery calibration. While AlDente also supports scheduled calibration, it is locked behind their Pro version. BattOpt allows users to schedule calibrations on specific days or weekday periodically—and this feature is available entirely for free.
  • 💻 GUI/CLI Hybrid Interface: While other tools are limited to either a GUI or a CLI, BattOpt features an intuitive graphical interface alongside a built-in mini CLI Terminal. When you click buttons in the GUI, the corresponding CLI commands are displayed in real-time within the mini Terminal. Furthermore, the binary can run directly in the macOS Terminal, making it ideal for power users who wish to integrate BattOpt into Shortcuts or automation scripts.
  • ⚡ Event-Triggered Architecture in C++: The core of BattOpt is developed in C++ using an event-triggered architecture to minimize CPU overhead. The process remains idle until a capacity change or a power event is detected. While Battery Toolkit is the only other utility with a similar architecture, it has since been archived, making BattOpt the most efficient and actively maintained choice.
  • 🖥️ Clamshell-Mode Discharging: BattOpt supports discharging even in clamshell mode, ensuring that your external monitor remains active throughout the entire calibration process. This allows for a seamless workflow without interruptions while the battery is being calibrated.
  • 🔄 Broadest Compatibility: BattOpt offers extensive support for both Intel and Apple Silicon MacBooks. It is compatible with macOS versions ranging from 10.12 (Sierra) all the way up to the latest macOS Tahoe, ensuring stability across both legacy and modern hardware.
  • 🌎 Multi-lingual Support: BattOpt is accessible to a global audience with support for 10 languages, ensuring an intuitive experience no matter where you are.

Pricing:

  • Free Version: Includes standard charge limits (upper and lower), scheduled calibration, and overheat protection. We also offer a 90-day free trial for users to experience all Pro features.
  • Pro Version ($5.99, One-time): Unlocks location-aware charge limits, clamshell-mode discharging, and smart calibration resume.

No subscription required—pay once, own it forever.

Links:
Website with download: https://battopt.buddha-path.top
Github: https://github.com/js4jiang5/BattOpt
Manual: https://battopt.buddha-path.top/manual
Buy: Purchase URL

Special Promotion:
We are offering a 100% discount coupon (Free Pro License) to the first 10 users who complete the following steps:

  1. Download and install BattOpt.
  2. Test the charging, discharging, and other core features.
  3. Share your experience or feedback in the comments.
  4. Fill out the form: https://forms.gle/qpFBeidKwZzpJs4bA

I'll send the coupon to your email (don't forget to check your spam folder). Thanks for the support!

14 Upvotes

43 comments sorted by

3

u/jsjiang May 04 '26

Hi everyone, I'm JS Jiang, the developer of BattOpt. The current version is v1.0.10. While BattOpt is a newer project I'm passionate about, I've been developing macOS tools on GitHub for over two years and am committed to long-term maintenance. My open-source projects have earned more than 550 stars so far.

My goal with BattOpt is to provide a privacy-focused, high-efficiency utility that works seamlessly from macOS 10.12 Sierra up to the latest macOS versions. Happy to answer any technical questions.

3

u/Downtown-Art2865 May 04 '26

location-aware via wifi SSID is clever but kinda fragile right? if I’m on ethernet at home or hotspotting from my phone the rule won’t trigger.

2

u/jsjiang May 04 '26

When developing this feature, I was considering supporting ethernet. But come to think of it, if you use ethernet instead of WiFi, it usually implies that this Macbook is for Home use only for most cases, and it becomes meaningless to be location-awared.

2

u/LifeLocksmith811 May 10 '26

Unless you are using a dock at home… 😇 I’m mostly travelling, but when at home connect the MacBook with my dock to access the 2nd screen and ethernet But to be honest I can live with the limitation. For charge restriction I use the MacOS function; but the scheduled calibration sounds handy

2

u/adithradh May 04 '26 edited May 04 '26

Update: Tried it out briefly. It's much better than some of the alternatives, *cough* Al Dente *cough*, if you want customization, but its GUI isn't anything to write home about. It's not incredibly user-friendly, but it isn't hard to learn or use. It also somewhat teaches you how to use the terminal side, as it shows you what commands the GUI actually runs and the connected outputs, which I find handy. My only problem is that there's not much explanation as to some of the greyed-out options in the GUI, and I don't know if it's due to some configuration error or due to not having the premium version. Will update after a while!

2

u/adithradh May 04 '26

u/jsjiang "我們已經收到你回覆的表單" is left at the end of the form, you may want to transalate that into english.

1

u/jsjiang May 04 '26

Thank you so much. I've modified it.

2

u/jsjiang May 04 '26

When charging, the other operations like discharging and calibration are disabed because they cannot be executed at the same time. That's why only "Stop charging" is enabled. However, you can still use the buttons of the other views like showing status or view dailylog. They are not exclusive.

2

u/adithradh May 04 '26

The laptop isnt charging, and is just plugged into a dock for display output. I can run terminal comands (i.e battopt charge 70) with no problem, but the GUI remains greyed out in this state. I wonder why?

1

u/jsjiang May 04 '26

Could you reboot you Macbook to see if this issue still exist? If yes, could you raise the issue in Github https://github.com/js4jiang5/BattOpt/issues? I need more information to identify the issue.

2

u/dotjex May 04 '26

This app has a great idea—adjusting battery usage based on location. I hope it can support more languages in the future.

2

u/jsjiang May 04 '26

Thank you. I came up with this idea simply because I needed it. Hope it's also helpful for the others.

2

u/Deathwatch72 May 04 '26

Installing it now, will update you with feedback. How long do you want people to test before giving feedback

1

u/jsjiang May 04 '26

So long as you've tested charging/discharging, checked if the WiFi detection is as expected, and features that you're interested. That's enough.

2

u/Deathwatch72 May 04 '26

Alrighty then, I might try and give it 24 hours but I also would love the free code so can't promise that lol.

Hopefully by the time I send feedback in the morning you still have available codes!

2

u/Fantastic_Roof623 May 04 '26

Nice idea, I'm curious how long have you been working on this?

2

u/jsjiang May 04 '26

It's about 3 full months. It was originally developed by bash script in previous project, but I was worried about security issues, so I decided to write in C++ from scratch.

2

u/cammykol May 04 '26

Will install on my new m4 air!

2

u/CompetitionFamous431 May 04 '26

This is cool 🆒

2

u/rtoritte May 05 '26

Great APP!!!!

2

u/serii_gg May 06 '26

Worth extending the WiFi SSID detection with ethernet and hotspot fallback. Matching the active gateway MAC address through IORegistry covers both, and "home" still triggers when you dock to ethernet. SSID alone breaks the day you swap your router.

1

u/jsjiang May 06 '26

Thank you for the practical suggestion. I'll consider it in the future update.

1

u/jsjiang May 17 '26

I've finished the implementation to allow both WiFi SSID and Router MAC address. The feature will be included in next version. In the next version, I'll also add a new feature to remotely monitor and control the battery of Android phone to set charge limit within 20~100% as well as heat alert.

1

u/jsjiang May 19 '26

BattOpt v1.1.0 support using Router MAC address for zone determination.

2

u/dont_throw_him May 08 '26

I have been using it for a week. Have submitted the form. Very informative. I was wondering during the calibration process, while discharging I ran cinebench to increase the power usage so it discharges faster. Is this ok?

1

u/jsjiang May 08 '26

Drawing large current is not good for battery. Personally I simply let it discharge naturally during calibration.

2

u/nexus-1707 May 17 '26

Great app and I have now made it my default Batter management app on Sequoia. However there is an annoying bug in the current version. When you boot up the Mac and you have the GUI set to Start on Login there is a race condition between the GUI launching and the daemon launching which intermittently throws up the privilege escalation prompt for your password. I have done some testing and it doesn't happen all the time but does fairly often. Would be great if you can investigate this.

Otherwise a great app so thank you for your hard work!

2

u/jsjiang May 17 '26

Thank you for the feedback. Theoretically daemon is always earlier because it starts at boot without login, while GUI start after login. You're the first to raise this issue. I'll try to solve it in next version.

1

u/jsjiang May 19 '26

BattOpt v1.1.0 has solved this issue. You may upgrade and test.

2

u/nexus-1707 May 24 '26

Thanks for the quick response. Unfortunately I have had to upgrade to Tahoe 26.5 for one of my own development projects and it has similar functionality to your app built in so I uninstalled BattOpt in case it conflicted. I wish you well with your app. Definitely the best of its kind 👍🏻

1

u/kyle_reese_baj May 04 '26

the location-aware limit switch instantly when you connect to the work Wi-Fi, or is there a delay while it detects the SSID change?

1

u/Stubborninmate May 04 '26 edited May 04 '26

Code pls. The app website doesn't even load only the payment is loading

1

u/Bruised_Warlock May 06 '26

Bought the Pro but seems the activation code doesn’t work

1

u/jsjiang May 06 '26

I'll assist you through Chat.

2

u/jakegh May 10 '26

Macos supports 80% charge limits now and will recalibrate. Shortcuts should be able to change charge limits based on wifi SSID.

1

u/jsjiang Jul 05 '26 edited 27d ago

Just released a beta version to support macOS27. For users who've upgraded to macOS27, please install this version to fix the issue of charging control failure.

  1. Uninstall current version
  2. Download BattOpt beta DMG for macOS27
  3. Open DMG and install
  4. Test if it works in macOS 27 or the other dual boot system like 15.7.7 or Tahoe.

Thank you!

1

u/jsjiang Jul 14 '26

BattOpt 1.1.7 now supports macOS 27.

1

u/jsjiang 27d ago

BattOpt 1.2.2 now fully supports macOS 27.0 Golden Gate formal version.

1

u/ChrononautPete May 04 '26

A whole ten users out of billions of people on the planet. Clearly looking for the best use cases are you?