aylz10/Achievements

A desktop application built with Electron that monitors running games and displays beautiful animated notifications

โ˜… 0Forks 0HTMLGitHub โ†—Compare

README

๐ŸŽฎ Achievements

A desktop application built with Electron that monitors running games and displays beautiful animated notifications for:

  • โœ… Achievement unlocks
  • โฑ๏ธ Playtime tracking (Now Playing / You Played X minutes)
  • ๐Ÿ“ˆ Progress updates
  • ๐Ÿ–ผ๏ธ Game image overlays

โœจ Features

  • Detects running games using their process names
  • Sends notifications with custom HTML/CSS animation
  • Supports multiple notification types:
    • Achievement
    • Progress
    • Playtime
  • Customizable sounds and visual presets
  • Notification position and scaling options
  • No focus stealing โ€“ overlay remains non-intrusive
  • Electron-based frontend, built for Windows

๐Ÿ“ Project Structure

File/Folder Description
main.js Main Electron process: window handling, core logic
playtime-log-watcher.js Tracks game start/stop and calculates total playtime
overlay.html, playtime.html, progress.html Animated HTML notification templates
gameImage.html Displays a static game image window
utils/ Helper modules for paths, process listing, etc.
presets/, sounds/ Custom themes and sound assets
style.css Global styling for notification templates

๐Ÿ› ๏ธ Installation

  1. Install Node.js and Git.
  2. Clone this repository:
    git clone https://github.com/YOUR_USERNAME/achievements.git
    cd achievements
  3. Install dependencies:
    npm install

๐Ÿš€ Running the App

npm start

๐Ÿงฑ Building a Windows Executable

npm run dist

Creates a standalone .exe installer in the dist/ folder.

๐Ÿ“ฆ Dependencies

๐ŸŽฎ Setup

  • Create a config with Name; AppID; Config Path and Save Path. The Name can be whatever you want. The AppID is the name of the folder where the achievements.json are saved after you unlock them. The Config Path is the location where the achievements.json and images/img folder is stored. The Save Path is where the AppID folder is created and stored.
  • Notification Preset and Position can be set on different main screen position.
  • Sounds cand be changed and Language also based on achievements.json generated from steam if other languages exist on the file.
  • After the config is saved, can be loaded from the dropdown, and the app will: populate the tabel on the main window with all the achievements title\description and images, populate the overlay window [Shift+O] with all the achievements title\description and images, start looking for Save Path\AppID\achievements.json, when is created it will read it and if the achievement is unlocked will read the title\description from config json and send the notification. Games need to be in Borderless, on Fullscreen not all of them are working. If the game already has achievement unlocked, when it first load, it will displayed all the achievements unlocked and store them to not be displayed next time.

https://youtu.be/4w8ENj3rlSY

๐Ÿ‘ค Author

JokerVerse
Copyright ยฉ 2025


Feel free to contribute, fork or suggest improvements!