Client project · Music & entertainment
TNEK Jazz Press Kit & Booking Site
Rebuilt a jazz bassist's Wix site as a one-page press kit for venue bookers: the home page loads 73% less data, and its accessibility score rose from 84 to 100.
- Client
- Kent Miller & The TNEK Jazz Quartet
- Industry
- Music & entertainment
- Timeline
- 5 days
- Year
- 2026
- Platforms
- Web

Results at a glance
The challenge
- The old Wix site drew its content in the browser, 3 of its outside links were dead or led nowhere useful, and 8 of its 17 photos were too small to show large. Everything worth keeping had to be recovered, checked and credited before the new site could replace it.
- The site had to honor a brand guide the client already had, but half the brand colors fail accessibility contrast on each background, the logo is unreadable on dark surfaces, and the logo file weighed 209 KB because it embedded 3 raster images.
- Booking inquiries had to reach the artist reliably without a database or a paid email service. The obvious approach, posting to a Google Form, reports success even when Google has rejected the submission, and a spam check that quietly switches itself off when its key is missing lets every bot through with nothing looking wrong.
- A press kit gets forwarded and printed, not just scrolled. A dark design prints as a wall of ink, embedded videos print as blank boxes, and lazy-loaded images can print empty.
- The artist was still supplying photo credits, bio approvals and a font license while the site was being built. The site needed to deploy and be reviewed before all of that arrived, without any sample data or unfinished text reaching the public.
- 4 albums with streaming players, live videos and a photo gallery on one page could easily make it slow on a phone.
About the project
Designed and built an electronic press kit (EPK) for jazz bassist Kent Miller and The TNEK Jazz Quartet, to replace a general-purpose Wix site. The home page gives a venue booker everything in one scroll: the players, 4 albums with streaming players, live video, press quotes, and a booking form built to deliver each inquiry to the artist's inbox. A media page holds all 18 photos, 10 videos and 4 albums. The site also prints as a press kit on paper, shares through a QR code, and maps every URL in the old site's sitemaps to its new home. It is built on the artist's existing brand guide, and its content lives in typed files, with no CMS or database to maintain.
What we delivered
Scope
- Electronic press kit
- Booking form
- Print-ready PDF layout
- QR code sharing
- Wix migration & redirects
- Brand-guide implementation
- Accessibility & SEO
What it does
One page a booker can scan
Hero, About (a tab per player), Music (a tab per album, with streaming players), Videos, Photos, Press quotes and a booking form. A second page holds all 18 photos, 10 videos and 4 albums.
Booking inquiries straight to the artist
The form is built to land each inquiry in a Google Sheet and in the artist's inbox. If sending fails for any reason, the visitor sees an error with the artist's email address, never a false "thanks, we got it".
Share it in person
A QR code built at build time, also downloadable for flyers and set lists, native share on phones, and copy-link on desktop.
Save as PDF
A print layout made for paper: light colors, video thumbnails with printed links in place of players, and the booking contacts on the printout.
The old links keep working
Each of the 18 URLs in the old Wix site's sitemaps is mapped to the new site: 16 permanent redirects to the matching section, and 2 real pages at the same address. Retired pages (the shop and the blog) go to the closest useful page, and an unknown URL still gets a real 404 page.
Light on a phone
Video and music players load only when pressed, so the first visit to the home page downloads 573 KB in 39 requests, all from the site itself, against 2.1 MB and 199 requests for the old Wix home page.
Built on the client's brand
The colors, logo and type come from the brand guide the artist already had. The site does not invent a new identity.
Found by search engines
Page metadata, structured data (JSON-LD) for the band, its players and its albums, a sitemap and a social sharing image.
Our approach
Harvested the old site into typed content files, with a source log for every photo, quote and link. Every URL in the old sitemaps got an explicit home, 16 of them through a permanent redirect, with no catch-all, so a truly missing page still shows a real 404.
Used the brand colors as sparing accents and added named, tuned shades only where a color failed contrast, so the original brand colors stay untouched. The logo was rendered to a PNG that a phone downloads at 8 KB and placed on light plates, and a CI check stops off-palette colors from creeping into the code.
Wrote one small server route: it validates the inquiry, fails closed when the reCAPTCHA key is missing, refuses to follow Google's redirects, and counts only a plain success response as sent. Every failure shows the visitor the artist's email address. The route has 11 unit tests, and the two riskiest rules, failing closed and refusing redirects, were each seen to fail against the unsafe version first.
Built a dedicated print layout. It switches to the light palette, replaces video players with thumbnails and printed links, and loads every image before the print dialog opens. A preview script renders the PDF so the layout can be checked on every change.
Kept all content in typed files, with every contact detail in one file. Missing values are marked in the code, and a launch check lists each one with its file and line. Builds deploy and warn; sample data hides itself on the production site; the domain switch waits until the launch check passes.
Video and music players load only when clicked (a real, labeled button stands in until then), images are optimized and sized per screen, and every page is pre-rendered. A content security policy allows only the outside services the page uses, written without per-request nonces so the pages stay static.
Inside the project
Select a screenshot to view it full size.
Kent's story, with a short bio for each player
A tab per album; the player loads only when a visitor presses play
Performance videos; each one loads only when it's picked
Upcoming shows come in automatically from the band's Bandsintown listings
Critics' quotes, each linked to the full review
Booking inquiries go straight to the band, with the email and phone beside the form
Before: the general-purpose Wix site, with a shop, a blog and member accounts
The outcome
- The home page loads 73% less data than the Wix home page it replaces (2.1 MB to 573 KB on a phone), in 39 requests instead of 199, with nothing loaded from an outside service until a visitor presses play or reaches the booking form.
- Lighthouse accessibility rose from 84 to 100 on the home page and from 83 to 100 on the media page, SEO scores 100 on both, and an automated accessibility scan (axe) finds no violations on either page, on desktop or on a phone.
- All 18 URLs in the old site's sitemaps are mapped to the new site: 16 answer with a single permanent redirect to the matching section, and an unknown URL still gets a real 404.
- 81 unit tests and 18 browser tests; lint, type checks, a brand-color check and the unit tests run in CI on every pull request, and every change went through automated code review, with each finding checked against the code before it was acted on.
- Documented for handover: a one-page how-to guide for the artist, a maintenance guide, and a launch checklist that keeps the artist's company email working through the domain switch.
Built with
Next.js
React
TypeScript
Tailwind CSS
shadcn/ui
React Hook Form
Zod
- reCAPTCHA
Vitest
- Playwright
- axe-core
Vercel
More projects like this
Have a project like this in mind?
Tell us what you're building. We'll show you how we'd approach it and what it would take, the same way we did for Kent Miller & The TNEK Jazz Quartet.


