Skip to content

danilblm/portfolio

Repository files navigation

Portfolio — Danil Bellahmer

My personal developer portfolio — an interactive, 3D, space-themed single-page site built with Next.js, TypeScript and Tailwind CSS. It showcases my projects, skills and experience, and lets visitors reach me through a contact form.

Next.js React TypeScript Tailwind CSS GSAP

🔗 Live site: danilbellahmer.dev


📸 Screenshots

Home — interactive 3D skills keyboard

Home

Skills Experience
Skills Experience
Projects Contact
Projects Contact

✨ Features

  • Interactive 3D keyboard — a Spline keyboard where each keycap is a skill, revealing its title and description on hover/press.
  • Smooth animations — GSAP + Motion driven scroll, hover and reveal effects, with Lenis smooth scrolling.
  • Space theme — floating particles on a dark canvas, plus full light/dark mode.
  • Projects & experience — my real freelance and internship work (Amtech, LAR Castellum, Sonatrach) and academic projects.
  • Contact form — email delivery via Resend.
  • Downloadable CV — served as a PDF from the site.
  • Responsive — works across all screen sizes.

🛠 Tech stack

Layer Technologies
Framework Next.js 16, React 19, TypeScript
Styling Tailwind CSS, Radix UI, shadcn/ui
Animation GSAP, Motion, Lenis
3D Spline runtime, Three.js
Email Resend
Validation Zod

🚀 Getting started

Prerequisites

  • Node.js 18+
  • pnpm (recommended)

Installation

# 1. Install dependencies
pnpm install

# 2. Configure the environment
cp .env.example .env.local
# then fill in the values (see below)

# 3. Start the dev server
pnpm dev

Open http://localhost:3000.

Environment variables

Variable Required Description
RESEND_API_KEY Yes API key from Resend for the contact form
NEXT_PUBLIC_WS_URL No WebSocket URL for optional realtime features
UMAMI_DOMAIN No Umami analytics script URL
UMAMI_SITE_ID No Umami website ID

.env*.local is git-ignored. Use .env.example as a template.

📜 Available scripts

Command Description
pnpm dev Start the dev server
pnpm build Build for production
pnpm start Run the production build
pnpm lint Lint the project

🚀 Deployment

Deployed on Vercel: push to the repository, import it into Vercel, add the environment variables, and Vercel handles automatic deployments on every push.

🙏 Credits

Built on the open-source 3D Portfolio template by Naresh Khatri, adapted with my own content, projects and design tweaks. Licensed under the MIT License.

About

Personal developer portfolio — interactive 3D, space-themed site built with Next.js, React, TypeScript and Tailwind CSS.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages