Atlas Command Center

Most product people write the spec and wait. This is what happens when you don't. From spreadsheets and sticky notes to a live production-grade CRM and AI Chief of Staff — built solo, without a single engineer, across 17 days and 30+ sessions.

Timeline
May 13 - Ongoing
Role
AI-Native Product Developer
Status
Live in Production
Hosting
$0

A Problem Worth Solving

After Boulder Startup Week 2026, the problem was concrete: 40+ meaningful new contacts, context about each person scattered across notes, follow-up commitments made in conversation, and no tool shaped for the actual arc of professional networking.

Off-the-shelf CRMs optimize for sales pipelines — not for the nuanced history of a real professional relationship. Something like "I met Chuck at VentureX Denver in 2024, then again at BSW 2026, and I want to introduce him to someone" — that's the kind of layered context that needed a different model.

And the CRM was only part of what was needed. Managing active fractional projects, tracking job applications, setting weekly priorities, running automated calendar generation — one tool to hold all of it.

The decision: build the tool I actually wanted, and use the process as a forcing function for developing real fluency with AI-native product development.

Technical Stack

Frontend
Next.js 16 (App Router) TypeScript Tailwind CSS 4 Semantic CSS variables
Backend / Data
Supabase (PostgreSQL) Row-Level Security Google OAuth Multi-user architecture
AI
Anthropic SDK (Haiku 4.5) Claude Opus 4.6 (Vision) In-app AI insights AI meeting notes parsing
Deploy
Vercel (CD on push) GitHub Desktop Supabase CLI backups
Dev Tools
Claude Code + Cowork CLAUDE.md context files Session log discipline
Integrations
Google Calendar (read-only) Google Drive (link-out) PWA — installable on iPhone

The AI Development Methodology

The most important thing learned from this build: AI coding tools are only as good as the context you give them. This methodology was formed in the first sessions and stress-tested across thirty. Every practice earned its place.

01

Context Architecture First

Before writing any code, build the project's brain. Every project has a structured CLAUDE.md brief — full stack, domain model, route structure, design system rules, naming conventions, architecture decisions, known bugs. This isn't overhead; it's what makes every new session immediately productive. A cold-start AI with a good brief outperforms a warm AI with none.

02

One Feature Per Session

AI coding tools degrade with broad scope. Keeping each session to one coherent piece of work — "build the contact detail page," "add effort levels to follow-ups," "set up the PWA manifest" — consistently produces production-quality output. The discipline also forces product clarity: you can't hand off something you haven't thought through.

03

Quality Bar Is My Responsibility

Nothing ships without review. Every migration gets checked for proper RLS policies. Every component is verified for TypeScript correctness. Every API route is checked for auth guards. When bugs surface — a production 403, a broken index causing full table scans, six simultaneous Supabase connections — gather evidence first, form a hypothesis, then run a focused debugging session. AI executes; you own the outcome.

04

Treat AI as a Collaborator

The shift from "ask the AI to write code" to "design the feature together, then build it" changes everything. Think through the architecture, the data model, and the edge cases first. AI handles velocity. You bring the product judgment. The combination is genuinely different from either alone.

05

Maintain the Record

Every session ends with an updated session log, a reviewed build plan, and a written opener for the next session. This discipline transformed 30+ separate conversations into a single coherent build. The log is the institutional memory the AI doesn't have. It also creates an artifact you can hand to someone else — making the methodology teachable, not just personal.

The Process Artifacts

One of the strongest signals that this methodology is teachable and packageable: the process generated its own documentation as a byproduct of doing the work well. These artifacts are what make the approach repeatable — for me, or for anyone I'd hand this off to.

📋

CLAUDE.md — Architecture Brief

A living spec updated at the start of every major new section. Covers the full stack, domain model, route structure, design system rules, naming conventions, and key architecture decisions. This is the file that turns a cold-start AI into a productive session partner within the first exchange.

Updated 30+ times · ~200 lines
📓

ATLAS_SESSION_LOG.md — Running Build Journal

Updated at the end of every session without exception. Captures what was built, decisions made, bugs fixed, migrations run, and what's next — including the debugging rationale, not just the fix. This is the institutional memory the AI doesn't carry between conversations.

29 sessions documented · 450+ lines
🗺️

ATLAS_BUILDOUT_PLAN.md — Living Roadmap

A checklist tracking every completed feature (✅) and every upcoming one (🔜), organized by priority tier. Updated each session. The single source of truth for what's live, what's next, and what's been intentionally deferred — with the reasoning captured.

