blogti.me

User Guide

Everything you need to know about using blogti.me to track your time.

blogti.me landing page

blogti.me takes a journal-style approach to time tracking. Instead of starting and stopping timers, you post short messages describing what you're working on. The timestamp of each message marks the start of that activity, and the gap between messages becomes the tracked duration.

Getting Started

Signing In

Open blogti.me in your browser. You'll see sign-in options for Google, GitHub, and Microsoft. Click your preferred provider and authorise the app. Your sign-in creates a private account — all your data is only visible to you.

No account yet? This guide itself is public — every section below is browsable without signing in. Use the User Guide link on the landing page (and the prominent "Take the full tour" banner) to come back here later.

Your First Client

After signing in, create a client to start tracking time. A client represents a company, project, or engagement. Head to Configuration > Clients and add one.

The Header

The header appears on every page. It contains the logo, the client selector, sync status, your user menu, and the dark mode toggle. The navigation tabs below let you switch between features.

Application header with client selector, navigation tabs, sync indicator and user menu

The header shows the selected client, navigation tabs (Day View, Summary, Month Notes, Tickets, Leave, Reminders, Reports, Configuration, Guide), sync status, user avatar, and theme toggle. The Configuration tab opens a sub-tab layout with General, Clients, Categories, Work Schedule, Leave, and Holidays.

Switching Clients

Use the Client dropdown in the header to switch between clients. Everything on screen — messages, categories, leave data, reports — is scoped to whichever client is selected. Only active clients appear in the dropdown.

Day View

The Day View is the main screen — where you log messages and review how your time is being spent.

Day View showing the message input form, date navigation, and day summary sidebar

Posting a Message

Type a description of what you're about to work on and click Submit (or press Enter). The current time is automatically recorded as the start of the activity. Messages support multi-line text and Markdown formatting.

Quick-add Links

Below the message input, you'll see optional links for adding extra detail before submitting:

LinkWhat it does
+ timeSet a custom timestamp instead of "right now"
+ blockEnable block booking mode
+ categoryPre-assign a category before submitting
+ ticketPre-assign a ticket before submitting
+ templateFill the form from a saved message template
resetClear the entire form (appears when any field has input)

Overriding the Time

Click + time to open a time picker. Use this when logging something after the fact — enter the time you actually started. When posting to a past date, a time is always required.

Block Booking

Block booking records a completed chunk of work in one step:

  1. Click + block (this opens the time picker automatically).
  2. Enter when the work started.
  3. Enter the duration (hours:minutes).
  4. Add your message text, category, and/or ticket.
  5. Submit.

This creates two messages: your start message and an automatic "End of task" marker. The time between them is attributed to your chosen category. Block bookings are rejected if any existing message falls within the time range, or if the end time extends past midnight.

Assigning Categories and Tickets

Every message can be tagged with a category and optionally a ticket. Assign them before submitting (via + category / + ticket) or after the fact from each message card.

The dropdowns show a Recent section (your 5 most recently used) followed by all items alphabetically. With 6+ items, a search box appears — type to filter, press Enter to pick the first match. Use + New category... or + New ticket... to create on the fly without leaving the Day View.

Messages without a category don't count toward time totals. Message cards are colour-coded: green for billable, gray for non-billable, and white for uncategorised.

Copy a Message Back to the Form

Each message card has a small copy-to-form icon button. Click it to push that message's content, category, and ticket up into the new-message form so you can post a fresh entry with the same particulars (the timestamp is intentionally left blank). Works on any unlocked date — on today the new entry takes the current time; on past or future dates you'll need to pick a custom time before posting. The button fades to 20% opacity and disables itself when the form already matches that message — a passive indicator that the row is already mirrored above.

Day Summary

The sidebar shows where your time went: billable categories, non-billable categories, and a ticket breakdown. Each section is collapsible — the total stays visible when collapsed. Your collapse preferences persist across sessions.

Navigating Between Days

Use the date navigation at the top to move between days. The app defaults to today. Navigate to any past date to review the log, add backdated messages, or reassign categories.

Day Summary

The Summary tab is a totals-only view of a single day — no message list, no editing. It's the screen to pull up when you just want to see where the day went.

Day Summary page showing totals, billable/non-billable breakdowns and per-ticket time

Picking a Day

The page defaults to today. Use the prev/next arrows or the date picker to jump to any past day; a Today pill appears whenever you're viewing a different date so you can snap back in one click.

