explaingit

kshitizkannojia/my-portfolio

Analysis updated 2026-05-18

31TypeScriptAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

An open-source, animated developer portfolio template featuring an interactive 3D keyboard where each key represents a skill, built with Next.js and Spline.

Mindmap

mindmap
  root((My-Portfolio))
    What it does
      3D interactive keyboard
      Animated space theme
      Contact form
      Light and dark mode
    Tech stack
      Next.js
      TypeScript
      GSAP
      Spline
    Use cases
      Personal portfolio site
      Skill showcase
      Project showcase
    Audience
      Developers
      Job seekers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Use as a starting template for a personal developer portfolio website with animated, space themed visuals.

USE CASE 2

Customize the interactive 3D keyboard to showcase your own list of skills.

USE CASE 3

Add your own projects, work experience, and contact form to a ready-made Next.js site.

USE CASE 4

Deploy the portfolio to Vercel with one click after editing a single configuration file.

What is it built with?

Next.jsTypeScriptTailwind CSSGSAPSpline

How does it compare?

kshitizkannojia/my-portfolioclipboardhealth/groundcrewelbelicojackson-hue/haking-code-
Stars313131
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatehard
Complexity2/54/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Node.js and a Resend API key for the contact form, the optional live cursor and chat features need a separate backend that is not included.

Permissive MIT license, free to use and modify for any purpose, including commercial use, though a credit back to the original repo is requested.

In plain English

My-Portfolio is a template for a personal developer portfolio website with a space themed, heavily animated design. Its centerpiece feature is a fully interactive 3D keyboard, built with the Spline design tool, where each keycap represents a skill and shows a title and description when hovered or pressed. The rest of the site uses smooth scroll, hover, and reveal animations powered by GSAP and Framer Motion, along with floating particle effects on a dark background. It is built with Next.js, React, and TypeScript, styled with Tailwind CSS along with the Shadcn and Aceternity component libraries. The template also supports light and dark mode, a contact form that sends email through the Resend service, and optional analytics through Umami. To run it locally, a developer needs Node.js and a package manager such as pnpm, then installs dependencies and sets up a few environment variables, most importantly an API key for the contact form to work. Customizing the portfolio for personal use is meant to be simple: nearly all personal details, like name, title, social links, and site description, live in one configuration file. Separate files hold the list of projects and the list of skills with their descriptions and icons. Updating the skills shown on the interactive keyboard requires editing the underlying Spline file directly and keeping the skill names in that file matched to entries in the code. The project also mentions optional realtime features, such as live visitor cursors, an online presence indicator, and chat between visitors, but the backend server that powers those features is intentionally not included in this open source repository, so they only work if a developer builds and connects their own backend. The template is licensed under MIT and deploys easily to Vercel with one click.

Copy-paste prompts

Prompt 1
Walk me through cloning My-Portfolio and customizing src/data/config.ts with my own name and social links.
Prompt 2
How do I update the skills shown on the 3D keyboard in this portfolio, including editing the Spline file?
Prompt 3
Explain what environment variables I need to set up for the contact form to work in this template.
Prompt 4
Show me how to add a new project entry to src/data/projects.tsx in this portfolio template.

Frequently asked questions

What is my-portfolio?

An open-source, animated developer portfolio template featuring an interactive 3D keyboard where each key represents a skill, built with Next.js and Spline.

What language is my-portfolio written in?

Mainly TypeScript. The stack also includes Next.js, TypeScript, Tailwind CSS.

What license does my-portfolio use?

Permissive MIT license, free to use and modify for any purpose, including commercial use, though a credit back to the original repo is requested.

How hard is my-portfolio to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is my-portfolio for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.