LIVE
IDLEAwaiting updates…
LexDev

Pitwall

AI coding subscription pacing app for Claude, Codex, Gemini, and future providers; Pitwall Local is in technical GitHub beta/source-install readiness, while the monorepo preserves the path to a future CalcLLM-powered connected edition with opt-in cloud sync and team cost dashboards.

Competes with Claude Usage

OSS Launch PrepLexDev
Reborn2 product eras
  1. Era 1: Pitwall Local
    localActive

    Clean-room local desktop app for pacing AI coding subscriptions across Claude, Codex, Gemini, and future providers without remote sync.

    Born Apr 21, 2026Superseded by Pitwall Monorepo
    • Original clean-room implementation remains the pure OSS/local-only app.
    • Local app code was transferred into the monorepo under `apps/pitwall-local`.
  2. Era 2: Pitwall Monorepo
    monorepoActive

    Monorepo split with `apps/pitwall-local` for the technical GitHub beta and `apps/pitwall-calcllm` for the future CalcLLM-powered connected edition.

    Born May 4, 2026
    • Connected-mode work belongs in the monorepo, not the original local-only repo.
    • CalcLLM auth, remote sync, account status, dashboard links, and team cost tracking belong only in the powered app/package.
Key metrics
  • Weekly active users
    Needs instrumentation
    Not measured

    Distinct users who open Pitwall and view subscription pacing in a week.

  • Connected accounts
    Needs instrumentation
    Not measured

    Users who opt into the CalcLLM-powered connected edition.

  • Pacing decisions
    Needs instrumentation
    Not measured

    Provider switch, conserve, push, or wait recommendations shown to users.

Competitive Intel

0 entries

No competitive intel entries for this product yet.

Research Hub

4 types
View full research hub →

Roadmap

