AI/ML Developer β’ Full Stack Engineer β’ B.Tech CS Student (4th Year, 22 years old)
Live Demo β’ HistoAI Project β’ Foot-Insights
- About
- Features
- Tech Stack
- Project Structure
- Getting Started
- Environment Variables
- Featured Projects
- Performance
- Contributing
- License
- Contact
A modern, high-performance portfolio website showcasing AI/ML projects and full-stack development expertise. Built with cutting-edge technologies and optimized for speed, accessibility, and user experience.
- π¨ Modern Design - Clean, minimalist UI with smooth animations and gradient accents
- π Dark/Light Mode - Theme toggle with system preference detection
- π± Fully Responsive - Optimized for all devices from mobile to desktop
- β‘ Performance Optimized - Server-side rendering, lazy loading, and code splitting
- π Production Ready - Redis-backed persistent storage, proper error handling
- π Analytics Ready - Integrated with Vercel Analytics
| Feature | Description | Technology |
|---|---|---|
| π Homepage | Hero section, project showcase with full-width stacked cards, testimonials, contact form | React 19, Next.js 15 |
| π€ About Page | Skills, education timeline, fun facts, services | TypeScript, Tailwind CSS |
| πΌ Projects Gallery | Detailed project cards with live demos and source code | shadcn/ui, Lucide Icons |
| π Guestbook | Persistent visitor messages with Redis backend (production-ready) | Upstash Redis, Next.js API Routes |
| πΌοΈ Gallery | Image showcase with upload functionality | Next.js Image, React |
| π§ Contact Form | Web3Forms API integration with validation | React Hook Form, Zod |
| π― Scroll Progress | Global page scroll indicator | Custom React Hook |
| π Navigation | Clock-enabled responsive navigation | Radix UI |
- SEO Optimized - Meta tags, Open Graph, structured data
- Type Safe - Full TypeScript coverage with strict mode
- Accessible - WCAG AA compliant, semantic HTML, keyboard navigation
- Serverless API - Next.js API routes with Upstash Redis for guestbook
- Error Boundaries - Graceful error handling and loading states
- Form Validation - Client and server-side validation with Zod schemas
- Image Optimization - Next.js Image component with responsive images
| Category | Technologies |
|---|---|
| Framework | Next.js 15.5.7 (App Router, Server Components) |
| UI Library | React 19.2.0 |
| Language | TypeScript 5.x |
| Styling | Tailwind CSS 3.4, tailwindcss-animate |
| Components | shadcn/ui, Radix UI primitives |
| Icons | Lucide React |
| Forms | React Hook Form, Zod validation |
| Notifications | Sonner (toast notifications) |
| Theme | next-themes (dark/light mode) |
| Category | Technologies |
|---|---|
| Database | Upstash Redis (serverless, production-ready) |
| API | Next.js API Routes |
| Forms | Web3Forms API |
| Deployment | Vercel |
| Analytics | Vercel Analytics |
| Version Control | Git, GitHub |
{
"dependencies": {
"@upstash/redis": "^1.36.2",
"next": "15.5.7",
"react": "19.2.0",
"tailwindcss": "^3.4.17"
},
"devDependencies": {
"@types/node": "^22",
"@types/react": "^19",
"@types/react-dom": "^19",
"typescript": "^5"
}
}portfolio-work/
βββ app/ # Next.js App Router
β βββ page.tsx # Homepage (hero, full-width project cards, contact)
β βββ layout.tsx # Root layout with providers
β βββ globals.css # Global styles and Tailwind imports
β βββ about/ # About page
β β βββ page.tsx
β βββ projects/ # Projects showcase
β β βββ page.tsx # Projects list with featured projects
β β βββ loading.tsx # Loading skeleton
β βββ gallery/ # Image gallery
β β βββ page.tsx
β βββ guestbook/ # Visitor guestbook
β β βββ page.tsx
β βββ project-construction/ # Project detail pages (dynamic)
β β βββ [slug]/
β β βββ page.tsx
β βββ api/ # API routes
β βββ guestbook/
β βββ route.ts # Guestbook CRUD (Redis-backed)
βββ components/ # React components
β βββ navigation.tsx # Main navigation with clock
β βββ scroll-progress.tsx # Scroll indicator
β βββ theme-provider.tsx # Theme context provider
β βββ ui/ # shadcn/ui components (40+ components)
β βββ button.tsx
β βββ card.tsx
β βββ input.tsx
β βββ ...
βββ lib/ # Utility functions
β βββ utils.ts # cn() helper and utilities
βββ hooks/ # Custom React hooks
β βββ use-mobile.ts # Mobile detection hook
β βββ use-toast.ts # Toast notification hook
βββ data/ # Static data
β βββ guestbook.json # Fallback guestbook data (deprecated)
βββ public/ # Static assets
β βββ images/ # Project images
β βββ futinsights-homepage-card.png
β βββ futinsights-main-card.png
β βββ histoai-homepage-card.png
β βββ histoai-main-card.png
βββ styles/ # Additional styles
β βββ globals.css
βββ .env.local # Environment variables (gitignored)
βββ .gitignore # Git ignore rules
βββ ARCHITECTURE.md # Technical architecture documentation
βββ README.md # This file
βββ components.json # shadcn/ui configuration
βββ next.config.mjs # Next.js configuration
βββ package.json # Dependencies and scripts
βββ pnpm-lock.yaml # pnpm lockfile
βββ tailwind.config.ts # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
- Node.js 18.x or higher
- pnpm (or npm/yarn)
- Upstash Redis account (free tier available at upstash.com)
- Web3Forms API key (optional, for contact form)
-
Clone the repository
git clone https://github.com/maybeswayam/Portfolio.git cd portfolio-work -
Install dependencies
pnpm install # or npm install -
Set up environment variables
Create a
.env.localfile in the root directory:# Upstash Redis (Required for Guestbook) UPSTASH_REDIS_REST_URL="your_upstash_redis_url" UPSTASH_REDIS_REST_TOKEN="your_upstash_redis_token" # Web3Forms (Optional - Contact Form) NEXT_PUBLIC_WEB3FORMS_KEY="your_web3forms_key"
Getting Upstash Redis credentials:
- Go to upstash.com and create a free account
- Create a new Redis database
- Copy the REST URL and REST Token from the database details
-
Run the development server
pnpm dev
-
Open your browser
Navigate to http://localhost:3000
# Create optimized production build
pnpm build
# Start production server (local)
pnpm start- Push your code to GitHub
- Import the repository in Vercel
- Add environment variables in Vercel project settings:
UPSTASH_REDIS_REST_URLUPSTASH_REDIS_REST_TOKEN
- Deploy!
| Variable | Description | Required | Default |
|---|---|---|---|
UPSTASH_REDIS_REST_URL |
Upstash Redis REST API URL | Yes | - |
UPSTASH_REDIS_REST_TOKEN |
Upstash Redis REST API Token | Yes | - |
NEXT_PUBLIC_WEB3FORMS_KEY |
Web3Forms API Key for contact form | No | Included |
The guestbook feature uses Upstash Redis instead of filesystem storage to ensure compatibility with serverless platforms like Vercel:
- β Serverless-native - Works perfectly on read-only Vercel deployments
- β Persistent storage - Data survives redeployments
- β Free tier available - 10,000 commands/day
- β Fast - Sub-millisecond latency globally
Note: Filesystem writes (fs.writeFile) don't work in production on Vercel due to ephemeral file systems. Redis solves this limitation.
Football Analytics Platform with ETL Pipeline
A data-driven football analytics platform built on a custom ETL (Extract, Transform, Load) pipeline. Analyzes data from the 2022 FIFA World Cup and Europe's top five leagues (Premier League, La Liga, Serie A, Bundesliga, Ligue 1).
- π Live Demo
- π¦ GitHub Repository
- π Metrics: 1,890 Matches | 680 Players | 130 Teams | 6 Competitions
- π οΈ Tech Stack: Next.js, React, TypeScript, Python, ETL Pipelines, Tailwind CSS
- π― Features: Match analysis, player statistics, team comparisons, tournament insights
ETL Pipeline Highlights:
- Custom Python data extraction from multiple sources
- Data transformation and normalization
- Automated loading into analytics-ready format
- Comprehensive coverage of international and club competitions
AI-Driven Histopathology Analysis Platform
Deep-learning platform for analyzing histopathology images using MobileNetV2 and Fusion Models. Generates explainable Grad-CAM heatmaps to assist in cancer diagnosis.
- π Live Demo
- π Metrics: 95%+ Accuracy | <1s Heatmap Generation | 3 AI Models
- π οΈ Tech Stack: TensorFlow, PyTorch, Grad-CAM, React, Next.js, FastAPI
- π― Features: Multi-model inference, explainable AI, medical image analysis
- Performance: 95+
- Accessibility: 100
- Best Practices: 100
- SEO: 100
- β Server-side rendering (SSR) for initial page load
- β Static generation for unchanged content
- β Image optimization with Next.js Image component
- β Code splitting and lazy loading
- β Minified CSS and JavaScript
- β Font optimization with Geist font family
- β Redis caching for guestbook entries
- β Responsive images with proper aspect ratios
Contributions, issues, and feature requests are welcome!
See CONTRIBUTING.md for detailed guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'feat: add some amazing feature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
Swayam Adhana
- π Portfolio: swayam-portfolio.vercel.app
- π§ Email: swayam.for.prof@gmail.com
- πΌ LinkedIn: linkedin.com/in/swayam-adhana-01b2b2293
- π GitHub: @maybeswayam