/
KST
We are a web studio turning abrand's philosophy into immersivedigital experiences. We care asmuch about the process.
Email:info@alephstudio.art
Non-profit Music Association — Brand Website & Admin CMS

VIOLTOWN

VIOLTOWN

DESCRIPTION

Non-profit Music Association — Brand Website & Admin CMS

DURATION

Aug 2026 — Sep 2026

MY ROLE

  • Information architecture and UI/UX design — main page restructure, header and favicon concepts, design intent document.
  • Responsive Next.js frontend — intro, the three-part hover and scroll interactions.
  • Supabase schema, migrations and RLS design; six-area admin CMS; account management scripts.
  • Booking and story forms with a five-state intake pipeline.
  • Vercel deployment, domain and SSL, cross-browser verification, admin manual handover.

TECH

Frontend

Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4

Creative

GSAP · Lenis · CSS-only intro sequence

Backend

Supabase (Postgres, Auth, RLS, Storage) · Server Actions · Path revalidation

Ops

Vercel · IBM Plex Sans KR · Cross-browser verification in production

Project Purpose

"Wherever music is needed is our stage." VIOLTOWN is a non-profit association that performs, teaches and runs a patronage programme at the same time, so concert news, programmes, values and seventeen members all have to explain each other on one surface. The previous site could not be recovered, so everything here is new. Gutters were closed to 6px until the performance photography sits against itself and reads like a printed page; the name rises one letter at a time over a dark concert frame before the screen splits open. Behind it sits an admin CMS covering six areas, so the staff post concerts, members and news without a developer — and permission is one Postgres RLS layer rather than a second check in the server actions, because two places to change is one place to forget.

Background & Challenge

VIOLTOWN is a registered non-profit association whose slogan reads "wherever music is needed is our stage". It is a performing ensemble, but it also runs education programmes and a patronage structure, which means a visitor arrives for one of three unrelated reasons — to book a concert, to join a programme, or to support the organisation. The existing site could not be recovered — no source, no export — so this was a full rebuild rather than a redesign. Two things were fixed at the start. The performance photography had to be the subject, not decoration around text. And the staff had to be able to post concerts, members and news themselves; a non-profit that has to email a developer to correct one line of a programme description will stop updating the site within a season.

Scope

  • · Information Architecture & UI/UX Design
  • · Responsive Next.js Frontend — Intro, Hover Triad, Scroll
  • · Supabase Schema, Migrations & RLS Design
  • · Admin CMS — Members · Concerts · News · Notices · FAQ · Video
  • · Booking & Story Forms With a 5-state Intake Pipeline
  • · Deployment, Domain & SSL, Cross-browser Verification

Key Technical Features

An Admin the Staff Actually Run

  • · Members, concerts, news, notices, FAQ and the YouTube address are all in the database, with registration, editing, ordering and visibility controlled from the admin. Nobody has to be contacted to fix one line of copy.
  • · Saving revalidates the matching public paths through a route table, so a correction is live immediately instead of waiting for a deploy.

Permission in One Layer

  • · Authorisation is a Postgres Row Level Security policy rather than a re-check inside each server action. Two copies of permission logic means the day one of them is edited alone becomes an incident.
  • · The admin sits on a non-obvious path instead of /admin, and is kept out of search with per-page noindex rather than a robots.txt line that would publish the path it hides.
  • · Login accepts an admin ID, not an email address; the conversion happens internally. There is no reason to make a staff member memorise a mailbox to edit a concert listing.

Intro and Scroll

  • · Over a dark performance photograph, VIOLTOWN rises one letter at a time and the screen splits top and bottom to reveal the page. It is CSS only, plays once per session and can be dismissed with a click.
  • · Lenis gives the scroll weight, and is locked for the duration of the intro so the reveal cannot be scrolled past halfway through.

Hover as Three Things at Once

  • · Image scale, a violet dot at the centre of the image, and a label that types itself out one character at a time following the cursor — the three move as a single unit.
  • · Bound together, hover reads as one gesture. Run separately they would read as three effects competing on the same element.

Static Public, Dynamic Admin

  • · Public pages are read through a client that never touches cookies, which keeps the static cache intact; only the admin renders dynamically.
  • · Cross-browser verification (Chrome · Safari · Firefox × desktop/tablet/mobile) and form submission were re-tested in production, not only in preview.

A Five-state Intake Pipeline

  • · Booking and story submissions move through new · in review · held · complete · declined, with anonymous insert plus a bot trap on the public side.
  • · The intake list paginates at 15, supports checkbox multi-select for bulk delete and bulk state change, and filters by date range, type and state — because an inbox nobody can triage is a form that nobody answers.

Design Points

Four Colours

White, black, paper (#dcd9d2) and brand violet (#5D1A84) — the violet extracted from the VIOLTOWN logo rather than chosen. On dark planes it switches automatically to a lighter violet so the accent survives its own background.

6px Gutters

The images sit almost against each other, and that mosaic is half the impression the layout makes. Closing the gutter is what makes photography read like a printed page instead of a gallery of cards.

The Header Follows the Plane Beneath It

The first screen is a dark photograph, so the header's text colour tracks the brightness behind it. Fixed white would erase the logo on every light subpage — which is exactly what happens on most sites with a photographic hero.

A Footer Signature

The slogan is laid across the full width as a single line, the first clause in outline and the second in solid violet. The size is measured rather than guessed, so it lands exactly at any resolution.

Real Copy, Real Photography

No lorem ipsum and no stock: only confirmed copy and the client's own shoot. Seventeen members, three programme names and the history all arrived as final text, which is why the layout could be tuned to real line lengths.

Outcome

Scope
Full site (main · about · programmes · values · concerts · stories · booking · notice) + admin CMS
Duration
About five weeks from receipt of materials
Admin CMS
6 areas — members · concerts · news · notices · FAQ · video, with intake pipeline
Content
17 members, 3 programmes, real copy and real photography only — no dummy text or stock

The association now runs its own content. Members, concerts, news, notices, FAQ and the video address are all in the database and editable from an admin page, and saving revalidates the matching public paths so an edit is live immediately rather than on the next deploy. Permission is enforced by one Postgres RLS layer instead of being re-checked in the server actions, which is the difference between one place to change and two places to keep in sync.

Gallery

Click to enlarge

FAQ

How is a 3D interactive website different from a regular one?

It runs Three.js and WebGL in the browser, so objects move and respond to the cursor and scroll. A regular site organises information; an interactive one delivers the brand as an experience. It pays off most in fashion, beauty, architecture and exhibitions.

How long does a website take to build?

Seven days for a landing page, fifteen for a five-page company site, thirty for a ten-page 3D interactive build. The clock starts when your material arrives and shifts with design feedback. If a date is fixed, say so at the first call and feasibility is checked first.

Are hosting, domain and server costs separate?

SSL certificate, hosting setup and database provisioning are included at no cost. You only pay for the domain, about ₩20,000–30,000 a year. Accounts are created in your name from the start, so nothing lapses when staff change.

Can I edit the content myself after launch?

An admin page is built alongside the site, so text, images and posts can be edited without development knowledge, and a manual is handed over at delivery. Only structural changes or new features need development.

Next Project

STUDIO BLANKET

AI Wedding Prompt Archive — Brand Site & CMS

→

Keep scrolling