Work Tracker

📊 Daily Overview

Total Activity: 11 commits across 2 repositories


🚀 GitHub Activity

1. Manav-portfolio 🔒 — 10 commits

feat(work): Blob imagery, Markdown sync, crew taxonomy, page restructure · e906266

Imagery moves to Vercel Blob and the filesystem path is deleted. stills[] is
now the single ordered 0..N image list; stillUrl, frames[], gdoc-assets.ts
(detectAssets), the Frames - hint and mirrorStills are gone. public/ drops
110MB 11MB. This also removes the last runtime readdirSync in src/, so the
sync is no longer local-only.

chore(prod): migrate production data; correct stale propagation prose · d421c1a

prod-sync-from-local.ts brings prod’s works up to local’s migrated state.
Prod could not re-run the migrations: stills-to-blob uploads from local files
under public/assets/frames/, which were deleted once the images were on Blob.
The Blob store is shared, so prod only needed its references rewritten.

Matched by slug, updated in place (prod _ids preserved). Each work’s prod field
set is made to equal local’s — local’s fields unset. Works in prod but not local are reported, never auto-deleted.
Result: 3 inserted, 30 updated; 33 works, 138 images on Blob, 0 filesystem
paths, 0 legacy fields. A second run is 0/0/33 — idempotent.

fix(brand,images): align copy to the About text; pin images to one Blob store · 0f00f7c

Brand strings followed the persona record, not Manav’s own About copy. His copy
says “a filmmaker … working as a director, cinematographer and editor” and
never says screenwriter, so neither does the site:

  • SITE.positioning (the footer line on every public page)
  • the page title and OpenGraph title
  • keywords: screenwriter director/editor/cinematographer
  • SITE.areas drops ‘Crew’ — the copy lists narrative, documentary, music videos
    and stills; crew credits have their own page

fix(hero): re-encode showreel at H.264 Level 4.0 so iOS will autoplay it · 8aa69ed

The showreel didn’t autoplay on mobile. The markup was never the problem —
autoplay/muted/playsinline were all in the served HTML, range requests returned
206, MIME was video/mp4, the moov atom was already up front, and there’s no
audio track to block it.

ffprobe found it: the file was High Profile Level 5.0, above the Level 4.2
ceiling Apple documents for iOS. Safari declines such a stream silently and
shows the poster, which is exactly the reported symptom. The level was never
pinned when encoding, so x264 picked one. 1080p24 fits Level 4.0 comfortably
(8160 macroblocks vs the 8192 limit, ~1Mbps vs a 25Mbps ceiling); the file is
still 9.9MB.

perf(hero): 10.4MB ~3MB via codec ladder, and don’t send it to those who won’t watch · b34585f

The home page was 10.5MB and the video was 99% of it (HTML 17KB, poster 105KB,
video 10,389,864 bytes — measured live). preload=“metadata” saves nothing once
autoplay is set: playback begins immediately so the whole file is fetched every
visit. Cache headers were already optimal, so the win had to be payload.

Ships a three-codec ladder at 720p, content-hashed, one downloaded per browser:
AV1 3.05MB HEVC 2.75MB H.264 4.86MB (floor, still Level 4.0)
The clip plays under a scrim and a 42%-opacity grain overlay, so 1080p detail
never reached the eye; 720p verified on a dappled-light shot upscaled to 1920.

fix(hero,dock): derive codec strings from the container; icon-only dock search · b41fa90

Mobile Chrome was showing a broken-media glyph over the hero. The codec strings
were hand-written and one of them was invalid: codecs="hvc1" is incomplete —
the real string is hvc1.1.6.L93.90 — and browsers reject an incomplete or
mismatched codec string outright rather than treating it as a hint.

encode-hero.ts now parses the avcC / hvcC / av1C configuration boxes out of each
encoded file and emits the exact RFC 6381 string, so re-encoding at different
settings (which changes the level, hence the string) can never leave the
declaration lying. Current: avc1.640028, hvc1.1.6.L93.90, av01.0.05M.08.

feat: podcast format, crew-only collaborations, sharper poster, 1080p reel · 77188fa

Five things Manav asked for.

The ▶ on mobile Chrome: a

feat(work): frames open a lightbox; drop the filmography play glyph; quality 90 · 58af39a

Clicking a frame did nothing at all — the tiles were plain

s — on a page
whose entire subject is the frames. They are

fix: restore sound credits, land the work hero in view, new WhatsApp number · 388586d

Removing the Sound Department heading earlier today also removed the sound
credits, because the exclusion that fed the split was left behind in the
selector. Losing the heading was the ask; losing three real credits was not.
Sound recordist is crew on someone else’s production, so the rows belong in the
Crew Experience list — only the department split is gone. The test that asserted
the exclusion now asserts the inclusion.

fix(hero): poster is the reel’s opening frame again; add —poster-only · 1c700cd

Reverses today’s “sharpest frame” poster. The reasoning was wrong in a useful
way: the poster is not a still to be judged on its own merits, it is the first
frame of a video that is about to start playing underneath it. Any frame but the
opening one produces a visible jump when the deferred

Verified rather than assumed: the poster and the H.264 variant’s frame 0 differ
by RMSE 1.3%, i.e. codec compression only.

2. ManavDaehi 🔒 — 1 commits

chore(persona): reconcile identity with Manav’s own About copy · ae498cd

Manav supplied his own About text on 2026-08-09 and the site renders it verbatim,
so the persona record’s identity fields were stale against it.

  • profession: “Filmmaker & Screenwriter” “Filmmaker — Director, Cinematographer
    & Editor” (his copy never mentions screenwriting)
  • location: “India” “Delhi & Mumbai, India” (the record said Delhi-only, and
    that was time-boxed to July 2026 anyway)
  • notes: dated preamble recording what the new copy establishes, and that the
    Maslaa Motion Pictures framing was retired site-wide on 2026-07-29

The onboarding notes are kept below the preamble as the historical record of what
was said at intake; where they conflict, the newer copy wins.


📈 Development Analytics

Daily Summary

MetricToday
Commits11
Merges0
Skill runs0
Decisions0
Eurekas0
CEO plans0
Notes touched0

Decisions logged today

None today.

Eurekas

None today.

Strategic plans authored

None today.

Notes touched

None today.

Running totals (as of this date)

Active days last 90:           67 / 90  (substantive)
Days with any signal last 90:  67 / 90
Skill runs (since 2026-03-25):  77
Commits this year (authored):  1911
Decisions logged this year:    46
Eurekas this year:             5
CEO plans authored this year:  14
Projects touched this year:    66
Top projects last 90:          VipinKaushik (26d), astroacharya (20d), SSJK-mb (19d), vipin-kaushik-content (18d), SSJK-workspace (11d)

💭 My Notes

[Your own thoughts, observations, or context for this day — this section is never overwritten by automation]