What You See

  • Three headline cards — Total time, Billable (with % of day), Non-billable (with % of day).
  • A stacked bar showing the billable vs non-billable split at a glance.
  • Billable by category and Non-billable by category breakdowns, each line with a mini-bar proportional to the day's total.
  • By ticket: per-ticket totals plus an Not linked to a ticket remainder line so uncovered time is never hidden.

Live Updates

When you're viewing today, totals refresh every 10 seconds so the last message's running allocation stays current.

Categories

Categories classify your work — things like "Development", "Code Review", "Meetings", or "Annual Leave". Each category belongs to a specific client. Navigate to Configuration > Categories to manage them.

Categories page showing the add form and a list of existing categories with billable badges

Creating a Category

Enter a name, toggle the Billable checkbox, and click Add. You can also create categories on the fly from the Day View dropdown (+ New category...).

Billable vs Non-billable

Mark a category as Billable if the time counts toward invoicing. Non-billable categories (leave, admin, internal meetings) are tracked separately in summaries and generated reports.

Editing

Click Edit on any category to rename it or toggle its billable status inline.

Hiding and Showing

Click Hide to retire a category from active use. It remains visible for dates before the hide date, keeping your history intact. The hide date defaults to today and can be changed by clicking the amber "Hidden from" badge. Click Show to reinstate.

Deleting

Delete is always available on a category row. If the category isn't referenced by any messages or tickets, you'll see the usual two-step inline confirm and the category is soft-deleted.

If the category is still in use, clicking Delete reveals a Move them to: picker listing every other category for the same client, plus a Leave unassigned option. Confirming reassigns every referencing message and ticket to your chosen target (or clears the reference entirely) and then deletes the original — all in one transaction. The destination's In use count is bumped by the number of moved messages; tickets don't contribute to that count.

Lists default to alphabetical order — categories by name, tickets by number (numeric-aware, so PROJ-2 sorts before PROJ-10), clients by name.

Tickets

Tickets let you track time against specific work items or project references (like JIRA tickets).

Tickets page showing the ticket registry with ticket numbers, summaries, default categories, and in-use badges

Adding a Ticket

Enter a Ticket Number (e.g. PROJ-123) and Summary, then click Add. Optionally pick a Default Category — it pre-fills the category whenever a message references this ticket.

If you leave the default category blank, an amber "No default category selected — add this ticket anyway?" prompt appears below the form. Click Add without category to confirm, or just pick a category — selecting one dismisses the prompt automatically. Duplicates within the same client aren't allowed. The same prompt also fires when editing a ticket and saving without a default category, and when creating a ticket on-the-fly from the day view's message form.

Editing

Click Edit on any ticket to change the number or summary inline.

Hiding and Deleting

Hide retires a ticket from dropdowns for dates on or after the hide date (editable via the badge). Delete is only available when the ticket isn't assigned to any messages — in-use tickets show an In use badge.

Message Templates

Message templates are reusable quick-fills for activities you log repeatedly — your daily standup line, a weekly status note, the "Code review" entry you log three times a day. Each template stores a short label, the content to drop into the message, and an optional default category. Templates are scoped per-client and managed under Configuration > Templates.

Message Templates configuration page showing the add form and existing templates list

Creating a Template

Enter a short Label (this is what shows up in the picker), type the Content that should drop into the message (multi-line + Markdown both work), and optionally pick a default category via the + category link — applied automatically whenever the template is used. Click Add.

Tickets are intentionally not part of templates. Tickets tend to be short-lived, so binding a template to one leaves stale references; pick the ticket on the message form after applying the template if you need one.

Using a Template

On the Day View, the message-form option row carries a + template link next to + time / + block. Click it, pick a template, and the form is populated — the existing content is overwritten and the template's default category is applied if one was set. Adjust as needed (set a ticket, edit the text) and submit.

Editing and Deleting

Each row on the templates page exposes Edit and Delete. The edit form mirrors the new-message form layout. Delete uses the standard two-step inline confirmation. Templates list alphabetically by label everywhere they appear.

Clients

Clients are the top-level organiser for all your data. Every category, message, leave record, and report belongs to a client. Navigate to Configuration > Clients to manage them.

Clients page showing global settings, add client form, import option, and client list with active/selected badges

Creating a Client

Enter a name and click Add. Each client gets a permanent folder slug (based on the name) used in report filenames — this never changes even if you rename the client.

Client Configuration

Expand the Configure panel on any client to set up metadata for generated reports:

  • Client Number — a reference printed on reports.
  • Client Logo / Contracting House Logo — uploaded images for reports.
  • Contracting House Name — used in leave application signature blocks.
  • Report Letterhead — image at the top of every PDF page.
  • Report Footer — image at the bottom of every PDF page.

