A fictional SaaS landing page for an AI-powered resume optimization tool. Built as a frontend portfolio project to demonstrate real-world React skills, modern UI/UX patterns, and production-level component architecture.
πView Live Site
ResumeIQ is a fictional SaaS marketing landing page designed to mirror the quality and structure of real-world startup landing pages. The project covers a full user journey β from hero section to pricing, registration, and FAQ β with attention to responsiveness, animations, and user experience.
| Technology | Version | Purpose |
|---|---|---|
| React | 19 | Component-based UI |
| Vite | 6 | Build tool & dev server |
| Tailwind CSS | 4 | Utility-first styling |
| Framer Motion | 12 | Scroll & entrance animations |
| React Hook Form | 7 | Form state & validation |
| Swiper.js | 11 | Testimonials carousel |
| Random User API | β | Testimonial profile pictures |
| React International Phone | 3 | Phone input with dial codes |
| React Icons | 5 | Icon library |
- Fully Responsive β Mobile-first design across all screen sizes
- Scroll Animations β Entrance animations triggered on scroll using Framer Motion
- Active Section Detection β Navbar highlights current section using scroll position
- Form Validation β Full validation using React Hook Form + manual validation for custom inputs
- Floating Label Inputs β Custom animated floating labels on all form fields
- Custom Animated Checkbox β Morphing checkbox animation for Terms & Conditions
- Testimonials Carousel β Auto-playing carousel with custom navigation using Swiper.js
- Live API Integration β Fetches real profile pictures from Random User API for testimonials
- FAQ Accordion β Smooth animated accordion using CSS grid technique
- Pricing β Register Flow β Plan selection pre-selects the form dropdown via lifted state
- Mobile Hamburger Menu β Animated hamburger with full-screen overlay
- Scroll To Top Button β Animated floating button with entrance/exit transitions
| Concept | Where Used |
|---|---|
useState |
All components |
useEffect |
Scroll detection, API fetch, plan sync |
useRef + useInView |
Scroll-triggered animations |
| Lifting State Up | Pricing β App β Register |
| Controlled Inputs | Plan select dropdown |
| Cross-component Communication | selectedPlan prop |
| Custom Hooks Pattern | useSwiper in Testimonials |
| Form Validation | React Hook Form + manual |
AnimatePresence |
Scroll to top button enter/exit |
| Third Party Integration | Swiper, PhoneInput, React Hook Form |
| Stagger Animations | Card entrance animations in all sections |
src/
βββ assets/
βββ components/
βββ Navbar.jsx # Fixed navbar with active section detection
βββ Hero.jsx # Landing section with animated stats
βββ HowItWorks.jsx # 3-step process cards
βββ Features.jsx # 6 feature cards with hover effects
βββ Pricing.jsx # 3 pricing plans with plan selection
βββ Testimonials.jsx # Auto-playing Swiper carousel
βββ Register.jsx # Form with full validation
βββ FAQ.jsx # Animated accordion
βββ Footer.jsx # Links and social icons
public/
βββ images/
βββ logo.png
βββ resume-logo.png
index.html # SEO meta tags
- Node.js v18+
- npm
# Clone the repository
git clone https://github.com/jega1312/resumeiq.git
# Navigate into the project
cd resumeiq
# Install dependencies
npm install
# Start development server
npm run devnpm run buildnpm install tailwindcss @tailwindcss/vite
npm install react-hook-form
npm install swiper
npm install react-international-phone
npm install react-icons
npm install motionNote: React, ReactDOM, and Vite are scaffolded automatically via
npm create vite@latestand do not require separate installation.
- Dark Theme β Deep navy gradient
#03001C β #1b1042for a modern SaaS feel - Purple/Blue Accent β Consistent
purple-500 β blue-600gradient for CTAs and highlights - Inter Font β Clean, professional typeface loaded via local font files
- CSS Grid Accordion β Smooth height animation using
grid-template-rowstransition - JS Floating Labels β Custom floating label pattern compatible with React Hook Form
Jegathiswaran Thiaghu
This project is open source and available under the MIT License β.



