Appearance
Cost & Velocity Observations
Operational metrics from 8 milestones of AI-assisted solo development on VelaPay.
Per-Milestone Velocity
| Milestone | Phases | Plans | Calendar Days | Plans/Day | Focus Area |
|---|---|---|---|---|---|
| v1.0 | 5 | 20 | — | — | Base protocol + checkout |
| v1.1 | 8 | 26 | 2 | 13.0 | Privacy layer, keeper automation |
| v1.2 | 10 | 36 | 4 | 9.0 | Admin dashboard, validation, gap closure |
| v1.3 | 3 | 13 | 2 | 6.5 | Auth migration, Better Auth |
| v1.4 | 2 | 13 | 1 | 13.0 | Agent mandate protocol |
| v1.5 | 7 | 37 | 2 | 18.5 | Public billing surfaces, checkout sessions |
| v1.6 | 4 | 16 | 2 | 8.0 | Docs-only milestone |
| v1.7 | 5 | 29 | 3 | 9.7 | Protocol/SDK refactor, versioned accounts |
| v1.8 | 3 | 47 | Active | Active | Streaming, dashboard, webhooks |
Velocity Analysis
Highest velocity milestones:
- v1.5 (18.5 plans/day) — Public billing surfaces had clear patterns from prior work. Shared checkout-session abstraction reduced per-plan complexity. High reuse of established patterns.
- v1.1, v1.4 (13.0 plans/day) — Focused scope with minimal integration complexity. v1.4's agent mandates were a clean extension of the existing mandate system.
Lowest velocity milestones:
- v1.3 (6.5 plans/day) — Auth migration is inherently slow: every plan requires testing against multiple auth states (logged in, logged out, session expired, wallet-only, email-only). Playwright E2E setup consumed significant time.
- v1.6 (8.0 plans/day) — Docs milestones have different characteristics. Content writing is faster than code, but review and cross-referencing takes longer. Build-time validation added overhead.
Median velocity: ~9-10 plans/day for feature work. This is the reliable planning number for future milestone estimation.
Phase-Level Breakdown
Plans per Phase by Type
| Phase Type | Avg Plans/Phase | Range | Notes |
|---|---|---|---|
| Feature phases | 5-6 | 3-9 | Higher coupling, more plans needed |
| Gap-closure phases | 1-3 | 1-5 | Fewer plans but higher debugging ratio |
| Docs-only phases | 3-4 | 2-6 | Lower coupling, content-driven size |
| Protocol/SDK phases | 6-8 | 4-12 | Highest coupling, careful sequencing |
| Infrastructure phases | 4-5 | 2-7 | CI/CD, deployment, configuration |
| Auth phases | 4-6 | 3-8 | Every plan touches sensitive paths |
Plan Duration Distribution
| Duration | Plan Type | Frequency |
|---|---|---|
| 5-10 min | Simple implementations (config, types, utilities) | ~30% |
| 10-20 min | Standard features (CRUD, UI components, API routes) | ~50% |
| 20-30 min | Complex features (protocol instructions, auth flows, integrations) | ~15% |
| 30+ min | Debugging, refactoring, gap-closure | ~5% |
Average plan execution: ~15 minutes across all types.
Gap-Closure Overhead Analysis
v1.2 Gap-Closure (Phases 20-23)
| Metric | Value |
|---|---|
| Gap-closure phases | 4 |
| Gap-closure plans | ~8 |
| Feature phases | 6 |
| Feature plans | ~28 |
| Overhead ratio | ~22% |
| Root cause | Deferred wave-0 test stubs |
v1.7 Gap-Closure (Phases 43-44)
| Metric | Value |
|---|---|
| Gap-closure phases | 2 |
| Gap-closure plans | ~6 |
| Feature phases | 3 |
| Feature plans | ~23 |
| Overhead ratio | ~30% |
| Root cause | Skipping verifier on Phase 42 |
| Specific gaps | Integration drift + traceability drift |
Gap-Closure Cost Model
| Factor | Impact |
|---|---|
| Each skipped verifier | +1-2 gap-closure phases |
| Each gap-closure phase | +1-3 plans |
| Deferred validation debt | Compounds ~10% per milestone if not addressed |
| Dedicated closure vs. in-band | Dedicated is 2x more effective (catches more issues) |
Recommendation: Budget 1-2 gap-closure phases per milestone (~3-6 plans, ~45-90 min). This is cheaper than the compound interest of deferred validation.
Model Usage & Cost
Model Configuration
| Role | Model | Profile | Purpose |
|---|---|---|---|
| Primary (orchestrator) | Opus 4.6 | quality | Planning, architecture decisions, complex debugging |
| Executor subagent | Sonnet | balanced | Plan execution, code generation, file creation |
| Planner subagent | Sonnet | balanced | Phase planning, task breakdown, dependency analysis |
| Researcher subagent | Sonnet | balanced | Context gathering, documentation search, web lookup |
| Reviewer subagent | Sonnet | balanced | Code review, security review, quality checks |
Execution Time Breakdown
| Component | Time | Percentage |
|---|---|---|
| Plan execution (subagents) | ~25 hours | ~69% |
| Planning + orchestration | ~6 hours | ~17% |
| Verification + debugging | ~3 hours | ~8% |
| Milestone audits | ~2 hours | ~6% |
| Total | ~36 hours | 100% |
Context Window Usage
| Milestone | Avg Context at Plan Start | Peak Context | Notes |
|---|---|---|---|
| v1.0-v1.1 | ~20K tokens | ~60K tokens | Small codebase, low context needs |
| v1.2 | ~40K tokens | ~100K tokens | Growing codebase, more cross-referencing |
| v1.3 | ~35K tokens | ~80K tokens | Focused scope, moderate context |
| v1.5 | ~50K tokens | ~120K tokens | Multi-repo work, high context needs |
| v1.7 | ~60K tokens | ~150K tokens | Protocol refactor, maximum cross-referencing |
| v1.8 | ~55K tokens | ~130K tokens | Streaming + multi-repo, high context |
Commit Activity
Per-Milestone Commits
| Milestone | Approximate Commits | Key Pattern |
|---|---|---|
| v1.0 | ~50 | Initial scaffolding + protocol |
| v1.1 | ~60 | Privacy + keeper additions |
| v1.2 | ~90 | Admin dashboard + gap closure |
| v1.3 | ~35 | Auth migration |
| v1.4 | ~30 | Agent mandates |
| v1.5 | ~85 | Public surfaces + checkout |
| v1.6 | ~40 | Documentation |
| v1.7 | ~70 | Protocol refactor |
| v1.8 | ~70+ | Streaming + webhooks (active) |
| Total | 529+ | — |
Commit Message Patterns
The project follows conventional commits:
feat(phase-N): description— feature implementationsfix(phase-N): description— bug fixesdocs(phase-N): description— documentationci(phase-N): description— CI/CD changeschore(phase-N): description— maintenance
Infrastructure Costs
Cloudflare (Primary Platform)
| Service | Usage | Monthly Cost |
|---|---|---|
| Workers | 5 deployments | Free tier |
| D1 | 2 databases (dev + staging) | Free tier |
| KV | Session storage | Free tier |
| R2 | Static assets | Free tier |
| Queues | Billing events | Free tier (10k ops/day) |
Total Cloudflare cost: $0/month during development.
Railway (Dashboard SSR)
| Service | Usage | Monthly Cost |
|---|---|---|
| Railway compute | Dashboard SSR | ~$5/month (developer plan) |
Helius (RPC + Webhooks)
| Service | Usage | Monthly Cost |
|---|---|---|
| RPC provider | Devnet + staging | Free tier |
| Webhooks | Event indexing | Free tier |
| DAS API | Asset queries | Free tier |
Development Tooling
| Service | Usage | Monthly Cost |
|---|---|---|
| AI assistance (Opus 4.6 + Sonnet) | ~36 hours execution | Variable |
| GitHub (private repos) | 5 repos | Free tier |
| Domain (velapay.com) | Cloudflare DNS | ~$10/year |
Total infra cost during development: ~$5/month + AI costs.
Estimation Guide for Future Milestones
How to Estimate a Milestone
- Count the number of feature phases (from roadmap)
- Add 1-2 gap-closure phases (standard allocation)
- Estimate plans per phase: 5-6 for features, 3-4 for docs
- Calculate total plans: phases × plans/phase
- Estimate duration: total plans ÷ 9 plans/day
- Add 20% buffer for gap-closure and debugging
Example Estimation
Milestone v2.0: Multi-token billing
- Feature phases: 4
- Gap-closure phases: 1
- Plans per feature phase: 6
- Plans per gap-closure phase: 3
- Total plans: (4 × 6) + (1 × 3) = 27 plans
- Estimated duration: 27 ÷ 9 = 3 days
- With buffer: 3.6 days → ~4 daysVelocity Adjustments
| Factor | Adjustment | Reason |
|---|---|---|
| Protocol changes | -20% plans/day | Higher coupling, more testing |
| New auth patterns | -30% plans/day | Every plan touches sensitive paths |
| Docs-only | -10% plans/day | Review takes longer than writing |
| Reusing established patterns | +30% plans/day | Less design, more execution |
| Multi-repo coordination | -15% plans/day | Context switching overhead |