Activating and Deactivating

Deactivate a client to hide it from the header selector while preserving its data. You can't deactivate the currently selected client — switch to another one first. Activate brings it back.

Exporting and Importing

Export downloads a complete JSON snapshot of a client's data. Import (under Add Client) uploads a snapshot and creates it as a brand new client — it never overwrites existing data. Letterhead/footer images aren't included in exports and need to be re-uploaded.

General App-level Settings

Three app-level settings live on Configuration > General and are shared across every client:

  • User Name — appears on generated timesheets and leave applications. If unset, the app uses your sign-in provider's display name.
  • First day of the week — Sunday through Saturday (default: Sunday). Controls the first column of every calendar grid in the app, including the Leave calendar.
  • Public Holiday Templates — country templates used by the Holidays page to auto-populate public holidays for any year. Seed defaults cover 28 countries; you can also add your own countries and rules.
General configuration page showing the user name field, the first day of the week dropdown, and the public holiday templates section with seeded countries

Work Schedule

Each client has a configurable work schedule that defines which days of the week you work and how many hours per day. The schedule is used by leave calculations and timesheet projections. Navigate to Configuration > Work Schedule to manage it.

Work Schedule page showing the current schedule card with day chips and schedule history list

Current Schedule

The top card shows the currently active schedule — which days are working days and how many hours per day. Each day appears as a chip: Mon 8h for active days, grayed out for off days. A weekly summary (e.g. "5 days, 40h/wk") appears alongside.

Click Edit to modify the schedule. Toggle days on/off by clicking the day buttons, and adjust the hours per day for each active day. Click Save to apply changes.

Schedule Changes

If your working hours change (e.g. moving from 5 days to 4 days a week), click Add schedule change to create a new schedule entry with an effective date. The previous schedule remains in history, and the app uses the correct schedule for any given date — so leave calculations and reports are always accurate, even across schedule changes.

Schedule History

All schedule entries are listed in reverse chronological order. Each entry shows its effective date, day chips, and a status badge: Current, Future, or Past. You can edit or remove any entry except the initial one.

Find by Date

When you have many schedule entries, use the Find date input to jump to the schedule that was active on a specific date. The matching entry is highlighted with an amber banner showing the effective date range.

Leave Management

blogti.me includes a full leave tracking system integrated with your time data. The top-level Leave tab opens on a visual calendar by default, and has three sub-views: Calendar, List, and Balances. Cycle setup and per-cycle allocation overrides live under Configuration > Leave.

Calendar View (default)

The Calendar sub-tab visualises weekends, public holidays, locked past cycles, and currently booked leave — colour-coded by type (Annual · Sick · Family). A view switcher toggles between two layouts:

  • Cycle (default) — all twelve months of the active leave cycle at a glance, stripped of text so colour alone tells you where bookings live. Prev/next cycle navigation lets you browse history and future cycles.
  • Month — a single month with full day numbers, holiday names, and a per-type coloured pill on each booked day showing the leave's full description (the comment entered when booking; falls back to the leave-type label when no comment was supplied). Prev/next month navigation.

Cell styling follows a fixed priority: public holiday (rose) beats non-working day (grey weekend or off-schedule) which beats booked leave (blue/amber/purple by type). Today's cell has a thick red inset ring; when today is inside an active selection the blue selection outline takes precedence.

Individual leave working-days that push the running available balance negative are flagged independently — the type colour stays visible underneath either overlay:

  • An orange corner-triangle (top-right) marks a weak warning — the running balance is negative at that day, but cumulative cycle bookings still fit within your cycle capacity, so future accrual will absorb it.
  • Bright-red diagonal stripes across the cell mark a strong warning — cumulative cycle bookings through that day already exceed the cycle's total capacity, so no future accrual can cover it. In month view the description pill also gets a trailing ! (e.g., Vacation!).

A single booking can therefore show any mix of no-warning, weak-triangle, and strong-striped days — each day reflects its own status at that point in the cycle.

Leave calendar in cycle view: a compact balance summary above 12 colour-coded mini-months showing weekends, public holidays, and booked leave

Click and drag any date range — even across month boundaries in cycle view. Depending on what the selection contains, a capture panel beneath the grid offers one or both of:

  • Book leave — available when the selection contains any unbooked working day, or when the comment you type differs from the comment on a same-type booking already covering one of your selected days (so you can re-comment a stretch of an existing booking).
  • Remove leave — available when the selection contains any booked working day. Removes or trims whatever leave (of any type) touches those days.

