DeskDot Open in browser GitHub
Progress running on a 32×32 LED panel
32×32 · Livereal render
TimeLive

Progress

Day, week, month, year, life and custom-event progress as bars, a big ring or a dots grid.

At a glance

OutputLiveRendered by the engine and streamed over Bluetooth as its data changes (about 5–9 frames a second).
Settings21every one editable live in the studio, or by an agent with update_app_settings
Sourceprogress.pysrc/deskdot/apps/progress.py

Settings

Settings
SettingTypeDefaultOptions / range
Layout
LayoutlayoutchoiceStacked bars
Stacked barsBig ringDots grid
Ring / dots showfocuschoiceYear
DayWeekMonthYearLifeEvent 1Event 2
Decimalsdecimalswhole number10 – 2
Seconds per pagepage_secondswhole number62 – 60
Bars
Dayshow_dayon/offOnon / off
Weekshow_weekon/offOnon / off
Monthshow_monthon/offOnon / off
Yearshow_yearon/offOnon / off
Lifeshow_lifeon/offOffon / off
Custom eventsshow_eventson/offOnon / off
Week startsweek_startchoiceMonday
MondaySunday
Life
Birth datebirth_datetext1990-01-01free text
Life expectancy (years)life_yearswhole number8030 – 120
Events
Event 1 onevent1_onon/offOffon / off
Event 1 labelevent1_labeltextPROJECTup to 12 characters
Event 1 startevent1_starttext2026-07-01T00:00:00free text
Event 1 endevent1_endtext2026-12-31T18:00:00free text
Event 2 onevent2_onon/offOffon / off
Event 2 labelevent2_labeltextTRIPup to 12 characters
Event 2 startevent2_starttext2026-09-01T00:00:00free text
Event 2 endevent2_endtext2026-10-15T00:00:00free text

Try it

render a frame to PNG (no panel needed)
$ uv run deskdot preview progress --settings '{"layout":"ring"}' --out progress.png
show it on your panel (engine running)
$ curl -X POST http://127.0.0.1:8765/api/apps/progress/activate

Or ask your agent: “Show Progress on my panel”. It calls show_app with "progress". New here? Set up DeskDot first.

More time apps