SWOT is a production-oriented Next.js website for a Sri Lankan digital marketing, creative and performance practice from CodeZela Technologies.
| Desktop | Mobile |
|---|---|
![]() |
![]() |
The production UI uses an original Sri Lankan image library, responsive editorial layouts and restrained motion with reduced-motion support.
- Next.js 16 App Router
- React 19 and strict TypeScript
- Bun package management
- Motion for restrained reveal animation
- Resend for enquiry delivery
- Cloudflare Turnstile with mandatory server-side validation
- Local, optimised WebP brand imagery
- Static service, platform, industry, location and insight pages
- Structured data, canonical metadata, sitemap and robots controls
bun install
bun run devCloudflare's official always-pass Turnstile test keys are used automatically in local development when production keys are absent. Resend delivery is not simulated as a real email. Without RESEND_API_KEY, the local form reports that validation passed but email delivery still needs configuration.
Copy .env.example to .env.local, then add:
RESEND_API_KEYCONTACT_FROM_EMAIL, using a sender on a Resend-verified domainCONTACT_TO_EMAILNEXT_PUBLIC_TURNSTILE_SITE_KEYTURNSTILE_SECRET_KEY
The intended sender is SWOT Notifications <notifications@swot.lk> and enquiries are delivered to hello@swot.lk. Verify swot.lk in Resend before testing delivery. For production, restrict the Turnstile widget to swot.lk and www.swot.lk. Do not deploy Cloudflare test keys.
bun run checkThis runs ESLint, TypeScript and the production Next.js build.
/servicesand 12 detailed service pages/platformsand 5 platform pages/industriesand 6 industry pages/locationsand 4 local pages/insightsand 6 original guides- About, work model, contact, privacy and terms pages
The full keyword and post-launch plan is in docs/seo-strategy.md.
- Verify
swot.lkin Resend and confirm delivery fromnotifications@swot.lk. - Configure the production Turnstile keys and permitted hostnames.
- Reconfirm the published CodeZela Colombo office, landline and social profiles before launch if company details change.
- Run
bun run check. - Verify desktop, mobile, keyboard navigation, the contact success path and the email received in the real inbox.
- Verify metadata, structured data, sitemap and live canonical URLs.
- Add Search Console and Bing Webmaster Tools after the domain is live.

