skip to content
kursataknc

fullstack

API + UI cohesion · shipped product work · end-to-end ownership

thesis

Fullstack development is a discipline of cohesion: typed content, server-rendered structure, client interaction, and tests must land in the same commit chain. A feature is complete only when the UI consumes it as a first-class consumer, types catch shape errors at build time, and the infrastructure supports it end-to-end. That constraint is what keeps a codebase navigable as it grows.

core principles

Atomic Feature Chains. One commit series per feature. Logic, interface, and tests are never treated as separate concerns or follow-up work.

Typed Cohesion. Shared Zod schemas between the API/content layer and the UI eliminate loose strings across the codebase. The interface directly verifies the guarantees the backend exposes — not by convention, but by compiler enforcement.

SSR by Default. Server Components take priority to keep the client surface lean. Data is pulled directly from typed sources rather than client-side fetches that duplicate what the server already knows.

a feature you can walk through

The CV download chain on this site is a complete, small shipping slice — every layer is public.

Typed Source. lib/cv.ts defines role-specific metadata (titles, tags, paths) over a strict role union type. There is no loose string anywhere in the chain.

Terminal Handler. The cv command in components/terminal/commands.ts validates arguments through Zod before triggering a download. Invalid roles surface an error line; no download fires.

SSR Grid. app/cv/page.tsx maps over typed role records and renders a fully server-rendered grid — zero client state, no fetch.

Predictable Delivery. Files are served from paths explicitly declared in the type system. The sync between code and filesystem is guaranteed at build time, not discovered at runtime.

technical stack

Frameworks: Next.js (App Router), React, Node.js.

Language & Validation: TypeScript (static analysis), Zod (boundary protection).

Testing: Vitest, happy-dom, Testing Library — hard TDD for pure logic, verification-based for integration paths.

Styling & Deployment: Tailwind v4, Docker (multi-stage), Caddy (auto-SSL, reverse proxy).

where this goes

The admin/editor boundary and the reusable role-page template described on the backend page are the next fullstack milestones — both are direct extensions of the same typed, server-rendered pattern this page demonstrates. The architecture of this site is the working prototype.