40+ items shipped · prioritized backlog
🚀

SESSION_OPENER docs — Per-Session Context Brief

A written brief prepared at the end of each session for the start of the next. Includes what was built, prioritized fix list, open questions, and environment reminders. Eliminates the "where did we leave off?" friction that can degrade the first 20 minutes of a session.

Written for every major session
🧪

TEST_PLAN docs — Per-Session Test Cases

Step-by-step test cases written before or during each feature session. Covers core flows, edge cases, and regression checks for adjacent features. Writing the test plan also sharpens the feature definition — you can't write good tests for something you haven't fully specified.

Mobile audit · feature test plans
💾

Supabase Backups — pg_dump Before Major Sessions

Before any session involving significant schema changes, a full pg_dump via Supabase CLI. The backup discipline is part of the methodology, not an afterthought — a production database with real data is worth protecting. The backup also forces a pause to assess what you're about to change.

Supabase CLI + libpq · pre-session ritual

Why this matters for consulting: These artifacts are the deliverable that outlasts the build session. A client engagement built on this framework doesn't just produce working software — it produces a documented, transferable operating model. The CLAUDE.md brief, session log, and build plan together constitute a handoff kit that any future developer (AI or human) can pick up and continue from.

What Was Shipped — Phase by Phase

Each phase represents a coherent arc of work, deployed to production at the end of every session.

Phase 1

Foundation

May 13–21 · Sessions 1–4
Auth CRM Core
Auth + scaffold — Next.js 16 + Supabase Google OAuth, protected routes, middleware auth guard, deployed to Vercel from session one
Design system — semantic CSS custom properties for full light/dark theming; no hardcoded color classes anywhere in the codebase
Contacts page — server-fetched grid with search, last-contacted badge, tags, full CRUD
Interactions timeline — 9 type-filter pills, grouped by month, full CRUD
CRM Dashboard — stat cards, follow-ups panel, AI Insights panel powered by Anthropic Haiku
Follow-ups — full CRUD with overdue/upcoming/completed sections + effort levels (Quick Win / Medium / Big) with By Status / By Effort toggle
Contact detail page — two-column layout with profile sidebar and visual interaction timeline; quick-add modals pre-filled from contact context
BSW seed data — 40 real Boulder Startup Week contacts with interactions and 21 follow-ups, making the CRM immediately useful from day one
Production 403 bug — diagnosed and fixed missing GRANT on SQL-migrated tables (RLS alone is not enough); documented as a standing practice
Phase 2

Full Command Center

May 22 – June 1 · Sessions 5–20
Projects Schedule
Dashboard with real data — replaced hardcoded fake data with live Supabase queries across all dashboard panels
Projects page — full CRUD with project types (fractional, pro-bono, part-time, full-time, sunset), stage tracking, and status pipeline
Job Applications pipeline — Saved → Applied → Screening → Interviewing → Offer → Hired/Rejected, with Pipeline, List, and Resources tabs
Application detail panel —Rightside panel slide-out with interview rounds (prep questions + talking points per round), interviewer tracking, and interaction log tracking
Goals page — personal and creative goal tracking with category breakdown (career, fitness, art, music, photography, mental health)
Trainings & Tools — courses, certifications, workshops; tool trial tracking with keep/cancel decisions and monthly cost
Reminders — priority-based (low / medium / high / urgent) with category filtering
Schedule page — weekly parking lot and eligible work tray; Chief of Staff automated Sunday generation script
Google Calendar integration — OAuth flow, calendar events rendered as sky-blue blocks, timezone picker in Settings
Phase 3

Intelligence Layer

June 2–4 · Sessions 21–24
AI Vision Bulk Import
LinkedIn CSV bulk import — drag-and-drop CSV parser, client-side deduplication (exact skip / fuzzy flag / new ✓), per-row tags, batch POST; ~1,000 connections imported
Contact Active / Archive split — New (last 7 days) / Active (90-day interaction window) / Archive; pin button to promote any contact regardless of activity date
Contact tag groups — accordion sections with drag-and-drop reordering between groups
Business card OCR — "Scan Card" button; Claude Opus 4.6 Vision extracts contact fields from a photo; review form before saving
Bidirectional referrals — "A introduced me to B" relationship edges with full CRUD on the contact detail page
AI meeting notes parsing — paste raw notes → Claude Haiku extracts type, date, summary, follow-ups, and mentioned people → review/edit → save in one flow
Project Build & Testing tabs — session entry types (Feature / Bug Fix / Improvement), live session log from DB, bug tracker with severity + status
Project Economics — labor/cost/margin calculator, client engagement log timeline, T&M vs. Fixed contract toggle
Interview question bank split — Prep & STAR Answers tab + Questions to Ask tab; 8 outbound categories (Recruiter Screen → Process & Timeline)
Supabase security audit — reviewed and hardened public schema ahead of October 2026 Data API changes
Phase 4

