# How to Vibe Code Your Own Saply.ai (and Stop Paying for It)

> Agentic AI for CV Automation & Management Software

- Site: https://saply.ai
- Category: HR Tech & CV Automation
- Verdict: **Solid side project** (62/100 vibecodeable)
- Estimated effort: 3-4 weeks part-time

## Verdict

You can build a web-based version of the core CV parser and template formatter in a couple of weeks, but native Office add-ins and enterprise ATS integrations will demand serious engineering persistence.

The core loop of uploading a messy PDF resume, parsing it with structured JSON output from an LLM, and re-rendering it into a clean Word document template is entirely buildable with modern web stacks. However, cloning Saply's actual distribution channel—native OfficeJS/Google Docs side-panel taskpanes with zero-latency state synchronization—is notoriously finicky due to webview constraints and Microsoft/Google store approval friction. Furthermore, building and maintaining robust bi-directional sync adapters for enterprise ATS platforms like Bullhorn and Loxo requires dealing with fragmented, poorly documented legacy APIs and strict rate limits.

### What you can't replicate

- Proprietary library of specialized European institutional tender templates (DIGIT-TM III, Europass, EIB)
- Pre-existing trust relationships and signed DPAs with large European enterprise staffing firms
- Certified ISO/IEC 27001 ISMS security posture and EU-resident enterprise cloud guarantees

## What it does

Saply is an AI-powered CV automation, formatting, and management platform built specifically for staffing agencies, consultancies, executive search firms, and EU tender teams.

### Core features

- AI Agent for Word & Google Docs (side panel taskpane)
- Unstructured CV parser (PDF, DOCX, scans) to structured JSON profile
- Template engine mapping structured data into styled corporate/EU templates (Europass, DIGIT TM 3, etc.)
- Gap analysis and job description matching with score breakdown
- Candidate anonymisation and translation engine
- Bi-directional ATS sync (Bullhorn, Carerix, Loxo)
- Inbound candidate job match website widgets

## The business

### Pricing

- Free: €0 — Try Saply on real work
- Pro: €200 / mo — Teams up to 8 recruiters
- Enterprise: Custom — Larger teams and tender work

### Funding

€300,000 raised.
- Seed / Angel Round (May 2025): €300,000
Investors: Start it @KBC, imec.istart, Peter De Buck, Patrick Verrept, Jan Govaerts, Rick Van Esch, Anthony Brenninkmeijer

Founded 2024.
Team size: 1-10.

## The hard parts

- OfficeJS and Google Workspace Add-in constraints for low-latency, state-synchronized side panels inside Word/Docs
- Preserving complex multi-column layouts and typography when re-injecting parsed data into rigid corporate and EU tender DOCX templates
- Maintaining reliable bi-directional webhook and API synchronization with legacy enterprise ATS platforms like Bullhorn and Loxo
- Enforcing strict GDPR data minimization and zero-data-training constraints while routing candidate data through frontier LLM APIs

## How to vibe code Saply.ai

### Prerequisites

- Node.js (free): Required runtime for Next.js web application development and build tooling.
- GitHub (free): Source code repository and CI/CD deployment pipeline integration.
- OpenAI API Account (pay-as-you-go): Provides GPT model access for structured CV parsing, gap analysis, and plain-language editing.

### Recommended AI tools

- Cursor: AI-native code editor ideal for iteratively building React components, Tailwind layouts, and API routes.
- Claude Code: Terminal coding agent capable of executing multi-file scaffolding, database schemas, and complex parsing logic.

### Stack

- Frontend: Next.js with Tailwind CSS and shadcn/ui components
- Backend: Next.js Server Actions and API Routes
- Database: Turso (SQLite at the edge for storing candidate profiles, templates, and job mappings)
- Auth: better-auth (self-hosted TypeScript authentication with email/password)
- Payments: None (personal use clone)
- Other: Vercel AI SDK for structured LLM parsing and streaming edits, docx (npm library) for programmatic generation and manipulation of Word templates, pdf-parse for extracting text streams from unstructured uploads, Resend for transactional notification emails

### Hosting

- Vercel (Hosting the Next.js web application frontend and API routes with zero-config deploys.): $0-20/mo
- Turso (Serverless SQLite database storage for user accounts, parsed candidate profiles, and custom templates.): $0/mo

### Build guide

