Skip to content
Demo Project

A concept build of the KONTROVERSIONAL website — not the agency's official site.

About this build

KONTROVERSIONAL Website Rebuild

What this is

A demonstration rebuild of the site for KONTROVERSIONAL, a Jakarta digital agency running viral campaigns and a managed roster of TikTok creators. The existing site speaks to brands only. This rebuild serves two audiences at once — brand clients and prospective talents — and carries the agency's TikTok visual identity onto the web.

Every talent, client and testimonial shown here is placeholder or reference content. Nothing on this build should be read as a live commercial claim.

Two audiences, one voice

The site forks early — a homepage split plus audience-labelled nav — so brands reach services, case studies and proof in one click, while creators reach the roster, the value proposition and the application flow just as fast. The cross-sell sits on the talent profile pages, where a “book this talent” CTA hands creator traffic back to the brand funnel.

Design direction

Black, white and a single red accent — no fourth colour, no gradients. Oversized display type does the work of decoration, photography runs full-bleed, and the agency's signature “Kontroversial Take:” callout recurs across the site as a reusable component. Motion stays fast and snappy — closer to a zine than a corporate agency site.

How it is built

  • Next.js 15 (App Router, output: export)
  • TypeScript + Zod-validated content
  • Tailwind CSS, palette locked to 3 colours
  • Content as JSON in-repo — no CMS, no backend
  • Static hosting, forms via a static form service

Timeline — 4 weeks

  1. Week 1

    Foundation & Design System

    Next.js static export, closed black/white/red palette, fluid display type scale, and the signature components: Logo, TwoToneHeadline, TakeCallout, MarqueeTicker, StatBadge.

  2. Week 2

    Content Layer & Talent Pages

    Typed JSON content schema with build-time validation, the 10-talent launch roster, filterable roster grid, and the editorial talent profile layout with TikTok embeds.

  3. Week 3

    Brand-Facing Pages

    Home audience fork, /brands services and case studies, client logos, testimonials, /work, /about, and /contact with branched inquiry routing plus the WhatsApp fallback.

  4. Week 4

    Polish & Launch

    Responsive image pipeline, SEO metadata and per-page OG images, sitemap, contrast and accessibility pass, performance budget, static deploy.

Contact

Questions about this build, the scope or the timeline:

croissantsmoon@gmail.com

Two documents, each in Bahasa Indonesia or English. Pick a language — it opens in a new tab and prints straight to PDF.

  • Project PDF

    Background, scope, architecture, 4-week timeline.

  • Design PDF

    Palette, type scale, layout patterns, a screenshot of every screen.

Website Rebuild KONTROVERSIONAL

Project document — the full explanation of this demo build.

Read in Bahasa Indonesia

Version
1.0
Status
Demo / concept
Duration
4 weeks
Contact
croissantsmoon@gmail.com

01

Executive Summary

KONTROVERSIONAL is a Jakarta digital agency founded in 2024, active on TikTok both as a brand account and through a managed roster of creators. The site running today speaks to one audience only: brands. This project rebuilds it to serve two audiences at once — brand clients and prospective talents — while carrying the agency’s TikTok visual identity onto the web without softening it.

The result is a static site with no CMS and no backend: all content lives as structured files inside the repository, so a content update is a content change, not a redesign.

Note: this build is a demonstration. Every talent, client and testimonial shown is placeholder or reference content, not a live commercial claim.

02

Background & Problem

The old site is a single marketing page with one route out: WhatsApp. It works for brands, but it has no place for creators who want to join, and it never presents the talent roster as an asset that can be sold to brands. Those two needs reinforce each other — a strong-looking roster raises credibility with brands, and a convincing client list attracts new talent.

03

Goals & Success Metrics

GoalMetric
Generate qualified brand inquiriesWhatsApp/contact clicks from the site, inquiry-to-call rate
Attract and convert talent applicationsApplications received, share of qualified applications
Build credibility with a distinctive visual identityTime on site, scroll depth, bounce rate vs. the current site
Make the roster a sellable asset to brandsClicks from talent profiles through to the brand contact CTA

04

Audiences

  1. Brands & marketerslooking for viral content execution, influencer collaborations or personal branding. Their intent is to judge credibility, then start a conversation.
  2. Creators & prospective talentsTikTok/Instagram creators weighing whether to join. They want to see who else is signed, what the agency offers and how to apply.
  3. Press & partners (secondary)assessing the agency’s positioning and image.

The fork happens early, through large homepage panels and navigation labelled by audience rather than by feature. The crossing point is the talent profile page: a “book this talent” CTA hands creator traffic back to the brand funnel.

05

Design Direction