Booking follows one simple rule: every selected working day takes the new comment; any untouched days of existing events keep their original comment. Adjacent runs with the same comment merge (weekends and public holidays inside a run are bridged, at the edges they're trimmed) so each comment ends up with the minimum number of events per month. Runs with different comments stay separate, even when they sit next to each other. Ranges that cross a month boundary are handled silently per month — no preview, no prompt.

The first column of every calendar grid follows your First day of the week setting under Configuration > General (default: Sunday).

Compact Balance Summary

A three-card summary sits at the top of both the Calendar and List sub-tabs. Each card (one per leave type) shows two figures — Month end (accrued remaining at month end) and Cycle remaining — both computed exactly as on the Balances page and colour-coded green/amber/red by severity.

List View

The List sub-tab is the original text-form entry point: an inline capture form plus a filterable, paginated history of every leave event. Use this view when you prefer typing dates directly, or when you want to search or review past bookings.

Leave list view with the compact balance summary at the top, the date-based capture form, and a paginated history of leave events
  1. Select the leave type (Annual, Sick, or Family).
  2. Pick the first date and last date.
  3. Working days are calculated automatically from the client's work schedule, excluding public holidays.
  4. Optionally add a comment.
  5. Click Add.
Note: Date ranges that span multiple months are automatically split into separate entries per month. Ranges cannot overlap with existing leave entries of the same type.

For single-day bookings, a Half day checkbox appears — tick it to record 0.5 days instead of 1. Multi-day bookings are always full working days. The history list below the form supports search, cycle/year filters, and pagination (10 / 25 / 55 per page).

Balances View

The Balances sub-tab has the full picture. Three headline cards show the Accrued Remaining Month End figure per leave type — the balance at the end of the current month once bookings up to that point are subtracted. The eight-column breakdown table beneath exposes every underlying number:

Leave balances view with three headline cards (Annual, Sick, Family) above an eight-column breakdown table (Cycle Allocation, Carried Over, Accrued to Month End, Booked to Month End, Accrued Remaining Month End, Booked (Cycle), Remaining (Cycle))

Columns: Cycle Allocation, Carried Over, Accrued to Month End, Booked to Month End, Accrued Remaining Month End, Booked (Cycle), and Remaining (Cycle). Events that straddle the month-end cutoff are pro-rated by intersected working days, so a booking that spans into next month only counts the days inside the period.

Balances are allowed to go negative — if you take more leave than you've accrued, the negative balance is reflected in the table and in generated reports.

Setting Up Leave Cycles

Before recording leave, configure the cycle under Configuration > Leave. Choose the start month (default: March), the first cycle year, and adjust default allocations if needed. A leave cycle is exactly one year, labelled by start-end year (e.g. "2024-2025").

Leave Types

TypeDefaultAccrualCarries Over? (default)
Annual20 days1/12 per monthYes — unlimited (configurable)
Sick12 days1/12 per monthNo (configurable)
Family3 daysFull from day 1No (configurable)

Carry-over Configuration

Configuration > Leave page showing the default allocations and per-type carry-over table with expandable per-cycle override cards

Each leave type has its own carry-over policy, configured in the Default allocations & carry-over table on Configuration > Leave:

  • Carry over? — when Yes, the unused balance at the end of one cycle flows into the next; when No, the balance resets to zero.
  • Max carry (days) — optional cap on how much carries over. Leave blank for unlimited. Caps clamp positive balances only — overuse always carries through unchanged.

Carry-over policy can also be overridden per cycle. The policy lives on the receiving cycle: the override for "2025-2026" controls what flows into 2025-2026 from 2024-2025. Leave a field blank to inherit the default.

Per-cycle Overrides

Default allocations and carry-over policy can be adjusted for individual cycles on the Per-cycle overrides card under Configuration > Leave. Each cycle is an expandable card — click Edit override (or Add override if none exists) to expand a per-type editor. Leave any field blank to inherit the default. The list supports a search filter and pagination.

Past cycles are read-only by default. Click 🔓 Unlock 24h on a past cycle to enable edits for 24 hours (or 🔒 Lock now to re-lock early). Unlock state is local to your browser and is lost on page refresh.

Public Holidays

Public holidays are excluded from working-day calculations in leave forms and timesheets. Navigate to Configuration > Holidays to manage them.

Public Holidays page showing the manual add form, the Auto-populate from Country Template panel, and the registered holidays list

Adding Holidays Manually

Select a Month and Day, enter the holiday name, and click Add. The year comes from the shared year selector at the top.

Auto-populate from Country Template

Expand Auto-populate from Country Template, pick a saved country, pick a year, preview the generated dates, and confirm. Country templates are managed in Configuration > General > Holiday Templates — seed defaults cover 28 countries (SA, US, GB, DE, CA, AU, and many European and Latin American countries) and you can add your own rules. Each run replaces all holidays in the chosen year for that client; any holidays you added manually for other years are untouched.

How Holidays Affect Leave

When you add, remove, or auto-populate holidays, the day count for any affected leave bookings is automatically recalculated. Half-day status is preserved.

Month Notes

Month Notes page with month navigation and a Markdown editor for adding notes

Month Notes are free-text Markdown notes attached to a specific month. Use them to record context, agreements, or comments. Navigate months using the arrows, then add or edit notes. You can add multiple notes per month.

Month notes are included on the closing page of generated Timesheet PDFs.

Reminders

Reminders are date-based nudges — things like "Submit timesheet", "Chase invoice PROJ-47", or "Review leave balance". They live on the top-level Reminders tab and surface inside the app whenever something is due.

Reminders page showing the capture form, filters, and a list of reminders with status badges

Adding a Reminder

Fill in a Title and Due date, optionally add Notes and a Frequency (Once / Weekly / Monthly), and optionally tie it to a specific Client. Client-scoped reminders show a coloured badge; unscoped reminders apply everywhere.

Reminders are user-scoped, not per-client — they follow you regardless of which client is selected in the header.

Frequencies

  • Once — fires on the due date and disappears when you dismiss it.
  • Weekly — when you dismiss it, the due date rolls forward 7 days.
  • Monthly — when you dismiss it, the due date rolls forward one month (with an end-of-month clamp, so the 31st of January rolls to the 28th/29th of February).

Recurring reminders use a single row that keeps advancing — you don't end up with a history of every occurrence.

Due Reminders Banner

When a reminder's due date arrives (and it isn't snoozed), a banner appears at the top of every page listing up to three due reminders. Each banner entry has three buttons:

  • Snooze 1h — hide it for an hour, then it reappears.
  • Snooze 1d — hide it for a day.
  • Dismiss — two-step confirm; for Once reminders this soft-deletes the row, for recurring reminders this rolls the due date forward.

