Skip to content

Projects

Three real businesses and one demonstration build. Each shows the problem the owner came in with, the decisions I made, and what got built. Where there's a verified result, it's here.

Esthetician practice · Santa Cruz

Turning a service menu into a booking journey

Work completed

  • Squarespace build
  • Acuity booking and intake
  • RepeatMD rewards integration
  • Domain and account reconciliation
  • Local SEO
Situation
A growing solo skincare practice with a loyal client base and a full calendar.
Problem
Bookings came in by text and Instagram DM, which meant the owner was the scheduling system. The existing domain and website account had been set up by someone else and nobody could fully access them.
Approach
Rebuild on Squarespace with self-service booking as the spine of the site, and untangle the domain and hosting so the owner controls all of it. Follow with a local SEO pass so the practice shows up for the searches that matter.
Key decisions
  • Booking is the primary call to action on every page, because an esthetician's revenue is appointments, not inquiries.
  • The service menu is structured so each treatment leads directly into its own booking step rather than a general contact form.
  • Mobile came first: clients book from their phones between appointments, so the booking flow was designed for a thumb, not a desktop.
  • Account ownership was reconciled before launch, not after, so nothing the client depends on lives under someone else's login.
Outcome
  • Clients now book and complete their intake online through Acuity, straight from each treatment on the site, instead of messaging the owner to schedule.
  • The domain and every account now sit under the owner's own business login.
  • When the practice added in-person treatments at a local salon partway through the build, the site grew to cover both virtual and in-studio services.

Nonprofit digital agency where I managed web projects · Santa Cruz

Making sure no new client inquiry sits unanswered

Work completed

  • Website design and build
  • Zapier automation
  • Google Forms and Sheets
  • Email notifications
  • Appointment scheduling
Situation
A nonprofit digital agency serving local small businesses. It needed a better way to capture new client inquiries and make sure every prospective client got a fast response. I built the website from scratch and designed the intake workflow behind it.
Problem
Every new inquiry required manual follow-up. Someone had to notice the submission, record it, send a confirmation, and coordinate a meeting. For a nonprofit with limited staff, that meant delays, and a delay at that moment is when a prospective client goes elsewhere.
Approach
Build a website that explains what the agency does and gives business owners a structured way to describe their problem. Connect the intake form through Zapier so every submission is captured, standardized, and logged to a central tracker automatically, turning a raw inquiry into an organized opportunity the team can develop into a project brief.
Key decisions
  • The website and intake workflow were designed together, so the client's journey continues past the moment they hit submit.
  • Google Forms and Google Sheets keep the system accessible for a nonprofit team, with no new software to learn or pay for.
  • The team gets an immediate notification on every new inquiry, so nothing sits unnoticed.
  • Every inquiry gets an automatic thank-you email, so there's a response even when no one is at a desk.
  • That email includes a scheduling link, so interested owners can book a one-on-one while their interest is still high.
  • The automation handles the repetitive administration and leaves the actual conversation and relationship to the team.
Outcome
  • New inquiries get an immediate response instead of waiting on manual follow-up, so prospective clients who might have been lost to a slow reply now reach the team.
  • The workflow saves approximately 3 hours of administrative work [per week / per month — confirm], time a small nonprofit team can put back into client work.
Website visitorClient intakeTeam notifiedInstant follow-up email1-on-1 booked

Gym · Santa Cruz

Giving a local gym a clear front door

Work completed

  • Website design and build
  • Booking system integration
  • Membership page
  • Recovery page
Situation
A local gym with a training floor and a recovery offering the owner saw as the thing that set it apart.
Problem
There was no site that explained memberships clearly enough for a first-time visitor to commit, and the recovery offering, the real differentiator, had no place to live.
Approach
Structure the site around the two questions a prospective member has: what does it cost to join, and what's different here. Give recovery its own page and work closely with the owner on how it's presented.
Key decisions
  • Memberships are explained on one page in plain terms, because uncertainty about pricing is the main reason someone doesn't walk in.
  • Recovery gets a dedicated page rather than a section, since it's the reason to choose this gym over the one down the street.
  • The owner was involved directly on the recovery page's content. For a differentiator, the owner's language beats a copywriter's.
Outcome

The new website and booking system integration contributed to more client acquisition for the gym.

ConceptHVAC and plumbing · Demonstration build

Recovering the calls a busy HVAC company misses

Planned scope

  • Service-page website
  • Missed-call text-back
  • Lead routing to owner's phone
  • Quote follow-up sequence
  • Emergency vs. scheduled intake

Demo build in progress. Live demo and walkthrough video will be linked here.

Situation
A typical small HVAC and plumbing company, a few trucks on the road. The owner and technicians are on job sites most of the day, and the office phone gets answered when someone can get to it.
Problem
Most people who reach voicemail don't leave one; they call the next company on the list. Quote requests from the website land in an inbox nobody checks until evening, and quotes that do go out often get no follow-up at all. The company isn't short on demand. It's leaking it.
Approach
A service-page website built for someone searching with a broken AC or no hot water, connected to three automations: an instant text reply to missed calls, immediate routing of every web inquiry to the owner's phone, and a short quote follow-up sequence.
Key decisions
  • Click-to-call is the primary action on mobile, above the fold, because someone with a flooded basement is not going to fill out a form.
  • One page per service — AC repair, furnace, water heater, drains — because that's how people search and how local search ranks a service business.
  • The quote form separates emergency from scheduled work, so urgent jobs route differently from routine ones.
  • A missed call gets a text reply within seconds with a link to request service, so the lead stays with this company instead of moving down the list.
  • Quote follow-up goes out a couple of days after the quote, and stops automatically the moment the customer replies.
What it's designed to do

Close the gaps between a customer reaching out and the company responding. This is a demonstration build, so there are no client results here. [ADD DEMO LINK AND WALKTHROUGH VIDEO ONCE BUILT]

Missed callInstant text replyService requestOwner notifiedFollow-up