1. **Project Scaffolding & Database Schema** — Initialize the Next.js application with TypeScript, Tailwind CSS, and Turso database integration using better-auth.

```
Create a new Next.js 16 project with Tailwind CSS, TypeScript, and App Router structure. Configure better-auth with email/password authentication backed by a Turso SQLite database. Set up Drizzle ORM or native libSQL client with tables for users, templates (storing JSON layout definitions), candidate_profiles (storing raw and structured JSON resume fields), and jobs (storing job descriptions and match criteria). Implement an authenticated dashboard layout using shadcn/ui components with a sidebar navigation for CV formatting, templates, and gap analysis.
```

2. **Resume Ingestion & Parsing Engine** — Implement file upload handling for PDF and DOCX documents with automated text extraction and structured JSON normalization using OpenAI.

```
Build a robust document ingestion API route in Next.js that accepts PDF and DOCX uploads up to 8MB. Use 'pdf-parse' and 'mammoth' (for DOCX) to extract raw text strings from uploaded files. Pass the extracted text to the OpenAI API via Vercel AI SDK using structured JSON mode (Zod schema validation) to extract a standardized candidate profile object containing personal info, summary, work experience (with dates, titles, descriptions), education, and technical skills. Save the structured profile to the Turso database linked to the user account. Include error handling for unreadable scans or corrupted files.
```

3. **Template Engine & Document Re-injection** — Build a document formatting engine that injects structured candidate data into styled Word templates (.docx).

```
Create a CV template management system where users can upload or define styled DOCX template files containing placeholder tags (e.g. {{candidate.name}}, {{experience.title}}). Implement a document generation service using the 'docx' npm library that takes a structured candidate profile JSON object and a selected template definition, merges the data into the template layout, and outputs a freshly styled downloadable .docx file or PDF. Ensure formatting rules preserve typography, margins, and section headings cleanly.
```

4. **Job Matching & Gap Analysis Engine** — Implement AI-driven candidate scoring, strength extraction, and risk area gap analysis against target job descriptions.

```
Implement a job description matching view and backend action. Users can paste a job description or select a target role (such as an EU tender requirement like DIGIT-TM III). Send the structured candidate profile and job description to OpenAI using Vercel AI SDK to compute a match score (0-100%), extract explicit strengths, identify critical risk areas or missing skills (e.g. lack of specific certifications or years of experience), and generate tailored bullet points. Render these insights in a clean dashboard component with visual score badges and collapsible risk sections.
```

5. **Plain-Language AI Editor & Anonymisation** — Build an interactive AI editing chat interface for modifying CV sections and stripping PII for anonymisation.

```
Build an interactive chat and prompt assistant side panel component for the web platform. Allow users to type plain-language instructions (e.g., 'Make the intro more focused on cloud experience', 'Translate work history to French', or 'Anonymise personal details while keeping company names'). Implement backend API routes that process these instructions against the candidate's structured JSON profile using an LLM, update the profile fields dynamically, and regenerate the preview and downloadable document instantly.
```

6. **Polish, Testing & Final Verification** — Perform end-to-end testing of the CV upload, parse, format, and match loop, fixing edge cases and polishing UI states.

```
Review the entire Next.js application workflow from file upload to final document download. Add comprehensive loading skeletons, toast notifications for successful operations, drag-and-drop file upload zones, and responsive mobile-friendly adjustments across all dashboard pages. Verify that API error states, token limits, and database queries are fully robust and error-free.
```

### Cost vs paying

**Starting costs (one-time):**

- Domain name registration: $12 one-time
- OpenAI API starting credits: $10 one-time
- Total: ~$22 one-time

**Ongoing costs (monthly):**

- Vercel Hobby/Pro hosting: $0-20/mo
- OpenAI API usage (parsing & editing): ~$10/mo
- Total: ~$15-30/mo

- Paying for the SaaS instead: €200 / mo (Pro Plan)
- Build time: 40-50 hours
- AI tool credits: $20/mo (Cursor Pro)
- Break-even: 1 month vs Pro plan

## Sources

- [Saply.ai Official Website & Home Page](https://saply.ai)
- [Saply.ai Pricing Page](https://saply.ai/pricing)
- [Saply.ai About Us Page](https://saply.ai/about)
- [Saply.ai Trust & Security Center](https://saply.ai/security)
- [ITdaily - Saply.ai haalt 300.000 euro op](https://www.itdaily.be)