// case study
konsulskripsi.com Website
A static Next.js site for a thesis-coaching service, with a form that becomes a pre-filled WhatsApp message, funnel analytics, and rendered video ads.
- year
- 2026
- type
- Web app
- stack
- Next.js

Built the website for konsulskripsi.com, a friend’s thesis-coaching service for Indonesian undergraduates. The service guides students through their thesis while they do the writing themselves, so the site’s copy and flow are built around that promise. The site has no backend: every lead ends up as a WhatsApp conversation with the coach.
Technical Implementation:
- Built a one-page site with Next.js 16 as a static export, React 19, TypeScript, and Tailwind CSS 4, hosted on Cloudflare Pages
- Sections for pain points, how it works, packages, the integrity promise, testimonials, FAQ, and a free consultation form
- Built the consultation form with react-hook-form and Zod: a tested function cleans the student’s answers (university, major, semester, progress, and problem) and turns them into a pre-filled WhatsApp message
- Added a copy check that fails if banned phrases about ghostwriting slip into the site
- Instrumented the funnel in GA4 (section views, CTA clicks, form start, error, and submit, and WhatsApp clicks) and mapped the key steps to Meta Pixel events for ad optimization
- Rendered 24-second Meta video ads in 9:16 and 4:5: an HTML animation that can draw any frame on demand is captured frame by frame with headless Chrome and encoded with ffmpeg, with a script that audits the layout of each frame
- 110 Vitest tests across the form logic, message builder, and content rules

Tech Stack:
- Next.js 16 (static export), React 19, TypeScript, Tailwind CSS 4
- react-hook-form, Zod, Vitest
- Cloudflare Pages, Google Analytics 4, Meta Pixel
- Headless Chrome and ffmpeg for video ads
The site is live at konsulskripsi.com.