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
- Start NotifyPulse on your PC.
- Find your PC's local IP (e.g.
192.168.1.50). - On your phone, open:
http://192.168.1.50:5000/pwa - iOS: tap Share → Add to Home Screen
- 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
Releases
4
Version 3.2
Latest
Languages
HTML
68.7%
Python
30%
Batchfile
0.8%
JavaScript
0.5%