Vol. 01 — 2026

Junagadh Lab, September Day: 06:00-22:00 [2026]

Answer in 50 Words

One September shipping day in my Junagadh AI lab runs 06:00 to 22:00: evals at dawn, client approvals by noon, deploys before power-cut season, ledger review at night. P95 42ms held, two approvals tapped, one rollback rehearsed. The timestamped log below is the real playbook.

Junagadh AI lab founder desk timetable September shipping day 06:00 to 22:00 ledger 2026

Tier-3 founder content usually shows the skyline. Mine shows the inverter. September in Junagadh means heat, sudden outages, festival traffic building, and clients who reply fastest before ten. I built SaaS Next and Curro around that rhythm. Here is Thursday, Sep 18, 2026 — timestamps honest, numbers from the ledger, names generalized for client privacy.

The Log

Time Block What happened
06:00–06:40 Evals + gym swap promptfoo catalog set (60 queries) green, Gujarati subset 95%. Walk instead of gym — monsoon.
06:40–07:30 Ledger review Overnight: 3 invoice nudges paid (₹1.9L collected for clients), 1 low-confidence hold correctly queued.
07:30–09:00 Deep build LangGraph critic threshold tuned; Deep Agents pass cost $14 vs $41 old — verified on two passes.
09:00–10:30 Client approvals Rajkot salon confirms UPI advance flow; Ahmedabad supplier approves Gujarati draft wording.
10:30–13:00 Deploy window Next 16.3 cache-tag fix to staging, chaos script green, production at 12:40. TTFB 60ms cached.
13:00–14:00 Power-cut drill Inverter test + tether failover rehearsed. 40-minute simulated outage: zero lost intents.
14:00–16:00 Sales calls Two discovery calls, one-page money maps sent same evening. One closes in 48h (UK-adjacent, Dispatch 10 story).
16:00–18:00 Vernacular QA Forty stamped invoices through GLM/Sonnet/Kimi harness; GLM holds nightly batch at ₹11 vs ₹184.
18:00–19:30 Surat watch Catalog sync peak window monitored — P95 42ms holds, no repeat of the October 1,900ms spike.
19:30–21:00 Writing This dispatch drafted; code fenced and tested before prose.
21:00–22:00 Ledger + plan Friday list: rotation review, dead-letter queue, one rollback rehearsal. Lights out.

Total deep hours: nine. Meetings: three. Context switches: eleven (counted, regretted, logged).

War Story 1: The 18:04 Call That Built the Evening Watch

October's Surat 18:04 freeze (Dispatch 1) created the 18:00 block permanently. Every evening I watch the sync window like a train timetable: Valkey queue depth, HNSW latency histogram, supplier API timeouts. Twice since, early wobbles appeared — a field rename in August, a retry burst in September — both caught before customers noticed because a human stares at the graph at the hour it historically breaks. Automation watches always. Humans watch on schedule. The combination holds 42ms.

Cost of the Day (Honest)

Line Amount
VPS day-slice (₹6,200/mo) ~₹207
Tokens (evals + batches + calls) ~₹640
WhatsApp API day-slice ~₹130
Power + inverter amortization ~₹90
Total lab burn, one shipping day under ₹1,100

Client value moved that day: ₹1.9L collected via nudges, one ₹92K deal advanced, one renewal protected by the evening watch. Tier-3 arithmetic works when the ledger is daily, not quarterly.

Code: The Day-Runner Scripts (Runnable)

# lab/morning.sh — evals + ledger snapshot before anything else
set -e
python evals/vernacular.py --model glm-5-3-flash --batch invoices-40
npx promptfoo eval --config evals/catalog.yml
node scripts/score-batches.mjs | tee ledger/$(date +%F)-morning.log
# lab/evening_watch.py — peak-window guard (alerts before customers feel it)
import statistics

P95_BUDGET_MS = 120

def check(samples: list[float]) -> str:
    s = sorted(samples)
    p95 = s[int(len(s) * 0.95)]
    if p95 > P95_BUDGET_MS:
        return f"ALERT p95={p95:.0f}ms over {P95_BUDGET_MS}ms — inspect supplier feed"
    return f"ok p95={p95:.0f}ms"
// web/day-log.ts — append day lines to the same ledger sink
export async function logDay(block: string, note: string) {
  'use server';
  await fetch(process.env.LEDGER_SINK!, {
    method: 'POST',
    body: JSON.stringify({ block, note, at: new Date().toISOString(), lab: 'junagadh' }) + '\n',
  });
}

Don't do this: back-to-back sales calls inside deep-build hours. I tried "founder mode" stacking once — four calls before noon, zero shipped, worst ledger week of the quarter. Building before ten, selling after two. The timetable is the moat.

When This Routine Breaks (And What Replaces It)

Festival weeks invert everything: approvals go instant, traffic triples, sleep compresses. I freeze deploys 72 hours before major sale days, run the chaos script twice, and keep the rollback command pasted in the team channel. Wedding season in Gujarat means client owners vanish mid-approval — HITL queues get deputies named in advance, or money actions pause loudly instead of silently. Monsoon means the drill is weekly, not quarterly. The routine is rigid so the exceptions stay graceful.

War Story 2: The Inverter Demo That Closed a Deal

July outage, forty minutes, tethered laptop, queued approvals syncing on reconnect with zero lost intents (Dispatch 10's tale from the other side). What I omitted there: my hands shook. I narrated the ledger instead of the slides, and the client watched pending states flip to confirmed live. Back on mains, they asked for the drill checklist, not the feature list. I sent both. They signed Friday. Rehearsed failure outperforms promised perfection — in Junagadh we rehearse often because the grid volunteers frequently.

What the Timetable Protects (And What I Refuse)

I protect mornings from everyone including myself — no calls before ten, no exceptions for "quick syncs" that eat ninety minutes. I protect the deploy window from optimism — staging must show green chaos, green evals, and green Lighthouse in one pipeline run, or production waits a day and nobody apologizes for patience. I protect Gujarati QA from English-only confidence — every release taps through both languages on a real phone over 4G before I call it done.

I refuse vanity tooling that adds dashboards without deleting toil — the board rule is one in, one out. I refuse per-task SaaS creep — self-hosted n8n, pgvector, and Valkey already cover the shape, and the ledger proves it monthly. I refuse all-nighters before festivals — tired founders approve bad diffs, and bad diffs bill for quarters. The timetable looks strict from outside. From inside it feels like the only calm room in September.

Frequently Asked Questions

What does an AI developer's day in Gujarat look like?

Mine runs 06:00 to 22:00 around evals at dawn, client approvals mid-morning, deploys before afternoon outage risk, vernacular QA late afternoon, ledger at night. Nine deep hours, three meetings, one evening watch on historically fragile windows. Boring on paper, compounding in practice.

How much does it cost to run a Tier-3 AI lab daily?

Under ₹1,100 for my shipping day: VPS slice, tokens, WhatsApp API, power amortization. Value moved same day runs into lakhs. The ratio holds because self-hosted memory, vectors, and orchestration cost once while SaaS alternatives bill monthly forever.

How do you handle power cuts during client work?

Inverter plus tether failover rehearsed weekly in monsoon, Mumbai-DC VPS unaffected, approval queues durable with reconnect sync. Demos continue on tether; deploys never ship on backup power. The drill checklist is a deliverable clients receive.

Can a founder in a small city compete with metro agencies?

On proof, yes: same protocols, same GPUs, lower overhead, faster IST response, vernacular testing metros skip. My median first response is eleven minutes in business hours. Show P95 graphs, rupee ledgers, and deny-case demos — geography fades, receipts stay.

Bottom Line

The lab day is unglamorous by design: evals before ego, approvals before lunch, drills before Diwali, ledger before sleep. Sixteen hours with nine deep ones beats twenty distracted ones. The timetable compounds like interest.

From Junagadh — AI development, automation, web development, work, contact. Related: /journal/day-in-life-ai-developer-gujarat-2026-06-00-22-00, /journal/tier3-vps-agent-framework-migration-2026.

← All journal articles Get in touch →