A cutting-edge portfolio website showcasing skills, projects, and achievements in software engineering, photography, and videography. Built with modern web technologies to deliver superior performance, accessibility, and user experience.
- Modern Design: Clean, minimalist interface with a custom design system
- Dark/Light Mode: Seamless theme switching with next-themes
- Responsive Design: Optimized for all screen sizes and devices
- Advanced Animations: Smooth transitions and micro-interactions with Framer Motion
- Floating Action Button: Smart services CTA that appears after 2 seconds on non-services pages
- Unified Email Service: Professional email handling for all forms via EmailJS
- Service Quote Forms: Detailed quote requests with priority-based organization
- Contact Forms: General inquiry handling with structured responses
- Newsletter Signup: Email subscription with confirmation system
- Email Templates: Professional email formatting with priority levels (HIGH/MEDIUM/LOW)
- Error Handling: Comprehensive error handling with user-friendly messages
- Services Pages: Complete freelance business platform with pricing packages
- Quote System: Professional quote request forms with detailed project information
- Multiple Currencies: USD and Tanzanian Shilling support
- Payment Options: Flexible payment preferences (upfront, milestones, completion)
- GEO Optimization: AI search engine optimization for better discoverability
- Local SEO: Tanzania-specific optimization for local market reach
- Next.js 14: App Router with Server Components and Static Site Generation
- TypeScript: Full type safety and enhanced developer experience
- Performance Optimized: Image optimization, lazy loading, and bundle optimization
- SEO Optimized: Comprehensive meta tags, structured data, and AI-friendly content
- Analytics Integration: Vercel Analytics, Speed Insights, and custom event tracking
- Web Vitals Tracking: Real-time performance monitoring
- Error Tracking: Comprehensive error monitoring and debugging tools
- Next.js 14: React framework with App Router and Server Components
- TypeScript: Type-safe JavaScript with enhanced developer experience
- Tailwind CSS: Utility-first CSS framework with custom design tokens
- Framer Motion: Advanced animations and transitions
- React Icons: Beautiful, customizable SVG icons
- next-themes: Theme management with system preference detection
- Lucide React: Additional icon set for enhanced UI
- EmailJS: Professional email service integration
- React Hook Form: Efficient form handling and validation
- Unified Email System: Centralized email management for all forms
- Vercel Analytics: Real-time website analytics and insights
- Speed Insights: Performance monitoring and optimization
- Web Vitals Tracking: Core web vitals monitoring
- Custom Event Tracking: User interaction and behavior analytics
- GitHub API: Dynamic repository and contribution data
- Markdown Support: Content management with frontmatter
- Dynamic Content: Project and blog content management
- ESLint: Code linting and style enforcement
- PostCSS: CSS processing and optimization
- TypeScript: Enhanced development experience with type safety
Ntale-Portfolio/
βββ public/ # Static assets and optimized images
β βββ optimized/ # WebP and optimized images
β βββ robots.txt # SEO crawler instructions
β βββ favicon.png # Site favicon
βββ src/
β βββ app/ # Next.js 14 App Router
β β βββ globals.css # Global styles and Tailwind imports
β β βββ layout.js # Root layout with analytics
β β βββ page.jsx # Homepage with hero and CTA
β β βββ about/ # About page with personal info
β β βββ portfolio/ # Portfolio gallery with projects
β β βββ services/ # Professional services and pricing
β β βββ contact/ # Contact page with EmailJS forms
β β βββ blog/ # Blog with dynamic content
β βββ components/ # React components
β β βββ ui/ # Reusable UI components
β β βββ sections/ # Page-specific sections
β β βββ analytics/ # Analytics and tracking
β β βββ FloatingServicesButton.jsx # Floating CTA
β β βββ ServiceQuoteForm.jsx # Professional quote forms
β β βββ NewsletterSignup.jsx # Email subscription
β βββ lib/ # Utility functions and services
β β βββ analytics.ts # Custom analytics tracking
β β βββ emailService.js # Unified email service
β β βββ seo.ts # SEO and structured data
β β βββ geo-content.js # GEO optimization content
β β βββ github.ts # GitHub API integration
β β βββ utils.ts # Helper functions
β βββ types/ # TypeScript definitions
βββ content/ # Markdown content
β βββ projects/ # Project documentation
βββ tailwind.config.js # Tailwind configuration
βββ next.config.mjs # Next.js configuration
βββ tsconfig.json # TypeScript configuration
βββ package.json # Dependencies and scripts
- Node.js: Version 18+ required
- npm/yarn/pnpm: Package manager for installing dependencies
- Git: For version control
-
Clone the repository:
git clone https://github.com/JuliusNtale/Ntale-Portfolio.git
-
Navigate to the project directory:
cd Ntale-Portfolio -
Install dependencies:
npm install
Create a .env.local file in the root directory and add the following variables:
# EmailJS Configuration (Required for contact forms)
NEXT_PUBLIC_SERVICE_ID=your_emailjs_service_id
NEXT_PUBLIC_TEMPLATE_ID=your_emailjs_template_id
NEXT_PUBLIC_PUBLIC_KEY=your_emailjs_public_key
# Google Analytics (Optional - for tracking)
NEXT_PUBLIC_GA_ID=your_google_analytics_id
# GitHub API (Optional - for dynamic repository data)
GITHUB_TOKEN=your_github_personal_access_tokenThe portfolio includes a professional email management system:
- EmailJS Integration: Professional email service for all forms
- Multiple Form Types: Contact, service quotes, and newsletter subscriptions
- Priority-Based Organization: Emails categorized as HIGH/MEDIUM/LOW priority
- Error Handling: Comprehensive error handling with user feedback
- Template System: Professional email templates with consistent formatting
- Create account at EmailJS
- Create email service (Gmail, Outlook, etc.)
- Create email template using the provided template in
EMAILJS_TEMPLATE_SETUP.md - Add environment variables to
.env.local - Test using the debugging page at
/emailjs-test
The portfolio includes comprehensive analytics and performance monitoring:
- Vercel Analytics: Real-time visitor and page view tracking
- Speed Insights: Core Web Vitals and performance metrics
- Custom Event Tracking: User interactions and behavior analysis
- Web Vitals Monitoring: LCP, FID, CLS tracking
- Error Tracking: Comprehensive error monitoring and debugging
Optimized for AI search engines including ChatGPT, Claude, and Perplexity:
- AI-Friendly Content: Hidden SEO content for AI consumption
- Structured Data: Multiple JSON-LD schemas for better understanding
- Geographic Optimization: Tanzania and East Africa specific optimization
- Professional Context: Clear technical expertise and service offerings
- FAQ Integration: Common questions and comprehensive answers
The portfolio includes a complete freelance business platform:
- Service Packages: Three tiers of web development services
- Quote System: Professional quote request forms with detailed project information
- Pricing Transparency: Clear pricing in multiple currencies (USD/TSH)
- Payment Flexibility: Multiple payment options and schedules
- Client Education: Detailed explanations of services and technologies
Professional email handling for business inquiries:
- Priority-Based Organization: HIGH (Service Quotes), MEDIUM (Contact), LOW (Newsletter)
- Structured Email Templates: Professional formatting with all necessary details
- Client Information Capture: Comprehensive client data collection
- Follow-up Guidance: Clear next steps for each inquiry type
- Multiple Form Types: Service quotes, general contact, newsletter subscriptions
Specifically optimized for the Tanzanian and East African market:
- Local SEO: Tanzania-specific keywords and content
- Currency Support: Tanzanian Shilling and USD pricing
- Regional Context: Understanding of local business environment
- Remote Work Capabilities: Clear indication of global service availability
Start the development server:
npm run devThe application will be available at http://localhost:3000.
Build the project for production:
npm run buildStart the production server:
npm start-
Create a new Markdown file in
content/projects/:--- title: "Project Name" description: "Brief description" tech: ["React", "TypeScript", "Tailwind"] github: "https://github.com/username/repo" demo: "https://demo-url.com" image: "/project-image.jpg" featured: true --- # Project Name Detailed project description here...
-
Add project images to
public/images/projects/
- Personal Info: Update
src/lib/data.ts - Skills & Experience: Modify the skills and experiences arrays in
src/lib/data.ts - Theme Colors: Customize in
tailwind.config.js
The portfolio uses a custom design system defined in tailwind.config.js:
// Custom color palette
colors: {
primary: {
50: '#f0f9ff',
500: '#3b82f6',
900: '#1e3a8a',
}
}- Create component in
src/components/sections/ - Add to the appropriate page in
src/app/ - Update navigation if needed
- WebP Format: All images converted to WebP for better compression
- Multiple Sizes: Responsive images with srcset for different screen sizes
- Lazy Loading: Images load only when needed to improve performance
- Optimized Assets: 95% reduction in image file sizes
- Next.js Image Component: Automatic optimization and responsive loading
- Meta Tags: Comprehensive meta tag system for social media and search engines
- Structured Data: JSON-LD schemas for rich snippets and better search understanding
- Sitemap: Automatic sitemap generation for search engine indexing
- Robots.txt: Optimized for all major search engines and AI crawlers
- Open Graph: Enhanced social media preview optimization
- Core Web Vitals: Real-time monitoring of LCP, FID, and CLS
- Bundle Analysis: Optimized JavaScript bundles with code splitting
- Performance Budgets: Automated performance monitoring and alerts
- Speed Insights: Detailed performance analytics and recommendations
- Error Tracking: Comprehensive error monitoring and debugging tools
- Responsive Design: Optimized for all screen sizes and devices
- Dark/Light Mode: System preference detection with manual toggle
- Keyboard Navigation: Full keyboard accessibility support
- Screen Reader Support: Proper ARIA labels and semantic HTML
- Loading States: User-friendly loading indicators and error states
- Push your code to GitHub
- Connect your repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on each push
- Build the project:
npm run build - Deploy the
outdirectory to Netlify - Set environment variables in Netlify dashboard
The portfolio supports static export and can be deployed to any static hosting service.
Contributions are welcome! Please follow these steps:
-
Fork the repository
-
Create a feature branch:
git checkout -b feature/amazing-feature
-
Commit your changes:
git commit -m 'Add amazing feature' -
Push to the branch:
git push origin feature/amazing-feature
-
Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js Team: For the amazing framework
- Vercel: For deployment platform
- Tailwind CSS: For the utility-first CSS framework
- Framer Motion: For beautiful animations
- React Three Fiber: For 3D capabilities
- Open Source Community: For the incredible tools and inspiration
- Portfolio: Live Site
- Email: juliusntale30@gmail.com
- LinkedIn: Julius Ntale
- GitHub: JuliusNtale
β If you found this portfolio helpful, please consider giving it a star!
Built with β€οΈ using Next.js 14 and modern web technologies.