rowen.work
Built for musicians, producers and YouTubers who want made-to-order artwork or ready-made audio tools from one place. Visitors can browse the work, order a commission, buy and download a plugin or use a free tool without creating an account.
- Category
- Website
- Status
- Live
- Role
- Design and development
- Year
- 2026


Overview
rowen.work is Rowen's storefront. It sells made-to-order cover art, YouTube thumbnails, ads and profile pictures next to instant-download audio plugins, and it lists free beats from producers plus drum kits, Serum presets and texture packs, each credited to its creator and linked to the store that sells it. The same domain hosts 42 free browser tools, six guides and KitTheme, which has its own case study.
The whole shop is one HTML document that behaves like a multi-page site. Every page has its own URL, and a small Node function on Vercel serves that document with the page's title, description, share tags and structured data already written in, so search engines and link previews read the right page without running JavaScript. There is no framework and no build step.
Buying happens on the page. Stripe's checkout form opens in a panel over the site, and after payment the buyer gets a license key and a download link on screen and by email. Commission requests, beat submissions, reviews, the portfolio and site settings are handled from an admin dashboard.
What it does
A storefront you can search
A search box and a departments rail sit in the header on every page. The shop aisle filters by category, price, delivery type and seller, with sorting and removable filter chips, and every listing has a full product page with a gallery, buy box, spec table and related listings. Producers get their own seller pages, and the cart has a full page as well as a quick drawer.
Checkout without leaving the page
Buy now, the cart's checkout and beat purchases open Stripe's embedded checkout in a panel over the page, or a bottom sheet on phones. Card details go into Stripe's own frame and never touch the site, and wallets such as Apple Pay and Google Pay appear where Stripe offers them.
Instant delivery and order lookup
After payment the panel shows the license key and a download button, and the same key and link arrive by email. Download links are signed and expire, 24 hours on screen and 7 days in the email. The order page finds a past order by email and issues fresh links.
Commissions with a guided order form
Cover Art, Thumbnails, Ads and PFPs each have a listing with a starting price, turnaround, revisions and a portfolio grid, drawn on watermarked canvases. The order form asks one question at a time, takes reference images and ends on a review screen. Each service shows whether it is open, closed or coming soon.
Free beats from producers
Producers submit a beat with its BPM, key and tuning through a form. Approved beats appear in a track list with a preview player, filters for key and tuning, likes and a free download whose terms ask for a producer credit.
An app layout on phones
Below 860 px wide the site switches to a bottom tab bar (Home, Shop, Beats, Cart, More), a compact header with search, and a back bar in place of breadcrumbs. Tool pages hide the tab bar so the controls get the space.
Liquid glass buttons
Every button is made of one glass material. In Chromium browsers the glass bends the page behind it like a lens, and it falls back to plain frosted glass for reduced transparency, increased contrast and forced colours.
Free tools and guides
42 free browser tools and six guides on thumbnails, cover art and drum kit skins, each at its own URL with its own share card.
Screens
How it was built
One document, real URLs
A single route table is shared by the browser router and the server. Vercel rewrites every path that isn't a real file to one function, which returns index.html with that page's title, description, canonical URL, Open Graph tags and JSON-LD (Product, Service, WebApplication, Article and BreadcrumbList) filled in, and the right section already active. Unknown paths get a real 404 with noindex. The sitemap is built on request from the same table plus the live catalog, and a test fails if the route table, the page list and index.html disagree.
A checkout the browser can't change
The cart stores only product keys and quantities. The server looks up every price itself before it creates the Stripe session, a webhook sends the receipt server to server, and the success screen re-confirms the payment with Stripe before it shows anything. License keys are derived from the paid session with an HMAC, so there is no table of keys to lose or leak, and plugins activate online against a seat limit (two machines per key by default) kept in Vercel KV. Download links are HMAC-signed tokens with an expiry, and the file's real address appears only in the final redirect. Stripe is the merchant of record and handles sales tax, which only works with Stripe's own checkout page, so the panel embeds that page and styles it per session to match the site.
Glass that refracts
The lens effect ports the refraction and lighting maths of an MIT-licensed WebGL liquid-glass library to an SVG filter used as each control's backdrop-filter, so the browser supplies the live page behind it instead of a rasterised copy. Controls opt in by using the glass material, only controls near the screen hold a filter, and same-size controls share one.
Traffic counts without trackers
Page views go to the site's own endpoint and are stored in Vercel KV as daily integers per page and per referring domain. No cookies, IP addresses or user agents are stored, Do Not Track and Global Privacy Control switch counting off, and page names come from an allowlist so a crafted request can't create new fields.
Built with
- Vanilla JavaScript
- HTML and CSS
- Node.js on Vercel Functions
- Vercel Blob
- Vercel KV
- Stripe embedded checkout
- Stripe webhooks
- Resend
- Schema.org JSON-LD
- SVG filters
- node:test
Want something like rowen.work?
Tell me what you are building and what it needs to do. rowenapichardo@gmail.com