150 items
Done82
`apps/pitwall-calcllm` exposes `Start team review` as the primary connected-entry CTA.
`apps/pitwall-local` has no CalcLLM CTA, contextual prompt, connected status, or sync dependency.
`apps/pitwall-website` exists with Next.js App Router, TypeScript, and Tailwind CSS.
`apps/pitwall-website` exists with Next.js App Router, TypeScript, and Tailwind CSS.
`AuthHealthWarning` type exists on `ProviderState` with `.expiringSoon` and `.refreshFailing` cases.
`Connect CalcLLM` appears only in connected settings/status surfaces, not as the primary product verb.
`next build` passes with zero errors.
`next build` passes with zero errors.
`swift test` passes with zero regressions.
`swift test` passes with zero regressions.
0 opted-in users show sample dashboard plus invite progress.
1 opted-in user shows not-enough-teammates state and champion private preview only.
2+ opted-in users show real aggregate panels with `Based on N opted-in developers` low-sample label.
All phase tests pass.
All phase tests pass.
All phase tests pass.
Auth freshness metrics accumulate correctly across app sessions (persisted locally).
Auth warnings are distinguishable from network failures in tests.
Blog index renders posts in reverse chronological order.
Boundary tests or static checks prove `apps/pitwall-local` has no CalcLLM sync dependency.
Claude provider sets `authHealthWarning` when session key age exceeds configurable threshold.
Codex provider sets `authHealthWarning` on consecutive non-authenticated checks.
Connected status shows workspace name, enabled scopes, last sync/freshness, `Manage in CalcLLM`, and `Disconnect`.
Connected-mode consent scopes support `personal_history`, `team_rollup`, and deferred `public_artifacts` semantics.
Contextual prompts are capped, dismissible, and never shown during first-run onboarding.
Dark design theme renders consistently across all page shells.
Dark design theme renders consistently across all page shells.
Diagnostics export redacts all auth freshness metrics appropriately.
Disconnect requires confirmation and routes through the Phase 12 disconnect state.
Disconnect state stops future sync and exposes pending/complete state for UI surfaces.
Docs section renders at least 5 pages (quickstart, Claude setup, Codex setup, Gemini setup, FAQ).
First-time champion flow completes using fixture data without exposing individual analytics.
Fixture-backed tests cover payload preview, consent updates, retention selection, and disconnect behavior.
Footer includes GitHub CTA and waitlist email input placeholder.
Footer includes GitHub CTA and waitlist email input placeholder.
Gemini provider sets `authHealthWarning` on OAuth token expiry signals.
Ignore local `.env.local` files at the repo root and nested app paths.
Individual blog posts render full MDX with syntax-highlighted code blocks.
Invite status may show teammate identity, but aggregate usage never shows per-person usage or rankings.
Keyboard and screen reader flows work for all form, invite, and confirmation controls.
Launch announcement post is written and renders correctly.
Lighthouse scores 90+ on Performance, Accessibility, Best Practices, and SEO.
MDX compilation pipeline processes test content without errors.
MDX compilation pipeline processes test content without errors.
Metrics are visible in diagnostics view.
Navigation links to all 4 page routes (home, features, docs, blog).
Navigation links to all 4 page routes (home, features, docs, blog).
No auth metrics are uploaded, synced, or exposed outside the local app.
No panel exposes per-person usage, rankings, exact token counts, prompts, code, raw logs, or activity traces.
No regressions in previous phase tests.
No regressions in previous phase tests.
No regressions in previous phase tests.
Normalize legacy `dailyPaceSegmentCount` values to the five-session fallback density.
Open Graph meta tags render correctly per page.
Payload preview shows only coarse provider snapshot fields and explicitly excludes prompts, code, credentials, file paths, raw logs, exact token counts, and activity traces.
Pitwall Local Daily row three-sector removal and local env ignore
Prefer real Claude/Codex provider session windows in the Daily row when timing exists, including when today's usage is already available.
Privacy-friendly analytics tracks page views and CTA clicks.
Privacy-friendly analytics tracks page views and CTA clicks.
Read-only review view includes purpose, champion note, aggregate panels, budget note, privacy boundary, and access status.
Remotion animation renders and plays on the home page (autoplay muted, with controls).
Remotion animation renders and plays on the home page (autoplay muted, with controls).
Remove the Display settings control for the legacy three-sector Daily pace mode.
Responsive behavior supports desktop builder use and mobile invite consent/review viewing.
Retention choices default to deleting identifiable synced history on disconnect.
Returning review builder supports non-linear editing with section status badges.
Review reason selection includes the agreed reason list and optional 500-character champion note.
Revoke-link confirmation explains who loses access.
Share link access supports workspace-only, invited viewer, and revoked/disabled states.
Site deploys to Vercel with a working preview URL.
Site deploys to Vercel with a working preview URL.
Sitemap.xml generates automatically.
Step 11.1: Reconcile launch dependencies, blockers, and public claims
Step 11.2: Add Remotion/demo media foundation and home-page playback
Step 11.3: Add waitlist API contract and disabled-to-live UI boundary
Step 11.4: Add privacy-friendly analytics and CTA event hooks
Step 11.5: Add SEO research artifacts, metadata pass, and structured data
Step 11.6: Add launch regression coverage
Step 11.7: Run launch validation, Lighthouse/cross-browser checks, deploy, and close Phase 11
Step 12.7: Run tests, verify all pass, and perform only concrete cleanup found by validation
Teammate invite landing uses the compact combined consent screen.
Tests cover prompt eligibility, prompt suppression, status rendering, route opening, and local/connected boundary behavior.
Planned68
`swift test` passes with zero regressions after cleanup.
`swift test` passes with zero regressions for each variant.
`swift test` passes with zero regressions.
`swift test` passes with zero regressions.
`swift test` passes with zero regressions.
A short screen recording of the menu bar glance loop exists.
A winner is selected and applied as the default experience.
All 3 interaction paradigm variants are buildable and launchable.
All phase tests pass.
All phase tests pass.
At least 3 product screenshots (menu bar status, popover overview, provider detail) exist in a documented location.
At least 5 GitHub starter issues are created covering provider, docs, and packaging work.
Auth expiry triggers a one-time macOS notification per provider, not repeated notifications.
Auth expiry triggers a one-time macOS notification per provider, not repeated notifications.
Auth freshness metrics accumulate correctly across app sessions (persisted locally).
Boundary tests or static checks prove `apps/pitwall-local` has no CalcLLM sync dependency.
Connected-mode consent scopes support `personal_history`, `team_rollup`, and deferred `public_artifacts` semantics.
Diagnostics export redacts all auth freshness metrics appropriately.
Disconnect state stops future sync and exposes pending/complete state for UI surfaces.
Each provider has a distinct recovery flow accessible from the popover when auth is expired or warning.
Each provider has a distinct recovery flow accessible from the popover when auth is expired or warning.
Each variant handles all 3 providers (Claude, Codex, Gemini).
Each variant handles auth warning/recovery states from Phase 2-3.
Each variant has been used for at least 2 working days in real coding sessions.
Evaluation notes document pros/cons for each variant against the 7 evaluation criteria.
Fixture-backed tests cover payload preview, consent updates, retention selection, and disconnect behavior.
Keyword research is documented and informs meta tags and content.
Keyword research is documented and informs meta tags and content.
Keyword research is documented and informs meta tags and content.
Lighthouse scores 90+ on Performance, Accessibility, Best Practices, and SEO.
Lighthouse scores 90+ on Performance, Accessibility, Best Practices, and SEO.
Menu bar icon/text reflects auth health state visually.
Menu bar icon/text reflects auth health state visually.
Metrics are visible in diagnostics view.
No auth metrics are uploaded, synced, or exposed outside the local app.
No regressions in previous phase tests.
No regressions in previous phase tests.
Non-selected variants are cleanly removed or archived.
Payload preview shows only coarse provider snapshot fields and explicitly excludes prompts, code, credentials, file paths, raw logs, exact token counts, and activity traces.
Privacy-friendly analytics tracks page views and CTA clicks.
Public beta smoke test has been run and results documented.
Recovery from expired to healthy completes in under 60 seconds for each provider in manual testing.
Recovery from expired to healthy completes in under 60 seconds for each provider in manual testing.
Remotion animation renders and plays on the home page (autoplay muted, with controls).
Retention choices default to deleting identifiable synced history on disconnect.
Site is deployed to production (Vercel subdomain or custom domain).
Site is deployed to production (Vercel subdomain or custom domain).
Site is deployed to production (Vercel subdomain or custom domain).
Site works correctly in Chrome, Firefox, and Safari.
Site works correctly in Chrome, Firefox, and Safari.
Site works correctly in Chrome, Firefox, and Safari.
Stale data remains visible with clear staleness labeling (never hidden).
Stale data remains visible with clear staleness labeling (never hidden).
Step 4.1: Auth freshness metrics model and persistence store
Step 4.2: Wire metric accumulation into ProviderRefreshCoordinator
Step 4.3: Add auth freshness metrics to diagnostics export
Step 4.4: Display auth freshness metrics in diagnostics view
Step 4.5: Write regression tests and validate full suite
Step 5.1: Create public beta smoke test checklist
Step 5.2: Create GitHub starter issues for community contribution
Step 5.3: Create screenshot and recording capture guide
Step 5.4: Capture product screenshots and screen recording _(manual)_
Step 5.5: Run public beta smoke test _(manual)_
Updated screenshots reflect the selected variant.
Variants are switchable without rebuilding (settings toggle or similar).
Waitlist API stores signups in Neon DB with email validation and 409 on duplicates.
Waitlist API stores signups in Neon DB with email validation and 409 on duplicates.
Waitlist API stores signups in Neon DB with email validation and 409 on duplicates.

