A slow site made fast, and 59 pages that speak for themselves
Sky Events is the DJ and event-entertainment company I co-founded, so this one was personal. Its website has 59 pages: weddings, mitzvahs, corporate events, town by town.
The site looked fine and worked badly. It was slow on a phone, and to a search engine its 59 pages looked like one. I rebuilt how it is made, served and connected, without changing what it says.
My role: Co-founded the company and rebuilt the site
It looked finished. The engineering was not.
The homepage was heavy, and most of the weight was small things nobody had looked at: a logo file, a tab icon, a script that sent every page everything.
Every page answered a search engine with the same title and said its real address was the homepage. And nobody could say for certain where an inquiry went after the form was sent.
The website
A black and gold site organised by service, event type, and region, with the booking form on the pages where people decide.
Home: A video hero, quick answers to the questions couples and planners actually ask, and the booking form on the same page.
Services: Every service page uses one template: who it is for, what is included, how the event flows, and the common questions.
Weddings: An event page built to answer a couple's questions in order: what is offered, what past clients said, and what it looks like.
Mitzvahs: The same structure for mitzvahs, with its own proof and its own questions.
Massachusetts: A regional hub with city pages under it, so the site can be found for a service in a specific town.
South Florida: A second regional hub, built the same way for the second market.
Contact: One inquiry form. It validates the request, emails the team, and confirms to the customer before the thank-you page.
The work, in my own words
A 731 KB logo. Why a website is slow is usually the small stuff: a logo file, a tab icon, a script that sends every page everything. Watch the video
What makes it work
Each page gets only what it needs: The script for a page carries that page's code and no other. The logo and the tab icon were remade at the size they are shown, and a whole icon library came out.
The video waits its turn: The homepage opens on a still picture that is already in the page. The video comes in after the page has loaded and fades in over it. A phone gets a smaller upright cut, and a visitor on data saver gets no video at all.
Every page speaks for itself: Each of the 59 pages is built into finished HTML ahead of time, with its own title, its own description and its own address.
The build enforces it: A page with a missing or duplicate title, or more than one main heading, stops the build.
A server that says no: An old address is forwarded for good, so search engines update their records. Junk addresses left over from spam are answered as gone. A typo gets an honest page not found.
One inquiry, two emails: A form sends one email to the team with everything the customer typed, and one to the customer to confirm it arrived. Replying to the first writes straight to the customer.
The website keeps nothing: There is no database of people's details on the server. The lead is in the inbox, where the team already works. A hidden field catches bots, and one visitor can only send a few in ten minutes.
One list runs the site: There is one list of every page. The sitemap, the robots file and the guide file for AI assistants are all built from it. A page that is not on the list is not served.
Organised to be found: Service pages on one template, regional hubs with city pages beneath them, and structured data on every page.
Under the hood
React
TypeScript
Vite
Express
Pages built to HTML ahead of time
Gmail
Replit
If your site looks finished but you cannot say how fast it is, what a search engine sees, or where its form goes, I can look at it the same way.