TutorialsGHG b011c7ad75 Initial commit
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00
2026-04-12 21:57:21 +02:00

NotifyPulse V2

A fast, polished Windows background notification app with a desktop Web UI and a mobile PWA for wallpaper delivery.


What's new in V2

Feature V1 V2
Architecture Monolithic single file Modular: backend + /ui + /pwa
PWA support iOS + Android
Mobile wallpaper push Lockscreen + Background
Settings persistence Config file only settings.json + live UI
Settings options Name + interval + stretch +opacity, +duration, +sound, +hotkey, +auth token, +startup behavior
Poll speed 5s file watch / 1s UI 4s file watch / 1s UI / 3s countdown
CORS (needed for PWA)
API Basic Extended: /api/fire_now, /api/entries CRUD, /api/log, /api/pwa/*
Desktop UI Inline HTML in .py Separate ui/index.html (sidebar layout)

Folder structure

NotifyPulse/
├── notifier.py          ← Main app
├── make_ico.py          ← Icon generator
├── requirements.txt
├── build.bat
├── ui/
│   └── index.html       ← Desktop Web UI
└── pwa/
    ├── index.html        ← Mobile PWA
    ├── manifest.json
    └── sw.js             ← Service Worker

Config lives in %APPDATA%\Roaming\NotifyPulse\:

NotifyPulse/
├── notifications.txt    ← Your entries (auto-reload on save)
├── settings.json        ← Persisted settings
├── icon.png             ← Optional custom icon
├── wallpapers/          ← PC wallpapers
├── Overlay/             ← Screen overlay images
└── Mobile/
    ├── Lockscreen.jpg   ← Mobile lock screen image
    └── Background.jpg   ← Mobile home screen background

Quick start

pip install -r requirements.txt
python make_ico.py
python notifier.py

Or build an .exe:

build.bat

Mobile PWA setup

  1. Start NotifyPulse on your PC.
  2. Find your PC's local IP (e.g. 192.168.1.50).
  3. On your phone, open: http://192.168.1.50:5000/pwa
  4. iOS: tap Share → Add to Home Screen
  5. Android: tap ⋮ → Install App

The PWA polls the PC every 4 seconds. When a change.wallpaper.mobile entry fires (or you click "Request New Wallpaper"), the PWA instantly receives the Lockscreen and Background images and lets you save them to your camera roll.


notifications.txt syntax

@name       My App Name
@interval   10 30          # min/max minutes

# Weighted random (picks by % weight)
Take a break! | 35%
Drink water!  | 30%

# Daily at fixed time
Morning standup | 09:00
End of day      | 17:30

# Special commands
change.wallpaper        | 20%    # change PC wallpaper
change.wallpaper.mobile | 10%    # push new wallpaper to phone
show.overlay            | 15%    # fullscreen image overlay (6s)
show.overlay.10         | 10%    # overlay for 10s

API reference

Method Endpoint Description
GET /api/state Full app state
POST /api/pause Toggle pause
POST /api/fire_now Fire random entry now
GET/POST /api/entries Read/write notifications.txt
GET/POST /api/settings Read/write settings
GET /api/log Event log
POST /api/test_notification Send test toast
POST /api/test_wallpaper Test PC wallpaper change
POST /api/test_overlay Test screen overlay
POST /api/test_mobile_wallpaper Push mobile wallpaper
POST /api/pwa/ping PWA heartbeat
GET /api/pwa/wallpaper PWA polls for pending wallpaper
POST /api/pwa/trigger_wallpaper PWA requests new wallpaper
Description
No description provided
Readme 45 MiB
Version 3.2 Latest
2026-04-14 15:50:51 +02:00
Languages
HTML 68.7%
Python 30%
Batchfile 0.8%
JavaScript 0.5%