A high-converting, deeply immersive marketing webpage for stryng.io built with Next.js, Tailwind CSS, and motion.dev (Framer Motion).
| Layer | Tech |
|---|---|
| Framework | Next.js 14 (App Router, Static Export) |
| Styling | Tailwind CSS |
| Animations | motion.dev (Framer Motion) |
| Deployment | GitHub Pages via Actions |
src/
app/
layout.tsx # Root layout, metadata, fonts
page.tsx # Main page — assembles all sections
globals.css # Base styles, Tailwind, custom utilities
components/
Nav.tsx # Sticky transparent nav with scroll-aware blur
Hero.tsx # URL typer → particle explosion → social mockups
SocialProof.tsx # Old way vs. Stryng comparison + platform logos
HowItWorks.tsx # 4-step journey cards
ContentShowcase.tsx # Scroll-linked platform morph with layoutId
Pricing.tsx # Monthly/Annual toggle + spring pricing cards
Testimonials.tsx # Staggered review grid
CTA.tsx # Final conversion CTA
Footer.tsx # Full footer
MagneticButton.tsx # Springy magnetic hover CTA component
.github/
workflows/
deploy.yml # GitHub Pages CI/CD
next.config.js # Static export config
tailwind.config.ts # Extended design tokens
# Install dependencies
npm install
# Development
npm run dev
# Production build (static export to ./out)
npm run buildThe config in next.config.js is ready. Just enable GitHub Pages in your repo settings pointing to the github-pages environment.
Uncomment these lines in next.config.js:
basePath: '/stryng_web_motiondev',
assetPrefix: '/stryng_web_motiondev/',Every push to main triggers the GitHub Actions workflow:
- Installs deps
- Runs
next build(outputs to./out) - Uploads artifact → deploys to GitHub Pages
| Section | Technique |
|---|---|
| Hero URL Typer | useEffect character loop + AnimatePresence |
| Particle Explosion | Spring-based radial burst on submit |
| Social Mockups | AnimatePresence + spring scale-in with stagger |
| Platform Morph | layoutId shared layout transitions |
| Pricing Toggle | motion.div layout animation bubble slide |
| Pricing Numbers | Custom spring count-up animation |
| CTA Buttons | Magnetic physics via onMouseMove + spring x/y |
| Cards/Text | whileInView stagger fade-in on viewport enter |
| Nav | useScroll + useTransform background opacity |