SaaSAI

PrismCV

Year2025–present
RoleSolo
StatusLive

Solo SaaS at prismcv.com, a paid resume builder and job tracker. Pairs a 13-point ATS scoring engine with Claude-powered tailoring, aggregates jobs from 6+ sources, and exposes a 34-tool Model Context Protocol (MCP) server that AI agents can drive end-to-end.

200+
API Routes
50+
Database Models
34
MCP Tools
View Live Site
PrismCV resume builder and job tracker
ATS check landing at prismcv.com

Overview

Designed, built, and operate PrismCV end-to-end as a paid SaaS at prismcv.com. The product solves a job-hunter pain point I had myself: maintaining one canonical resume while branching tailored versions for individual postings, and tracking every application through to offer. The platform pairs a 13-point ATS scoring engine with Claude-powered tailoring, aggregates jobs from six remote-job boards plus Greenhouse and Lever feeds, and exposes the full workflow through both a Stripe-billed web app and a 34-tool MCP server that AI agents (Claude Desktop, Cursor, Claude Code) can drive directly.

Resume Engine

A multi-version resume system that treats every tailored variant as a branch off a canonical profile:

Branch & TailorCreate job-specific variants of a single source resume without losing the original
AI TailoringClaude rewrites bullets and summaries against a pasted job description in one click
LinkedIn ImportParse LinkedIn ZIP exports or pull profiles via URL with a Playwright-backed scraper
Document Parsingmammoth and unpdf import existing DOCX and PDF resumes into the structured editor
PDF ExportGenerates ATS-friendly PDFs with deterministic layout

ATS Scoring & Job Aggregation

A scoring engine plus a backend job pipeline so users can score-and-apply in one place:

13-Point ATS ScoringContact info, sections, content quality, formatting. Every check returns explicit, fixable feedback.
Keyword MatchDiff a resume against a target job description and surface missing keywords
Multi-Source CatalogServer-side crons crawl Remotive, RemoteOK, WeWorkRemotely, Himalayas, BuiltIn, Greenhouse, and Lever boards
Personalized MatchEach user sees jobs scored against their own keywords, location, and salary preferences
Kanban TrackerDrag applications through Applied / Phone Screen / Interview / Offer with full status history

Subscriptions & MCP Server

Productized with Stripe billing and exposed to AI agents via Model Context Protocol:

Stripe TiersFree / Pro / Enterprise with idempotent webhook reconciliation and dedup table
34-Tool MCP ServerSix modules (Resumes, Jobs, Applications, Cover Letters, Profile Bank, Dashboard), usable from Claude Desktop, Cursor, or Claude Code.
Scoped API TokensSHA-256 hashed personal tokens with 90-day expiry for MCP and CLI access
Daily Job DigestResend-powered email digest of newly-matched jobs scored against user preferences
Browser ExtensionChrome/Firefox extension captures jobs from arbitrary sites into the catalog

Technical Architecture

Self-hosted on a single Hetzner VPS: a real, paying SaaS without a managed-services bill.

FrontendNext.js 16 App Router, React 19, MUI 9, MUI X DataGrid
Backend200+ Next.js API routes plus a separate MCP server package
DatabasePostgreSQL with Prisma 7 (50+ models, automated migrations on deploy)
AIAnthropic Claude API for tailoring, cover letters, and job-resume scoring
Cache & Rate LimitingUpstash Redis with ioredis for fair-use throttling
AuthNextAuth with Google OAuth, credentials, and TOTP 2FA via otplib
PaymentsStripe subscriptions with webhook idempotency
EmailResend for transactional and digest emails
ObservabilitySentry for errors, server-side analytics in Postgres
HostingSelf-managed Hetzner VPS via Coolify, auto-deploy from staging and main

What It Demonstrates

End-to-End Product Ownership

Architecture, billing, infrastructure, support, and growth, all operated as a single-person SaaS

Practical AI Integration

Claude is used in three distinct loops: tailoring, scoring, and agent-driven workflows via MCP

Real Subscription Billing

Stripe webhooks, dedup, retries, partial payments, and three pricing tiers all in production

Job Pipeline at Scale

Continuous crawling of seven job sources, deduped into a single global catalog scored per-user

Key Learnings

Shipping a Real SaaS SoloOwned every layer from product, design, and engineering through billing, customer comms, and infrastructure. The constraint forced sharp prioritization. Every feature has to either retain a paying user or attract a new one.
Building for AI Agents (MCP)Designed PrismCV so the same surface the dashboard talks to is also exposed via Model Context Protocol with 34 typed tools. AI agents in Claude Desktop, Cursor, or Claude Code can run the full job-hunt loop using the same authorization model as the web UI.
Self-Hosting a Paid ProductRuns on a single Hetzner VPS via Coolify: Postgres, Redis cache, MCP server, and the Next.js app on one box, with automated Prisma migrations on every deploy. Trades managed-service convenience for full data ownership and a fixed-cost infrastructure bill.
AI as a Product Surface, Not a DemoThree discrete Claude integrations (tailoring, scoring, agent-driven workflows) each have their own retry logic, prompt versioning, and cost guardrails. The model is a vendor, not a product. The value is in the workflows wrapped around it.

More Projects

Need something like this for your business?

I build custom software that solves real business problems — from quote systems to customer portals.