This document outlines the architecture, technology stack, and team responsibilities for the ByteWave Portfolio project.
The ByteWave Portfolio is built using a modern, scalable architecture designed for high performance and premium aesthetics.
- Framework: Next.js 16.1 (App Router) - Utilizing Turbopack for lightning-fast development and build times.
- Language: JavaScript (JSX) - Optimized for rapid development and clean component logic.
- Library: React 19 - Leveraging the latest concurrent features and server components.
- Styling: Tailwind CSS - Using a utility-first approach with a custom design system defined in
tailwind.config.js. - Icons: Lucide React - Integrated for consistent, vector-based iconography.
- Animations: Framer Motion - Used for subtle, premium micro-interactions.
- Theming: next-themes - Supporting light/dark mode with system preference detection.
src/
βββ app/ # Next.js App Router (Routes, Layouts, Metadata)
β βββ services/ # Services showcase route
β βββ projects/ # Portfolio grid route
β βββ about/ # Brand story route
β βββ contact/ # Inquiry form route
β βββ layout.jsx # Root layout with Navbar/Footer
βββ components/ # Reusable UI Components
β βββ layout/ # Brand-specific layouts (Navbar, Footer)
β βββ sections/ # Landing page modular sections
β βββ ui/ # Shared atoms and molecule components
βββ lib/ # Shared utility functions
βββ public/ # Static assets (Favicon, Brand Images)
Roles and tasks assigned by @samkiell.
- @samkiell (Samuel Ezekiel)
- Status: Completed Landing Page & Core Architecture.
- Responsibilities: Technical oversight, project scaffolding, deployment management, and code review.
-
@Ayomide-Philip (Ayomide Philip)
- Assigned Tasks:
- Development of
/servicespage: Detailed breakdown of Web and Mobile offerings, tech stacks, and engineering processes.
- Development of
- Assigned Tasks:
-
@pamwise (pamwise)
- Assigned Tasks:
- Development of
/contactpage: Building the functional project inquiry form with validation and email service integration. - Analytics Integration: Setting up tracking for landing page engagement.
- Development of
- Assigned Tasks:
-
- Assigned Tasks:
- Development of
/projectspage: Creating a comprehensive showcase of all the projects ByteWave has worked on, featuring dynamic grids, results, and detailed case studies.
- Development of
- Assigned Tasks:
-
- Assigned Tasks:
- Development of
/aboutpage: Crafting the global collective story and mission. - SEO & Performance Optimization: Ensuring all pages follow best practices.
- Development of
- Assigned Tasks:
- Branching: All developers must work on their respective branches.
- Pull Requests: Once a page or component is complete, create a Pull Request to the
mainbranch. - Review: @samkiell will review the PR for performance, responsiveness, and design consistency.
- Deploy: Successful merges to
mainwill automatically trigger a Vercel deployment.
- Server API:
POST /api/inquiryβ validates requests with Zod and sends emails via SendGrid. - Environment variables (add to your deployment or
.env):SENDGRID_API_KEYβ required to enable email sending.CONTACT_TO_EMAILβ recipient address (defaults tobytewaveteams@gmail.com).CONTACT_FROM_EMAILβ sender address (use a verified SendGrid sender).
If SENDGRID_API_KEY is missing, the API responds with 503 and the form shows a friendly fallback instructing users to email directly.
Notes: For static-only deployments without a server, consider a third-party form backend (Formspree, Getform) as an alternative.
- We load GA4 in
src/app/layout.jsxand track page views automatically. - Form submissions fire a GA event
generate_leadwith{ method: 'contact_form' }fromInquiryForm.jsxon successful send. - Set your measurement ID in an environment variable:
NEXT_PUBLIC_GA_MEASUREMENT_ID(public). The project currently falls back to the provided ID:G-R41VL94TC4if the env var is not set.
Privacy & Consent: If you need GDPR/CCPA compliance, add a consent banner and delay loading GA until consent is granted.
ByteWave | Corporate. Polished. Modern. Confident.