Skip to content
<ali />
← / projects

/*work*/

Sana Wajid Photography

// client work / frontend / production

live site →

Built a production-ready single-page photography portfolio website for Sana Wajid, a Manchester-based wedding and couple photographer. The site recreates the client's existing Pixieset visual identity using extracted design tokens, matched typography, warm editorial colours, cinematic image treatments, and responsive layouts.

Implemented a polished frontend experience with a fullscreen hero, scroll-aware navigation, mobile overlay menu, pricing/package sections, animated FAQ accordion, and a validated contact form. Motion was added with Framer Motion while animation timing was tuned to avoid delaying key hero content and hurting Lighthouse performance.

Integrated Resend for transactional email delivery from the contact form, including React Hook Form and Zod validation. Debugged and resolved production email delivery issues involving Resend workspace configuration, verified sending domain setup, and environment variable alignment.

Added production SEO and deployment polish including OpenGraph image generation, metadata, location-focused copy for Manchester photography search visibility, JSON-LD LocalBusiness structured data, sitemap.xml, robots.txt, custom favicon, and Vercel deployment with custom domain configuration.

  • Client-facing production website delivered for a real photography business
  • Pixieset-inspired design system recreated from live-site design tokens
  • Responsive single-page layout with cinematic image treatment and mobile-first readability
  • Validated contact workflow using React Hook Form, Zod, and Resend
  • Resolved real production email delivery issues across Resend, DNS/domain verification, and environment variables
  • SEO implementation with metadata, OpenGraph image, sitemap, robots.txt, and LocalBusiness JSON-LD
  • Performance tuning for animated hero content and image-heavy photography layout
  • Deployed to Vercel with custom domain and verified sending domain
//stack
Next.jsTypeScriptTailwind CSSFramer MotionResendReact Hook FormZodVercelSharp