What I built

  • Layered spam defenses on the contact form: hidden honeypot fields, timing checks, a rate limit and a spam score. Bots get a fake "thanks".
  • An admin area for projects, photos, the blog and events. Photos upload in bulk in the background, and big files shrink automatically.
  • Event sign-ups with capacity limits, where guests can pick what to bring.
  • Search-engine basics: structured data, a live sitemap, and a visitor counter that ignores bots.
  • Redesigned it with seigaiha waves, device-framed project cards and a film-style photo contact sheet.

More projects