WORK / SKRYVE

Skryve

An AI career platform that gets people hired — CV building, ATS scoring, and mass applications, powered end to end by LLMs.

ROLE — FOUNDER & SOLE ENGINEERYEAR — 2025STATUS — LIVEVISIT LIVE VIEW CODE
Skryve — An AI career platform that gets people hired — CV building, ATS scoring, and mass applications, powered end to end by LLMs.
THE PROBLEM

Why it needed to exist.

Job seekers lose to software before a human ever reads their CV. Applicant tracking systems silently reject qualified people over formatting and missing keywords, and the standard advice — "tailor every application" — is impossibly slow to do by hand across dozens of roles. I built SkryveAI to collapse that entire funnel: understand what a role wants, rewrite the CV to match it, prove it will pass the filter, and fire off applications at scale — without the user needing to know how any of it works.

THE ARCHITECTURE

How it’s built.

SkryveAI is a single-page React and TypeScript application backed entirely by Supabase — Postgres for data, Auth for accounts, Storage for uploaded documents, and Edge Functions as the secure boundary between the client and the language models.

Every AI feature runs through its own edge function rather than the browser, so model keys and prompt logic never touch the client. Each function wraps a tightly constrained prompt that forces the model to return structured JSON — an ATS score with a category breakdown, a list of missing keywords, a rewritten CV section — which the frontend parses and renders as UI instead of dumping raw model text at the user. That single decision, treating the LLM as a structured-data engine rather than a chat box, is what makes the product feel like software instead of a wrapper.

Data isolation is enforced at the database layer with Row-Level Security, so a user can only ever read and write their own CVs, applications, and results — the access rules live in Postgres, not in application code that can be bypassed. The whole product runs on a freemium model where the access tier is checked server-side before any paid action executes, so limits can't be spoofed from the client.

THE BUILD

The hard parts.

Making an LLM return reliable structure. Models drift, add preamble, or wrap output in markdown. I constrained each prompt to emit strict JSON only, then parsed defensively — stripping fences, validating shape, and falling back gracefully — so a single malformed response never breaks the interface. ATS scoring that's actually useful. Rather than one vague number, the scorer breaks a CV into formatting, keywords, experience, education, and skills, returns a grade plus the specific keywords a target job is missing, and links straight into the CV optimizer to fix them. Diagnosis and cure in one flow. The mass-apply engine. The hardest piece: tailor a CV, generate a cover letter, and dispatch to many employers in one action. I built it as queued, resumable jobs so long runs complete reliably and a failure on one application never sinks the batch. Secure by construction. Keys, prompts, and tier checks all live inside edge functions and RLS policies, never the client — so the product is safe to open publicly without exposing its logic or letting anyone escalate their own access. One document model, many outputs. A CV, an ATS report, and a LinkedIn optimization all draw from the same underlying profile data, so the user enters their information once and every tool reuses it.

THE OUTCOME

What shipped.

SkryveAI is live and in active use at skryveai.com, with a working free tier — CV builder, ATS checker, LinkedIn optimizer, and job search — feeding into paid automation. Since launch, it has served 500+ users and processed 2000+ CVs and ATS scans. I designed, built, and shipped the entire platform solo: frontend, backend, database, security, AI layer, and deployment. It's the clearest proof of how I work — take a messy real-world problem, turn it into structured systems, and ship a product people actually use.

STACK
React · TypeScript · Tailwind CSS · Supabase · PostgreSQL · Row-Level Security · Edge Functions · LLM APIs · Prompt Engineering · Vercel

Want something like this?

Hire me