← All work

CASE STUDY / 002 / INDEPENDENT PROJECT

JVServices.

An evolving Next.js application: originally built as a development studio, now transitioning into a Developer Lab with projects, software and practical tools.

Visit the live site
PROJECTIndependent Developer Lab platform
STACKNext.js / TypeScript / PostgreSQL
DELIVERYGitHub / Coolify / Cloudflare
STATUSLive; ongoing improvements

WHY IT EXISTS

One site, two distinct jobs.

The public website needs to explain real work clearly and make it easy to start a conversation. Behind it, a private Studio handles the practical tasks: enquiries, publishing and availability.

Building both sides means considering UI, forms, access control, persistence, spam prevention, production networking and maintainability together.

THE APPLICATION / HOW IT FITS TOGETHER

From visitor to Studio.

This is a system overview, not a screenshot or a claim about user volume.

  1. 01 /

    Public website

    Portfolio, services, projects, contact journey and accessible light/dark layouts.

  2. 02 /

    Validated submissions

    Turnstile challenge, origin checks, server-side field validation and abuse controls.

  3. 03 /

    PostgreSQL

    Persistent enquiries, project entries, journal posts and site settings.

  4. 04 /

    Private Studio

    Authenticated enquiry triage, content publishing and availability controls.

ENGINEERING NOTES

The parts that needed care.

01 / SUBMISSION DURABILITY

Store the enquiry before sending email.

The contact flow persists valid enquiries to PostgreSQL first. Email notifications are an optional later step; a delivery problem should not lose the original client brief.

02 / REVERSE-PROXY BEHAVIOUR

Public HTTPS is not the same as the internal request URL.

An initial production submission returned HTTP 403 because origin verification compared the browser's HTTPS address against an internal HTTP URL. The validation now uses the configured public site origin while retaining the security check.

03 / EDITORIAL CONTROL

Keep content management private.

Studio pages require authentication. The site publishes only marked projects and articles, with draft content kept out of the public route. Sensitive configuration remains on the server.

WHAT THIS DEMONSTRATES

Product work doesn't stop at the interface.

The live website demonstrates frontend design, a working backend and the process of diagnosing problems after deployment. It continues to be refined as the studio develops.