Production-Grade

June 5–9 · Sessions 25–29
PWA Mobile
PWA — installable on iPhone home screen; custom amber "J" icon, standalone display mode, iOS safe-area support, amber status bar
Mobile bottom nav — 5-tab bar (Home / CRM / Follow-ups / Schedule / Projects) with iOS home indicator clearance
Mobile UX pass — bottom sheets on all modals, sticky save footers, single-column layouts, contact detail header refactor, projects default to Cards view on mobile
Performance — broken index — identified full table scans on follow-ups from a dead partial index referencing a removed column; replaced with composite (user_id, status, due_date) index
Performance — queries — bounded unbounded contacts query (was downloading all interactions on every page load); added explicit column selects
Performance — connections — dashboard reduced from 6 simultaneous Supabase connections to 1 via Promise.all; 13 queries, 1 connection
8 new DB indexes — covering interactions, contacts, goals, projects, reminders, and special events query patterns
Auto follow-ups — saving a "Proposal Sent" engagement log entry automatically creates a linked follow-up 7 days later
Follow-ups Projects tab — source filter for project-linked follow-ups with project badge on rows
Schedule polish — completed blocks hidden by default; special events appear as calendar blocks even without Google Calendar connected
Dashboard accuracy fixes — corrected follow-up count query (was including completed); corrected active project count (was including Parked)

See It in Action

A selection of screens from the live production app.

Key Insights

01

The Brief Is the Work

Most people treat the project brief as overhead. Writing a tight CLAUDE.md forces you to resolve ambiguity you didn't know existed: what the data model actually is, where edge cases live, what "done" means for a given feature. That forcing function alone is worth the investment, independent of what the AI does with it.

02

Production Standards Matter from Day One

Starting with proper auth, RLS, and TypeScript — even on a personal tool — meant no retrofitting security as the codebase grew. The cost is low early; the payoff compounds. Every session built on a stable foundation instead of patching a leaky one.

03

AI Will Confidently Build the Wrong Thing

Given an underspecified prompt, AI doesn't pause and ask — it ships something technically correct that misses the point. The judgment gap shows up in the details: a sort order that's wrong for the use case, a stat that's accurate but meaningless without context. Those are product problems, and they only get caught if you're using the thing, not just reviewing the code.

04

Rapid Feedback Loops Change How You Think

When you can test a real deployed feature within hours of conceiving it, intuitions get calibrated fast. Seventeen days of building taught more about what actually works in a productivity tool than months of thinking about it would have.

05

The Log Is the Proof

The session log started as a continuity tool. It became something more: when a production bug in Session 29 traced back to a migration in Session 3, the log had the context to diagnose it in minutes. For consulting, that record changes the conversation — instead of asking a client to trust your process, you can show them exactly how it runs.

06

Performance Is a Feature, Not a Phase

Session 29 fixed a broken Postgres index that had been causing full table scans since Session 1. The app worked — it just worked slowly. On mobile, that latency was untenable. Production quality means measuring real-world performance, not just "it builds."

What's Next

Atlas is an ongoing build. The near-term roadmap completes the mobile experience and adds remaining capture features. The longer arc is about what this whole project actually demonstrated.

Near-Term

  • Schedule page mobile view — replace desktop-only time grid with a scrollable day list; tap-to-schedule
  • Global search — ⌘K on desktop + search icon in mobile header; unified results across contacts, interactions, projects, follow-ups
  • Job Applications mobile — bottom-sheet treatment for deep interview round forms
  • Granola integration — ingest meeting transcripts and link them to contacts and interactions automatically
  • Expo native app — selective capture features: quick-add reminders, log interactions, voice-to-text via Siri; shares the Supabase API layer

Future & Commercialization

  • Workshop / playbook — "How to ship production software as a non-engineer using AI-native workflows"
  • Template kit — CLAUDE.md templates, session log formats, and context architecture patterns packaged for reuse
  • Productized personal OS — Atlas for founders, fractional executives, and career-transition professionals
  • Consulting engagement — context architecture + AI-native development as a service
  • White-label or SaaS version — multi-tenant Atlas; the multi-user architecture is already baked in from day one