Quality sprint: monorepo, offline PWA, and 15 workspaces in parallel
Monorepo conversion with pnpm, Supabase to Drizzle + Postgres migration, frontend quality sprint (Biome, Sonner, date-fns, Dexie offline), and a bilingual Git blog post.
The most intense day in weeks on a client project (NDA). Fifteen workspaces ran in parallel on the same repository, each tackling a different front. 68 agent sessions, over 30 unique commits.
Client project (NDA)
Architecture decision and monorepo
Before writing any code, I compared two versions of the project that had been growing side by side and decided it made more sense to refactor the existing codebase (already partially working) than to start over.
The monorepo conversion with pnpm was the central move.
Frontend deploys to Vercel, backend (Fastify) goes to Railway, Postgres runs there too.
Capacitor was removed, along with all Supabase dependencies: the ORM is now Drizzle, connecting to Postgres directly.
On the backend, I reviewed the structure against the official Fastify guides, rebuilt the database setup with a single clean migration, Docker Compose for local Postgres, and criado_em, atualizado_em, deletado_em on every table.
Frontend quality sprint
The real highlight was the volume of frontend cleanup. Multiple workspaces attacked in parallel:
- Linting and tooling: Biome configured (scoped to
apps/only, skipping.claudeand.agents), Zod for validation, Husky + git hooks + commit conventions. - Components and UI: shadcn/ui properly set up with Vite + React. Tailwind reorganized, hardcoded dark mode scattered across components removed and centralized in the theme system. Icons reorganized into
components/icons/, one per file. - Libraries: Sonner replaced the old toast system.
date-fnscentralized all date handling (frontend and backend).react-haikureplaced hand-written utility hooks. TanStack Query as the server state foundation. Recharts for dashboard charts. - Organization: tests moved to dedicated
__tests__folders. Shared utilities (formatters,useIsIOShook) extracted toshared/.dist/anddev-dist/removed from the repo and added to.gitignore.
Offline PWA and features
Offline patterns with Dexie were documented and the session extended to seven days. A new inactive draft reminders feature landed.
Agent skills and DevEx
I set up project-level skills so any agent (Claude, Codex) opening the repo has context out of the box: typescript-magician, vercel-react-best-practices, and a new domain-enums skill to enforce typed enums instead of magic strings.
Conductor was configured to propagate .env files from subdirectories to new workspaces.
Documentation and requirements
New UI construction rules for the design system. Updated PRDs with visual context from the real screens. Schema refined (date fields on pricing tables). Farm-scoped service order numbering landed via PR.
One workspace prepared the agenda for a requirements meeting: per-farm multi-tenancy, pricing structure, and relational management between owners, farms, and airstrips. The full implementation timeline estimate was also completed.
tgmarinho-ai-website
Published a bilingual blog post (pt-BR + en) teaching Git and GitHub for beginners, focused on the first Pull Request workflow. Direct, no fluff, role-agnostic. Also merged the PR with journal entries from earlier this week.
A day where orchestrating many agents in parallel showed its value: each workspace focused on a narrow slice of the problem, and by the end of the day the project had its foundation, tooling, and quality patterns in place.