(01)Services(02)Work(03)Pricing(04)Writing(05)Kits(06)AboutBook a call →
Work / thurman
Events startup · marketing site · 2023

Thurman Events— a startup marketing site shipped at fifteen.

A five-page marketing site for Thurman Events Management — home, services, team, gallery, contact. Built solo in 2023 on Next.js 13 with Tailwind, Framer Motion page transitions, and a Nodemailer-backed contact pipeline that drops leads straight into the team's inbox. No CMS, no third-party form provider, no monthly bill.

IndustryEvents management · startup
ScopeMarketing website · gallery · contact funnel
StackNext.js 13 · React 18 · Tailwind · Framer Motion · Nodemailer
Timeline2023 · solo build at fifteen
Livethurman.vercel.app
Repogithub.com/Clupai8o0/thurman
Pages shipped
5
home, services, team, gallery, contact
Contact funnel
Nodemailer
API route → Gmail transport → direct-to-inbox leads
Still live
3 yrs
deployed on Vercel since 2023, archived but online
§ 01 · The brief

"We needed a site that could carry an events brand — services, team, gallery, a contact form that actually worked — without the cost of a full agency engagement."

Thurman Events Management · 2023

§ 02 · The problem
  • 01Most events-management sites split into two camps: bloated agency builds or template Wix pages with no point of view. Thurman needed something in between — premium feel, real content, but cheap enough for a launching startup to actually ship.
  • 02The contact form had to work end-to-end on day one. No external CRM, no Calendly redirect — every enquiry had to land directly in the team's inbox the moment a visitor hit send.
  • 03Events photography arrives in mixed aspect ratios and irregular volume. A rigid CSS grid would crop awkwardly and look amateur — the gallery needed to scale gracefully as more shoots came in.
§ 03 · The decisions

The calls that meaningfully moved the outcome. Not the cosmetic stuff.

Next.js 13 pages router

File-based routes per section, wrapped in a shared Layout with nav, footer, and a page-transition overlay. Copy and section data live in /config — pages stay thin and content is editable without touching JSX.

Nodemailer + Gmail transport

/api/send-email is a Next.js API route that sends through a Gmail app password. Submissions trigger react-toastify feedback on the client and arrive directly in the team's inbox. No third-party form provider, no monthly fee, no data sitting in someone else's database.

Responsive masonry galleries

react-responsive-masonry handles the events gallery — drops mixed-aspect images into a balanced multi-column layout that reflows at every breakpoint. CTA links out to the full Google Drive album for visitors who want more.

Framer Motion page transitions

Each route mount runs a custom transition overlay. nextjs-toploader handles the top progress bar between pages. Small motion polish that lifts the site above the template tier without dragging in a heavy animation framework.

next-sitemap in postbuild

Sitemap and robots.txt regenerate automatically on every build via the postbuild script. SEO basics handled at deploy time, no manual maintenance, no forgotten updates after a content change.

Built for handover

Most content lives in /config and reusable /components — route files stay thin. Whoever picked the codebase up next could update copy, swap imagery, or add a section without learning the framework. Same handover pattern still used today.

§ 04 · The work

Screens, not mockups. The actual product—annotated.

01 / 06 · Home · full scrollPages shipped: 5
Mobile · 375px
02 · Mobile · 375px
03 · Services · full scroll
04 · Gallery · masonry reflow
Team
05 · Team
Contact · Nodemailer form
06 · Contact · Nodemailer form
Stack: Next.js 13 · React 18 · Tailwind · Framer Motion · Nodemailer
clupai.com/contact

Right. Shall
we scope it?

Twenty minutes. No slideshow. We'll ask what you sell, who's buying, and where the site is getting in the way. You'll leave with a realistic estimate—or a reason we're not the right fit.

Replies within one AU business dayABN · Melbourne · VIC