Local desktop app that stamps a date, optional address, and caption on photos — then exports copies. Originals are never modified.
Avalonia only. There is no Gradio / Hugging Face Space UI.
cd PhotoLog.Avalonia
dotnet run
# open a folder path at launch:
dotnet run -- ~/Pictures/trip
Headless pipeline check (no window, no model required):
dotnet run -- --selfcheck
Publish a self-contained binary:
dotnet publish -c Release -r linux-x64 --self-contained true -o bin/publish/linux-x64
_1, _2, …| Caption | Export base name |
|---|---|
A quiet street at sunset. | A quiet street at sunset.jpg |
| (empty) | original name, e.g. IMG_0123.jpg |
| same caption twice | second file gets _1 before the extension |
Tidy strips chat-template debris, keeps one short line, drops a trailing period — that cleaned line is what stamps and renames.
Model download lives under the platform app-data folder (…/PhotoLog/models).
Local desktop app that stamps a date, optional address, and caption on photos — then exports copies. Originals are never modified.
Avalonia only. There is no Gradio / Hugging Face Space UI.
cd PhotoLog.Avalonia
dotnet run
# open a folder path at launch:
dotnet run -- ~/Pictures/trip
Headless pipeline check (no window, no model required):
dotnet run -- --selfcheck
Publish a self-contained binary:
dotnet publish -c Release -r linux-x64 --self-contained true -o bin/publish/linux-x64
_1, _2, …| Caption | Export base name |
|---|---|
A quiet street at sunset. | A quiet street at sunset.jpg |
| (empty) | original name, e.g. IMG_0123.jpg |
| same caption twice | second file gets _1 before the extension |
Tidy strips chat-template debris, keeps one short line, drops a trailing period — that cleaned line is what stamps and renames.
Model download lives under the platform app-data folder (…/PhotoLog/models).