Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Better Posture ✨

Release License Stars Go

A posture reminder utility to promote ergonomic habits.

🪑 Better Posture is a lightweight and robust Windows system-tray utility that helps you maintain better posture and take regular breaks. Never forget to stretch or adjust your position again!

Better Posture Screenshot

Better Posture automatically adapts its interface to your system language.

💡 Features

  • Lightweight and Minimal: Native Go application that consumes minimal CPU and memory resources.
  • Non-Blocking Notifications: Uses native Windows notifications (MessageBoxW + Windows toast notifications) in a non-blocking way.
  • Live Countdown Timer: Displays the time remaining until the next reminder directly in the system tray tooltip and the menu itself.
  • Customizable Intervals: Easily increase, decrease, or reset the reminder interval directly from the tray menu (from 1 minute up to 24 hours).
  • Pause & Resume: You can pause and resume the reminders at any time.
  • Portable: The application is a single executable file with no external dependencies.
  • Persistent Configuration: Stores your settings in %APPDATA%/BetterPosture/settings.json.
  • Resilient & Safe: Automatically recovers from missing/corrupted settings files and sanitizes invalid values.
  • Single-Instance Enforcement: Prevents multiple copies from running at once.
  • System-Language Aware: Automatically translates its interface based on your Windows system language.

🛠️ Installation & Usage

🚀 Download Ready-to-Use Executable

  1. Download the latest BetterPosture.exe from the Releases page.
  2. Run the executable. The app immediately starts in the background.
  3. Look for the Posture Reminder icon in your system tray (near the clock).

No installer, no setup.

⚙️ Build from Source (For Developers)

To build this project, you need Go 1.21+ installed.

  1. Clone the repository:

    git clone https://github.com/rtorval/better-posture.git
    cd better-posture
  2. Install Dependencies:

    go mod tidy
  3. Embed Icon and Windows Resources:

    # Install the tool
    go install github.com/tc-hib/go-winres@latest
    
    # Generate Windows resource files (icon, metadata)
    go-winres make
  4. Build the Executable: The -H=windowsgui flag is crucial to prevent the console window from flashing/appearing upon execution.

    go build -ldflags="-H=windowsgui" -o BetterPosture.exe .

📖 Configuration

Your settings are saved automatically.

  • Path: %APPDATA%\BetterPosture\settings.json

Example:

{
    "interval_minutes": 3,
    "reminder_title": "Time to Move!",
    "reminder_message": "Stand up, stretch your back, and adjust your chair.",
    "system_language": "en-US"
}

Notes:

  • system_language only reflects the language detected from your Windows system.
  • Changing the system language or deleting the config will update the default reminder title and message automatically.
  • Manual edits are possible while the app is closed.

📅 Roadmap

Planned enhancements:

  • Potential cross-platform support (macOS/Linux)
  • Expanded localization support

🤝 Contributing

Thanks for your interest in Better Posture! Contributions are welcome.

  1. Fork the repo
  2. Create a feature branch
  3. Commit your changes
  4. Open a pull request

Please follow the existing code style and keep it simple, clean and readable.

💻 Technical Details

Better Posture is built entirely in Go and uses:

⚖️ License

© 2025 Rodrigo Toraño Valle

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

About

A posture reminder utility to promote ergonomic habits.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages