CV as a Service
Your Job × AI
Origins
CVaaS began in 2021 as direct, hands-on career help for international students at Loughborough University. The founder had used cold email applications during his own internship search and started helping flatmates draft cover letters. A few of them reached the interview stage. Word spread.
What became apparent quickly was that the problem was not the CV in isolation. Students had outdated LinkedIn profiles, no portfolio or personal site, and no understanding of how to reach firms directly. The university careers service offered generic templates and mock interviews; these arrived too late in the cycle for most placements. The students who were getting through were not necessarily the most capable. They were the ones who happened to know what to do.
In December 2023, the founder automated his own consultation process into an AI platform. The objective was straightforward.
“My objective was to replace myself. And I was glad to do it.”
The Solution
CV as a Service is a career positioning platform combining human consultation with a suite of AI tools, now operated by Sataklela OÜ. It addresses the full career-preparation workflow, not just document generation.
The platform has served 20+ clients, with interviews secured in engineering, technology, and business sectors. Verified reviews are available on Trustpilot ↗.
Service Scope
CVaaS delivers end-to-end career positioning, not just document generation. Each engagement covers:
CV Polishing
Tailored to role, sector, and seniority level
Headline, summary, experience optimisation
Portfolio
Professional online presence and personal site
Interview Prep
Structured practice, common questions, feedback
Cold Outreach
Targeted emails to firms and hiring contacts
Visibility
Search presence, profile indexing, digital footprint
Technical Stack
Frontend
Vue 3 + Vue Router + Vite
Backend
Node.js + Express.js
Authentication
Google Sign-In + Firebase Auth
Database
Firebase Firestore
File storage
Firebase Storage
Payments
Stripe Checkout + Webhooks
Deployment
Railway
Key Features
Google Sign-In + Firebase Auth
Authentication is handled via Google Sign-In integrated with Firebase Authentication. On first login, a Firestore candidate profile is created automatically.
Firestore document store
Each user's documents are stored in a Firestore subcollection under their UID, supporting multiple document types: CVs, cover letters, statements of purpose, character references, and more.
Credit-based consumption
Generating a document deducts credits from the user's token balance. Each document type has a fixed credit cost: CV (3 credits), Cover Letter (4 credits), Statement of Purpose (10 credits).
Stripe checkout integration
Credit packs are purchased via Stripe Checkout. Webhook verification ensures credits are only added after payment confirmation, not based on client-side redirects.
Firebase Storage
Users can upload source files (CVs, PDFs) that are stored in Firebase Storage and associated with their Firestore document records.
Central Source of Truth (CSOT)
A structured document type that aggregates a candidate's full career profile, used as the source material for generating tailored application documents.
Document Types
The platform supports nine document types. Three have defined credit costs; the remainder form the candidate's profile and source material.
| Document Type | Credits |
|---|---|
| CV | 3 credits |
| Cover Letter | 4 credits |
| Statement of Purpose | 10 credits |
| Central Source of Truth (CSOT) | — |
| Character Reference | — |
| Psychological Evaluation | — |
| Personality Type | — |
| Email Record | — |
| Chat Record | — |
Pricing
Credits are purchased in one-time packs via Stripe Checkout. There is no subscription requirement.
Starter
£5
100 credits
Value
£10
230 credits
Pro
£20
500 credits
Parent
£30
900 credits
Firestore Data Model
Each user's data is isolated under their Firebase UID.
candidates/{uid}
email, name, picture, profile (phone, linkedIn, location, jobTitle)
candidateDocuments/{uid}/documents/{docId}
type, title, source, content, metadata (tags, storageUrl, …)
tokens/{uid}
currentBalance, totalTokensEarned, totalTokensSpent
tokenHistory/{uid}/transactions/{txId}
type, service, amount, previousBalance, newBalance, timestampScreenshots
The CVaaS interface is available after sign-up. Screenshots are available on request.
Screenshot available on request
Screenshot available on request