J
PERSONAL LAYER

Mentor

The teacher. Anti-vibe-coding. Explains every concept at the right depth (knows what you already know via Neurolink). Auto-briefings after every PR merge. Weekly deep-dive on Wednesday. Ask anything — even the basic-feeling stuff.

RECENT BRIEFINGS
today, after PR #1234 merged

What Rex changed in the streak DST fix

Rex updated `apps/mobile/src/utils/streak.ts` to compute the streak using start-of-day in the user's timezone instead of UTC. The off-by-one happened because UTC's midnight is your 8 PM, so on the night a streak should increment it sometimes flipped the day backwards. Three lines changed, plus a test that locks the behavior on DST-transition days. Quinn signed off: typecheck + export:web pass.

DST
Daylight Saving Time. Twice a year the clock jumps by an hour, which corrupts date math that doesn't anchor to a timezone.
start-of-day in TZ
The first millisecond of the day in *your* timezone, e.g., midnight Eastern, regardless of UTC. The correct anchor for daily-streak logic.
yesterday, after Pulse weekly report

Reading 'cohort retention' for the first time

Cohort retention answers: of all the users who signed up in week N, what percent are still using the app in week N+k? It's the cleanest leading indicator of product-market fit. Pulse showed Stoetic Drop 001 cohort had 36% week-4 retention — solid for D2C, weak for SaaS. ATLAS doesn't have enough users yet to read meaningfully; needs ~100 day-1 users minimum.

Cohort
A group of users defined by when they joined (e.g., 'May Week 2 signups').
Retention curve
The plot of % active over time-since-signup. Flat = healthy; steep = leaking.
CONCEPT OF THE WEEK

Webhooks vs polling — when to use which

You hit this exact decision with the Govee bridge: do we poll the device every N seconds, or wait for it to push state to us? Webhooks scale better, are more 'live', but require the device to support pushing and a public endpoint. Polling is bulletproof but wastes capacity. For Govee LAN, polling is fine because everything's local and idle is cheap. For Stripe → Jack HQ, webhooks are the right call because Stripe pushes the moment an order completes — sub-second latency, $0 polling cost.

READING LIST (curated for you)
  • Designing Data-Intensive Applications · Kleppmann
    the right depth for the storage decisions you're making
  • The Mom Test · Rob Fitzpatrick
    how to talk to LocalFlow prospects without leading them
  • Hooked · Nir Eyal
    ATLAS retention loop design
YOUR RECENT QUESTIONS
2h ago
Explain CORS in the context of the Govee API route
yesterday
What's BM25 in plain English?
2d ago
How does Postiz make money if it's open source?
3d ago
Why does WAL mode matter for SQLite?