If more than three reminders are due, a +N more link jumps to the full list. A red dot on the Reminders nav pill flags that you have due items.

Managing from the Reminders Page

The Reminders tab lists every reminder with search, status filter (All / Due / Upcoming / Snoozed), optional client filter, and paging. Each row carries a status pill (Overdue, Due today, Upcoming, or Snoozed until …), a frequency badge, and an optional client badge.

Per-row actions: Dismiss (two-step confirm; same behaviour as the banner), Edit (inline form to change title/notes/due date/frequency/client), and Delete (two-step confirm; soft-delete, unlike dismiss-on-recurring).

Reports

Generate professional PDF reports from your logged data. Four report types are available, each on its own tab.

Reports page showing the four report tabs: Activity Report, Timesheet, Leave Application, and Leave History

Example reports

Download a sample PDF for each report type — generated from the demo client's data so you can see the layout, charts, and tables before producing one of your own.

Activity Report

A detailed analysis of your logged work over a custom date range. Pick a From and To date (defaults to the first of the month through today), then click Preview.

Maximum range: 60 days. The date pickers clamp automatically — for longer analyses, generate several reports.

Includes:

  • Work Breakdown — 100% stacked bar chart of billable time per category, per day.
  • Ticket Breakdown — heat map of top 10 tickets (when tickets assigned).
  • Ticket Coverage — ticketed vs unticketed time per day.
  • Focus & Context Switching — bell-curve distributions of session durations.
  • Log Entries — table of every categorised message.
  • Leave & Public Holidays — overlapping leave events and holidays.

Activity reports carry a purple REPORT badge.

↓ Download an example Activity Report (PDF)

Timesheet

A monthly billing report. Select a Year and Month, then click Preview.

Includes:

  • Daily hours table — every calendar day with actual or projected billable hours, holidays, and leave.
  • Work Breakdown, Ticket Breakdown, Focus & Context Switching, and Log Entries — same as Activity Report, scoped to the month.
  • Closing page — leave bookings, leave balance summary, month notes, and signature panels.

Past months get a FINAL badge; current and future months get DRAFT.

