Veterans in Media & Entertainment

Volunteer Service Record

Marc “Hop” Hopper, Chief Operating Officer · reconstructed from eleven systems of record.

Working estimate

Includes five itemised allowances for untimestamped work.

Evidenced floor

Timestamped only. Overlapping work counted once.

Hours over time

Daily activity

One square per day. Darker means more hours.

Less More

Hours by month

Evidenced Allowances ▲ Months where the tooling recorded less — read as a floor

Events attended in person

Drive time measured from Sylmar, adjusted for traffic.

Where the hours went

Sources & method

How the hours were counted

Volunteer hours were never logged as they happened. This record reconstructs them from systems that recorded a timestamp as a side effect of the work: a calendar invite, a sent email, a saved conversation, a code commit. The reconstruction is deliberately conservative, and the assumptions are stated below so anyone can disagree with a specific one rather than the total.

Turning timestamps into hours

Timestamps are points; work is intervals. Events are grouped into work blocks, and blocks are merged where they overlap rather than added together. A commit pushed during the weekly meeting is one hour of work, not two. This single rule is what keeps the total honest.

Different work has a different rhythm, so each kind of evidence gets its own idle threshold. A coding session pauses for twenty minutes and resumes; a text exchange that goes quiet for twenty minutes is over. One threshold for everything would either inflate the texting or shred the building.

Building
30-minute idle gap, +5 min per block. Covers commits, Claude Code sessions and claude.ai chats together, because they interleave constantly during the same piece of work.
Texting
5-minute idle gap, +1 min. Deliberately tight: 78% of the gaps between texts are under five minutes, so a burst is one conversation. A ten-minute threshold would add roughly 80 hours to the total, and was rejected as too generous.
Writing
Marc typed 480,168 characters to VME colleagues across 4,892 messages. A burst gap credits a 600-character message the same as “ok”, so each block is also valued at its writing time — 125 characters a minute, multiplied by 1.8 for the rewriting that any considered message gets. A block is worth the longer of the two measures, never the sum, so a fast back-and-forth is never counted twice.
Email
20-minute idle gap, +5 min.
Event building
20-minute idle gap, +5 min.
Calls, Zoom, calendar, in-person
Counted at their real start and end. No inference needed — a 47-minute call is 47 minutes.

For comparison, simply measuring from the first event of the day to the last would have produced 13.1 hours on a sampled day against 8.8 by this method — an overstatement of roughly 70%. That approach was rejected.

The allowances

The working estimate adds only four things to the evidenced floor. Each is a stated rule with a rate, not a blanket multiplier applied to the total.

+8 min
Per VME email sent outside a substantial work block, for reading the thread and drafting a reply. An email sent during an existing block earns nothing extra.
+4 min
Per board email received. Reading board mail is a COO's job, but it is not proof he was at the keyboard, so it never enters the evidenced floor.
Real drive time
Round trip from Sylmar to each venue, measured by routing and adjusted for typical Los Angeles traffic. Between 73 and 96 minutes per event.
+3 h
The gap on 26 August between the Disney Veterans Institute and the evening screening, when Marc stayed out rather than driving home.
+4 h
Organising the August script read at Post 43 — catering, decorations and volunteers — split across the two days before it. Marc's own tabulation, corroborated by the message thread.

Choices that push the number down

  • Overlapping work is counted once, never twice. Eleven sources record the same days; the union is what is reported.
  • The texting threshold was deliberately set tight, costing roughly 80 hours against the looser reading.
  • Duplicate code repositories were excluded. The project has a second clone and sixteen working copies that share one history; counting them per folder would have inflated commits roughly tenfold.
  • Received email never enters the evidenced floor — only an allowance in the estimate.
  • One large general-purpose chat log was dropped despite containing 42 VME references, because non-VME topics dominated it and no clean split was possible.
  • Calls shorter than 30 seconds are dropped as missed calls rather than counted as work.
  • A cancelled July event was removed from the record once the cancellation notice was found.

What this record still cannot see

Coverage is uneven, and earlier months are measured less completely than later ones. There is no phone record before 1 March, no saved AI conversations before 22 March, no code repository before 13 April, and no session transcripts before 20 June. February and March covered the Investiture and the start of the restructuring.

Four categories of real work are still missing entirely, because nothing on this machine timestamps them:

  • Event setup and staffing — arriving early, running the check-in table, badges, breakdown. Counted here only as the event's posted hours.
  • Design work — event banners, social templates and flyers built in Canva and similar tools, outside the code repositories.
  • Photo and video editing — event photos, recap videos and the member mosaic banner.
  • Calls placed on another line — anything routed through Zoom Phone, WhatsApp or a second number never reaches the iPhone call history used here.

The figures in this report are therefore a floor, not a ceiling.

Where attribution is imperfect

Two sources deserve a caveat, and both are small. MembershipWorks records no author on an event, so a handful of the 162 event-building timestamps may belong to another administrator; removing that source entirely changes the total by about six hours. Zoom attendance for January through August was matched on display name, because Marc usually joined without signing in; two other people named Marc on the account were checked and excluded.

Reproducing this Every figure here is generated from the source systems by script, with no manual entry at any point. Re-running the extraction regenerates this page. The thresholds above are parameters: change them and the whole record recalculates.
Month by month
Week by week
Day by day