Timeline

20 events
May 2026
feature
feat(local): wire Claude Code credential refresh
May 15static-
feature
feat(pitwall-core): refresh Claude OAuth credentials
May 15static-
feature
feat(pitwall-core): add Claude OAuth usage client
May 15static-
feature
feat: add Claude Code credential source
May 15static-
docs
docs(local): close session-aware daily pacing phase
May 15static-
fix
fix(local): explain session daily availability
May 15static-
fix
fix(local): remove three-sector daily pace mode
May 15static-
fix
fix(local): color live daily session slice
May 14static-
fix
fix(local): color daily session after in-window refresh
May 14static-
docs
docs(local): record daily popover unit hotfix
May 14static-
fix
fix(local): stop mixing session and daily pace units
May 14static-
fix
fix(local): report codex history write failures
May 14static-
fix
fix(local): show completed codex daily sessions
May 14static-
docs
docs(local): record codex daily color hotfix
May 14static-
fix
fix(local): color observed codex daily sessions
May 14static-
fix
fix(local): enlarge daily pace segments
May 14static-
feature
feat(pitwall-local): normalize session daily timing
May 14static-
feature
feat(pitwall-local): rebalance session daily targets
May 13static-
feature
feat(pitwall-local): generate session daily slices
May 13static-
feature
feat(pitwall-local): add session pacing model surface
May 13static-

Dev Docs

12 files

Specs

  • Auth Resilience — Interview Log
    May 15, 20265.3 KB
  • Auth Resilience — Specification
    May 15, 202619.2 KB
  • Pitwall CalcLLM Sync Consent
    May 15, 202622.9 KB
  • Pitwall Marketing Website
    May 15, 20269.4 KB
  • Pitwall Marketing Website — Interview Log
    May 15, 20265.6 KB
  • Spec Drift Report - 2026-05-12
    May 15, 20268.8 KB
  • UI Specification - Pitwall CalcLLM Champion Share
    May 15, 202615.0 KB
  • UX Variations - Pitwall Powered by CalcLLM
    May 15, 202625.1 KB
  • UX Variations — Pitwall Local Full App Experience
    May 15, 202622.9 KB

Docs

  • Debug Changelog
    May 15, 20262.6 KB
  • Public Beta Smoke Test Checklist
    May 15, 20262.3 KB
  • Screenshot and Recording Capture Guide
    May 15, 20261.5 KB