The visual system is taken straight from the agency’s TikTok output: black, white and a single red accent. No fourth colour, no gradients, no pastels. Oversized display type is the primary graphic element — not merely a label — and photography runs full-bleed with a cutout treatment.

  • PaletteThree colours on screen at most: black, white, accent red.
  • TypographyHeavy grotesque for headlines, clean sans for body. One word inside a headline turns red for emphasis.
  • Signature module“Kontroversial Take:” — a red label followed by one opinionated line, recurring across the site.
  • MotionFast, short scroll reveals plus a marquee ticker. Not cinematic parallax.
  • Two registersTalent pages read as fashion editorial; agency culture content is allowed to feel rougher and meme-adjacent.

06

Site Structure

PageContents
HomeHero, stats bar, audience fork, services snapshot, featured talents strip, client logos, testimonials, CTA
/brandsFive services in detail, case studies, client logos, testimonials, CTA
/talentsRoster grid, niche filter, “why join us”, application CTA
/talents/[slug]Portrait, name wordmark, bio, niche tags, social stats, TikTok embeds, booking CTA
/aboutFounding story, four “why us” pillars, Kontroversial Take module
/workPortfolio and case study index for brand visitors
/contactWhatsApp, branched brand vs. creator form, email and Jakarta location

07

Technical Architecture

Every technical decision follows one constraint: no CMS, no backend, content managed as code. The site is fully static and can be hosted on any CDN with no server bill.

LayerChoice
FrameworkNext.js (App Router, output: export) — every page rendered at build time, no server
LanguageTypeScript — the content schema is enforced at compile time
StylingTailwind CSS with a closed palette and a custom type scale
ContentJSON files in the repo — no CMS, a content update is one pull request
FormsA static form service (Formspree/Web3Forms), with WhatsApp as the primary route
ImagesPre-optimised with Sharp, lazy-loaded, responsive srcset
HostingAny static host — Vercel, Netlify or Cloudflare Pages

The consequence that matters: a malformed talent file fails the build rather than shipping as a broken page. Validation happens once at the content boundary, so the rest of the code never has to check for missing data.

08

Timeline — 4 Weeks

Four weeks, four phases. Each week ends with something that can be opened and judged, not just internal progress.

  1. Week 1

    Foundation & Design System

    Set up the technical frame and the visual language before any page is built.

    • Next.js with static export, TypeScript and Tailwind CSS.
    • Lock the palette to black, white and one accent red — anything outside it fails at compile time, not merely at review.
    • A fluid type scale (clamp) for the oversized headlines DESIGN.md §3 calls for.
    • Core components: Logo, TwoToneHeadline, TakeCallout, MarqueeTicker, StatBadge, SectionBreakBlack.

    Output A reusable design system and a deployed, empty shell.

  2. Week 2

    Content Layer & Talent Pages

    Content as code: each talent is one JSON file, validated at build time.

    • Content schema (JSON + Zod) for talents, clients, testimonials and case studies — bad data fails the build instead of reaching production.
    • Ten launch talent profiles with “meet our trover” bios, niche tags and TikTok/Instagram stats.
    • The /talents roster page with niche filtering.
    • The /talents/[slug] profile layout: editorial portrait, name wordmark, stats block, TikTok embeds and a “book this talent” CTA.

    Output The whole creator-facing path is finished and testable.

  3. Week 3

    Brand-Facing Pages

    Complete the commercial side and join the two audiences into one flow.

    • Home: hero, stats bar, tagline marquee and the brand vs. talent audience fork.
    • /brands: five detailed services, case studies (problem → approach → result → metrics), client logos, testimonials.
    • /work, then /about with the four “Not for Everyone” pillars and the Kontroversial Take module.
    • /contact: a branched form (“I’m a brand” / “I’m a creator”) through a static form service, with the WhatsApp deep link as the primary fallback.

    Output The full sitemap is live and interlinked.

  4. Week 4

    Polish & Launch

    Turn a complete site into a production-ready one.

    • Responsive image pipeline (Sharp) — talent portraits are large, so srcset is prepared at build time.
    • SEO: meta tags, per-page OG images (talent profiles get shared directly), sitemap.xml.
    • Accessibility pass: contrast, display type legibility on small screens, keyboard focus, prefers-reduced-motion.
    • Performance testing on mobile networks, then a static deploy to Vercel/Netlify/Cloudflare Pages.

    Output A live site, with basic analytics measuring the goals in Section 03.

09

Out of Scope (v1)

  • A CMS or admin panel for non-technical editors — content stays code-managed, per the stakeholder decision.
  • E-commerce or payments.
  • A login or dashboard for talents to manage their own profiles.
  • Automatic multi-language switching.

10

Open Questions

These need a decision from the agency before a real launch:

  1. Canonical domain: kontroversional.com or kontraversional.com?
  2. Are result metrics available for the client logos shown, or do they stay logo-only until case studies are written?
  3. Are those ten talents the full current roster?
  4. Are there testimonials beyond the three currently live?
  5. Do talent applications go straight to WhatsApp, or through a structured form?
  6. Should the site be Indonesian, English or bilingual?

11

Contact

Questions about this build, the scope or the timeline:

croissantsmoon@gmail.com

Save this document as a PDF from your browser’s print dialog.