Case study · Education & writing
PlagCheck AI
Pay-as-you-go AI content detection.
- SaaS web app
- Education & writing
- Web app · Stripe Checkout
- PHP · MySQL · Pangram API · Stripe
01 · Project overview
What was built, and for whom.
PlagCheck AI is an AI-content detection service CodeWave built for a client. A user pastes text or uploads a document and receives three scores: AI-written, AI-assisted and human-written, powered by the Pangram API. Checks are paid for from a credit wallet priced per word and topped up through Stripe Checkout, and every check is kept in the user's history with a detailed report.
- PlagCheck AI, a self-serve AI-content detection service
- Selected project
- Web app, Stripe Checkout
- saas payments web
02 · Business challenge
The problem, as the business experienced it.
People checking whether writing was produced by AI need a fast, trustworthy result and a fair way to pay for only what they check.
The product depends on an external detection API and on card payments. Both are asynchronous and both can fail, so the app has to keep a user's balance correct whatever happens.
- Text must be extracted cleanly from PDFs, Word documents and plain text
- Long API calls must not drop the database connection
- A failed check must never cost the user credits
- Card payments must credit the wallet once, and only once
03 · Our approach
How we got from the problem to the system.
CodeWave built a PHP web app that extracts text from pasted content or documents, scores it through the Pangram API, and charges a prepaid credit wallet topped up with Stripe.
-
01
Handle the input
Paste or upload .txt, .pdf, .doc and .docx files up to 5 MB, with text extracted and sanitised before it reaches the database or the API.
-
02
Integrate detection
Called the Pangram API with timeouts and clear error handling, releasing the database connection during the call and storing the scores and report link afterwards.
-
03
Protect the balance
Credits are debited with a guarded update before the check and refunded automatically if detection fails, with every movement in a wallet ledger.
-
04
Take payment
Stripe Checkout tops up the wallet, confirmed by a signed webhook that ignores events it has already processed.
04 · Solution architecture
Layers of the system.
Clients at the top, the core application in the middle, integrations and data underneath. Green marks the integration layer where the system meets the outside world.
Users
- Web app
- Dashboard & history
Application
- Text extraction
- Detection checks
- Reports
- Credit wallet & ledger
Integrations
- Pangram API
- Stripe Checkout
- Stripe webhooks
Data
- MySQL
05 · Key features
What the system does.
Paste or upload
Plain text, PDF and Word documents, from 20 to 50,000 words.
Three-way scoring
AI-written, AI-assisted and human-written percentages with a headline verdict.
Credit wallet
Priced per word, with the balance checked before a check runs.
Automatic refunds
Credits return to the wallet if a check fails.
Stripe top-ups
Card payments through Stripe Checkout with signed webhooks.
History & dashboard
Past checks, average scores and words checked in one place.
06 · Technology
The stack behind it.
Chosen for the job — mature, supportable and straightforward to host and staff for in Kenya.
- PHP REST API integration
- MySQL
- Pangram API Stripe Checkout Stripe webhooks
- Tailwind CSS JavaScript
07 · Business impact
What changed for the business.
Outcomes are described qualitatively. Figures are published only when verified by the client and approved for release.
-
01
Users pay only for the words they check
-
02
Failed checks are refunded without anyone stepping in
-
03
Card top-ups credit the wallet once, even if Stripe retries
-
04
Every check is kept in the user's history with its full report
08 · Screens
Inside the system.
Screens from the delivered system.
Similar problem?
Have a process that looks like this one?
Tell us how it runs today. We will tell you what a system built for your operation would involve.
