Time Tracking for Trello
A Power-Up that logs time on cards (30m, 1h 40m, 1d, 1w, 1M), board reports with label and author filters, Excel (.xlsx) export, and epic time limits with remaining budget and estimated finish. Data stays in Trello — no server required.
Format
30m,1h,1h 40m,1.5h,1:401d— work day (default 8 hours)1w— work week (default 5 days)1M— work month (default 20 workdays);mmeans minutes- Russian units still work:
30мин,2ч,1д,1нед
Epics
An epic is a normal card with child cards stored by this Power-Up. In the Epic tab, click the + add child card link, type a card name and choose a suggestion, or paste a https://trello.com/c/... URL, then click Add. Suggestions support arrow keys and Enter. Drag the handle beside a child card to reorder the list, or focus it and use the arrow keys. The list shows each card's title and spent time. An optional Limit (e.g. 2w) enables a thin progress bar with permanent spent-time and remaining-time callouts above it, plus an estimated finish date. A red striped segment shows time over the limit. Nested epics roll up; shared tasks count once per epic. Time on the epic itself is excluded. Native Trello checklists do not affect these totals.
Est. finish converts the remaining budget into workdays from today using the board’s hours-per-day setting; weekends and excluded dates in Power-Up settings are skipped. Calculated totals may be cached in shared card data to speed up badges; the cache is optional and rebuilt from logs when needed.
Use the Epic | Task tabs to switch views. Epic shows child cards and their budget; Task shows this card's own time log. Both features can be used on the same card. Switching tabs preserves entries and unfinished input. Each log entry has its own border and spacing.
Report export
Board Time report downloads .xlsx with three sheets: summary, entries, and epics (limits, spend in the selected period, remaining, estimated finish).
Hosting and setup
- Build and verify with
npm ci && npm run check. Publish the contents ofdist/. - Deploy to Cloudflare Pages with build command
npm run checkand output directorydist. The included_headersconfigures HSTS and CSP; GitHub Pages cannot apply these custom headers. - Use
https://alexkarpovich-github-io.pages.dev/as your site URL. - Create a Power-Up at Trello Power-Up admin. Iframe connector URL:
https://alexkarpovich-github-io.pages.dev/index.html. - Enable capabilities: Board buttons, Card back section, Card badges, Card detail badges, Card buttons, Show settings, On enable, Authorization status, Show authorization.
- Add the Power-Up to a board.
Update Trello Auth Allowed Origins and the Privacy Policy URL when changing the hosting origin. Keep the existing Power-Up ID. Verify the deployed headers with npm run check:security -- https://alexkarpovich-github-io.pages.dev/index.html.
API key is optional. Set it in js/config.js to enable optional read access for time logs unavailable through the SDK.
Storage
Entries are stored in shared Power-Up data on each card (4096 characters per shared card scope). Everyone who can see the card can read the log. The interface allows authors to edit their own entries; shared storage does not enforce per-entry author permissions.