↓ Download an example Timesheet (PDF)

Leave Application

A formal leave request for a specific month. Select a Year and Month (only months with at least one leave booking are listed), then click Preview. Contains a table of leave entries, a summary of total days per type, and signature panels for Consultant, Client, and (if configured) Contracting House.

↓ Download an example Leave Application (PDF)

Leave History

A comprehensive chronological record of all annual leave across all cycles. Click the Leave History tab (requires a leave config), then click Preview.

Includes:

  • One table per leave cycle with an opening-balance row, individual leave day rows, adjacent non-working days (weekends and public holidays), and a closing-balance row. Continuous off-time periods are grouped with coloured accent bands.
  • A Summary table at the end, with one row per cycle plus a bold Total row. The Total row's remaining balance reflects the current remaining balance (from the latest cycle), so carry-over caps are honoured.
  • Signature blocks at the bottom of the report.

Future leave bookings are excluded from all calculations — the report only reflects leave that has already started as of today.

↓ Download an example Leave History (PDF)

Previewing and Saving

Click Preview to render the PDF in an embedded viewer. A toolbar above the preview shows the filename and a Save button to download the file to your computer.

Letterheads and Footers

Upload letterhead and footer images via the Configure panel on Configuration > Clients. These appear on every page of every PDF generated for that client.

Example letterhead showing company logo, name, and contact details

Example letterhead

Example footer showing company registration and address

Example footer

How Time Calculation Works

Understanding how blogti.me computes time helps you get accurate results.

ScenarioTime allocated
Message followed by another messageFrom this message's timestamp to the next message's timestamp
Last message of the day (today, day not over)From the message's timestamp to the current time
Last message of the day (past date)From the message's timestamp to end of day (23:59:59)
Message with no category assignedNot included in any time total
Key points: Time is attributed to the category of the earlier message in each pair. The order of messages is determined by timestamps, not the order they were posted.

Dark Mode

Toggle between light and dark themes using the moon/sun icon in the header. Your preference is saved in your browser and persists across sessions.

Offline Support

blogti.me can work offline for clients where you've opted in:

  1. Go to Configuration > Clients.
  2. Enable the Offline toggle for the client you want available without internet.
  3. The app caches that client's data locally in your browser.

When offline, you can continue viewing data and posting messages. Changes are queued and automatically synced when your connection is restored. The sync status indicator in the header shows whether you're online, offline, or syncing — its tooltip surfaces a Discard pending changes button whenever there are queued ops you'd like to drop without sending.

If queued changes sit unsent for more than 24 hours, a red "Pending changes haven't reached the server" banner appears above every page with two options: Discard (two-step confirm — drops the queued ops and rolls back their optimistic UI effects) or Remind me in 24 hours (snoozes the warning so the banner reappears the next day if the ops still haven't drained). Nothing is ever auto-dropped — the queue keeps retrying until you act.

Recent 90 days by default. The app loads the last 90 days of messages upfront to keep things fast. Navigating to an older month fetches the missing data in the background while you're online. If you're offline on a day outside that window that you haven't visited yet in this session, the day view shows "Older messages — connect to load" instead of appearing empty. Categories, tickets, leave, month notes, and public holidays are always fully available — the horizon only applies to messages.

Privacy note: Offline mode stores data in your browser's local storage. On shared or public computers, consider whether you want local copies of your data.

Tips and Best Practices

Post messages as you go

The most accurate tracking comes from posting a quick note each time you switch tasks, rather than reconstructing your day later.

Use categories consistently

Settle on a set of categories that match your billing or reporting needs. You can always hide categories later when they're no longer relevant.

Block-book completed work

Finished a focused session and forgot to log it? Use block booking to record the whole block at once instead of creating separate start/end messages.

Assign tickets for granular tracking

Need to report against specific work items? Link messages to tickets. The activity report's ticket breakdown and heat map provide powerful insights.

Review the day summary

Before ending your day, glance at the sidebar to make sure all messages have categories and the totals look right. Uncategorised messages (white background) are easy to spot.

Set up holidays early

Configure public holidays at the start of the year, or auto-populate from a country template. This ensures leave day calculations are correct from the start.

Add month notes for context

Record agreements, projected time notes, or context for your client reviewer. Month notes appear on the closing page of generated timesheets.

Export clients for backup

Periodically export your client data as a JSON snapshot. This gives you a portable backup independent of the cloud.

Use dropdown search

With many categories or tickets, type in the dropdown search box to filter instantly. Press Enter to pick the first match without reaching for the mouse.