An AI-powered SaaS writing platform built from scratch — enabling users to generate, humanize, and analyze content with 10+ specialized tools.
WritexNova is a full-stack AI writing SaaS platform that helps students, professionals, and content creators write undetectable AI content — built entirely by a single developer in under 6 weeks.
Build a production-ready, monetizable AI writing platform with authentication, tiered subscriptions, payment processing, admin controls, and 10+ specialized AI tools — all from scratch.
University students needing undetectable essays, freelance writers wanting to speed up workflows, and professionals who need AI-assisted content that passes any detector.
Freemium SaaS with 4 subscription tiers (Free → Basic → Pro → Premium), monthly/yearly billing cycles, promo codes, referral rewards, and ad-based usage boosts.
Unlike competitors, WritexNova combines generation + humanization + detection in one platform, with GPT-4o on Pro/Premium plans giving industry-leading undetectability scores.
Students and writers were caught between needing AI assistance and avoiding AI detection — with no single platform offering a complete solution.
AI detectors like Turnitin, GPTZero, and Copyleaks are embedded in every academic institution. Yet students and professionals need the speed of AI. Existing tools either detect or humanize — never both.
WritexNova chains AI Generation → Humanization → Detection into a single seamless workflow, with plan-gated model access ensuring Pro users get GPT-4o quality at a fraction of raw API cost.
Every technology was chosen for reliability, scalability, and developer speed — enabling a full-stack product to be shipped solo in weeks.
Every feature was designed and built from scratch — from the auth system to the referral engine to the admin dashboard.
Each plan was designed around a clear user persona — from casual students to power writers needing unlimited access.
A clean separation between frontend, backend, and external services — with every piece communicating through authenticated REST APIs.
Every real project has hard bugs. Here are the most significant technical challenges encountered and how they were resolved.
LemonSqueezy webhooks were failing with {"error":"Webhook error"} causing all subscription activations to break silently.
express.json() was registered before express.raw(), pre-parsing the webhook body so HMAC signature verification always failed. Fixed by reordering middleware — raw before json.
Plan middleware was incorrectly blocking Basic plan users from Humanizer and other features they were entitled to.
Usage counter was checking wordLimit in Firestore but the field was named wordBudget. Normalized field names across User.js and plan middleware, restoring correct access.
Render deploy crashed with TypeError: Router.use() requires a middleware function but got a Object — crashing the entire server.
user.js had module.exports = router on line 156 AND line 288. The first export cut the file in half, returning an incomplete object. Removing the duplicate fixed the crash.
Default temperature 0.7 produced predictable, AI-patterned text even with humanization attempts, consistently failing detectors.
Rewrote humanizer system prompt with explicit rules: kill AI phrases, vary sentence length, force contractions, add human openers. Raised temperature to 0.92. Result: 15–25% on GPT-4o-mini, ~5–10% on GPT-4o.
A complete, production-ready, monetizable SaaS platform — built solo in under 6 weeks.
Generator, Humanizer, Detector, Paraphraser, Grammar, Summarizer, Translator, Citation, ChatPDF, Rewriter — all connected to plan-gated model access.
Free, Basic ($4.99), Pro ($9.99), Premium ($24.99) — with Stripe checkout, webhook processing, promo codes, and referral system fully functional.
With GPT-4o on Pro/Premium + the custom humanizer prompt, users consistently achieve 5–15% AI detection scores on GPTZero and similar tools.
Shipping a real SaaS alone is a different game than tutorial projects. These are the most important things this build taught me about engineering and product thinking.
The Stripe webhook bug — express.json() before express.raw() — taught me that Express middleware execution order is critical and silently destructive when wrong. Always put raw body parsers before JSON parsers.
The wordLimit/wordBudget mismatch showed me that inconsistent field naming across schema, middleware, and frontend causes bugs that are hard to trace. Define a schema contract and stick to it.
Getting humanized output below 25% AI score required iterating on the system prompt like debugging code — testing hypotheses, measuring outputs, refining rules. It's a real technical skill, not a trick.
The entire platform was built and deployed in under 6 weeks by focusing on working features over perfect code. Real user feedback is more valuable than hypothetical optimizations.