Skip to content

A lightweight always-on-top desktop app for tracking conference and journal submission deadlines.

Notifications You must be signed in to change notification settings

Fuhua-Bot/DDL-Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DDL Tracker

🎵 This tool was entirely built through pure vibe coding — no manual coding, just vibes and AI.

A lightweight always-on-top desktop app for tracking conference and journal submission deadlines. Built with Python + PyQt5. Data is stored in a plain Markdown file — no database, no cloud.

DDL Tracker Logo


Features

  • Color-coded urgency — cards change color automatically based on days remaining
    • 🔴 ≤ 7 days · 🟠 ≤ 14 days · 🟡 ≤ 30 days · 🟢 ≤ 60 days · 🔵 > 60 days · ⚫ past
  • Always-on-top toggle — keep it visible over other windows, or disable when not needed
  • Auto-resizing window — height adjusts to fit all entries, no scrollbar
  • Add / Edit / Delete entries directly from the UI
  • Live file watching — edit deadlines.md in any text editor and the app updates instantly
  • System tray — minimise to tray, double-click to restore
  • Adjustable font size — A+ / A− via the ⚙ settings menu
  • No installation required — single .exe for Windows

Screenshot

App Screenshot


Quick Start (Windows, no Python needed)

  1. Download DDLTracker.zip from Releases
  2. Extract to any folder — keep DDLTracker.exe and deadlines.md in the same folder
  3. Edit deadlines.md to add your deadlines (see format below)
  4. Double-click DDLTracker.exe

⚠️ deadlines.md must be in the same directory as DDLTracker.exe. The app creates a blank one automatically if it doesn't exist.


Data Format (deadlines.md)

Each deadline is one line:

- **Conference / Journal Name** | YYYY-MM-DD | optional notes

Example:

- **CVPR 2027** | 2026-11-14 | Abstract due 1 week earlier
- **NeurIPS 2026** | 2026-05-21 |
- **ICLR 2027** | 2026-10-02 | Full paper, no abstract deadline

Rules:

  • Lines not matching the format are silently skipped
  • Notes are optional (leave blank after the last |)
  • Date must be YYYY-MM-DD

UI Guide

Button Action
Add a new deadline
Settings menu — font size, always-on-top toggle, refresh, open file
Minimise to system tray
Quit
(on card) Edit notes for that entry
(on card) Delete that entry

Drag the title bar to move the window anywhere on screen.


Run from Source

Requirements: Python 3.9+

git clone https://github.com/<your-username>/ddlapp.git
cd ddlapp
pip install -r requirements.txt
python main.py

Development Environment

Full list of packages in the tested virtual environment (Python 3.14, Windows 11):

Package Version
PyQt5 5.15.11
PyQt5-Qt5 5.15.2
PyQt5_sip 12.18.0
watchdog 6.0.0
pillow 12.1.1
pyinstaller 6.19.0
pyinstaller-hooks-contrib 2026.1
altgraph 0.17.5
pefile 2024.8.26
pywin32-ctypes 0.2.3
packaging 26.0
setuptools 82.0.0

For running the app, only PyQt5 and watchdog are required (see requirements.txt). pillow and pyinstaller are only needed to build the exe.


Build Executable

pip install pyinstaller pillow
# Generate logo.ico from logo.png first (only needed once)
python -c "from PIL import Image; img=Image.open('logo.png').convert('RGBA'); img.save('logo.ico',format='ICO',sizes=[(16,16),(32,32),(48,48),(256,256)])"
# Build
pyinstaller --onefile --windowed --name DDLTracker --icon logo.ico --add-data "logo.png;." main.py

Output: dist/DDLTracker.exe


License

MIT

About

A lightweight always-on-top desktop app for tracking conference and journal submission deadlines.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors