Work log: Scholexis — March 18, 2026
What shipped today
This session was a focused cleanup sprint, executing all six issues surfaced by the scout exploration from the previous session. The work fell into three categories: hardening, UX polish, and design system.
On the hardening front, Zod validation was added to every server action in the app (#147). Each mutation now validates its inputs through centralized schemas before touching the database, returning structured errors that forms can display field-by-field. The saveMeetings and deleteCourse functions were also wrapped in database transactions (#151), preventing data loss if an insert fails after a delete. These are the kind of invisible improvements that prevent real production incidents.
UX polish came through two changes: table rows on list pages now have clickable name links (#148) — courses link to their detail page, while academic years, terms, and instructors link directly to their edit pages since they have no detail view. Breadcrumb navigation (#149) was added to all seven nested dashboard pages with a reusable Breadcrumbs component, replacing the back button on the weeks page with consistent navigation.
The design system got its typographic hierarchy with Playfair Display (#152) as the serif font for headings (h1-h3), buttons, and sidebar nav labels, while Inter remains the body font. This creates clear visual distinction between prominence elements and readability text.
One issue (#150, middleware for route protection) was closed as already implemented — the project already had proxy.ts (Next.js 16’s replacement for middleware.ts) doing exactly what the issue described. Scout missed it because it searched for middleware.ts specifically.
Completed
- #147 — Add Zod validation to all server actions (PR #153)
- #148 — Make table rows clickable links on list pages (PR #154)
- #149 — Add breadcrumb navigation to nested dashboard pages (PR #155)
- #150 — Add Next.js middleware for dashboard route protection (closed: already implemented)
- #151 — Wrap saveMeetings in a database transaction (PR #156)
- #152 — Add Playfair Display serif font for headings and buttons (PR #157)
Release progress
- Next.js port: 56/69 closed (13 open, all blocked on dependencies)
Carry-over
- None from this session — all scout issues resolved.
Risks
- AUTH_URL mismatch: The
.envhasAUTH_URL=http://localhost:3001but dev server runs on port 3005. This causes login redirects to go to the wrong port during development. Not a production issue but makes local testing awkward — the proxy redirect sends users to port 3001 instead of whichever port the dev server is running on.
Flags and watch-outs
- All 13 remaining open issues in the Next.js port milestone are labeled
blocked. The next wave of work (assignments, tasks, events, calendar, admin panel) depends on earlier issues landing first. Check dependencies before attempting to unblock. - The Playfair Display font is applied via CSS base layer to h1-h3, but footer headings are h6 and remain in Inter — this is intentional per the spec.
Next session
- Run
/scoutagain to find the next wave of improvements now that hardening and polish are done - Review the 13 blocked issues to identify which dependencies have actually landed and can be unblocked
- Consider fixing the AUTH_URL dev environment issue so browser testing doesn’t redirect to the wrong port
Why customer tools are organized wrong
This article reveals a fundamental flaw in how customer support tools are designed—organizing by interaction type instead of by customer—and explains why this fragmentation wastes time and obscures the full picture you need to help users effectively.
Infrastructure shapes thought
The tools you build determine what kinds of thinking become possible. On infrastructure, friction, and building deliberately for thought rather than just throughput.
Server-side dashboard architecture: Why moving data fetching off the browser changes everything
How choosing server-side rendering solved security, CORS, and credential management problems I didn't know I had.
The work of being available now
A book on AI, judgment, and staying human at work.
The practice of work in progress
Practical essays on how work actually gets done.
The org chart your agents need
The AI community is reinventing organizational design from scratch — badly. Agencies figured this out decades ago. Competencies, not clients. Briefs, not prompts. Lateral communication, not hub-and-spoke. The answers are already there.
AI agents need org charts, not pipelines
Every agent framework organizes around tasks. The agencies that actually work organize around competencies. The AI community is about to rediscover this the hard way.
The delegation problem nobody talks about
When your automated systems start finding real bugs instead of formatting issues, delegation has crossed a line most managers never see coming.