You don’t need to be a developer. This tutorial assumes you’re a designer who’s comfortable with concepts like folders, files, and clicking buttons — not writing code from scratch. By the end, you’ll have your own portfolio site live on the web.
Part 1 — What You Need First
Before starting, make sure you have:
- A GitHub account — github.com (free)
- A Netlify account — netlify.com (free)
- Node.js installed — nodejs.org — download the LTS version, run the installer, and accept the defaults
- A code editor — VS Code or Cursor (free)
Part 2 — Get the Code Onto Your Computer
Step 1: Go to the repository
Open your browser and go to the GitHub repository that contains this portfolio (or wherever the code lives).
Step 2: Fork the repository
- Click the Fork button (top right)
- Choose your account when asked
- Click Create fork
This creates a copy of the project under your own GitHub account.
Step 3: Clone it to your computer
- On your forked repo page, click the green Code button
- Copy the URL (e.g.
https://github.com/yourusername/repo-name.git) - Open Terminal (on Mac: press
Cmd + Space, type “Terminal”, press Enter) - Go to a folder where you keep projects (e.g. Documents):
cd ~/Documents
- Run (replace the URL with your own):
git clone https://github.com/yourusername/repo-name.git
- Press Enter. The project will download into a new folder.
Step 4: Open the project in your editor
- Open VS Code or Cursor
- File → Open Folder
- Select the folder you just cloned
- Click Open
Part 3 — Install Dependencies
The project needs some packages to run. You’ll do this once.
Step 5: Open Terminal inside the editor
- In VS Code/Cursor, go to Terminal → New Terminal
- A terminal panel will appear at the bottom
Step 6: Go into the frontend folder
Type this and press Enter:
cd frontend
Step 7: Install packages
Type this and press Enter:
npm install
Wait until it finishes (it can take 1–2 minutes). When you see the command prompt again, you’re done.
Part 4 — Run the Site Locally (Optional but Recommended)
Before deploying, test that everything works on your computer.
Step 8: Start the development server
In the same terminal (inside the frontend folder), type:
npm run dev
Press Enter.
Step 9: View the site in your browser
- The terminal will show a URL, usually
http://localhost:5173 - Hold Cmd (Mac) or Ctrl (Windows) and click the URL
- Your portfolio should open in the browser
To stop the server, press Ctrl + C in the terminal.
Part 5 — Customize Your Content
All content is controlled by simple files — no coding required.
Step 10: Change the homepage hero
- In the project, go to:
frontend/src/content/config/homepage.mdx - Open it and edit the text under
hero: - Update
title,subtitle, and thetitleslist - Save the file — if the dev server is running, the page will refresh automatically
Step 11: Change the About section
In the same homepage.mdx file, find the about: section and edit the content text.
Step 12: Change site navigation and tags
- Open
frontend/src/content/config/site.mdx - Edit the
navigation:links andtagOrder:list - Save
Step 13: Add or edit a project / case study
- Go to
frontend/src/content/posts/ - Duplicate an existing
.mdxfile and rename it (e.g.my-new-project.mdx) - Edit the top section (frontmatter) between the
---lines:
title— project namesummary— short descriptionyear— year (e.g. 2024)tags— categories (e.g.["UX Design", "Case Study"])order— lower numbers appear firstthumbnailorhero— image path (put images infrontend/public/images/)
- Edit the rest of the file with your project description in markdown.
- Save.
Step 14: Add images
- Put your images in
frontend/public/images/ - In your MDX, reference them like:
/images/your-image.jpg
Part 6 — Deploy to Netlify (Step-by-Step)
Follow these steps in order. Do not skip ahead.
Step 15: Push your changes to GitHub
If you edited anything, save it, then:
- In VS Code/Cursor, open the Source Control panel (icon on the left, or
Cmd + Shift + G) - Type a message in the box (e.g. “Customize my portfolio”)
- Click the checkmark to Commit
- Click Sync or Push to send changes to GitHub
Step 16: Sign in to Netlify
- Go to app.netlify.com
- Sign in (or create an account) — you can use “Sign up with GitHub” for convenience
Step 17: Create a new site from Git
- On the Netlify dashboard, click Add new site → Import an existing project
- Choose GitHub
- If prompted, authorize Netlify to access your GitHub account
- Search for and select your repository (the one you forked earlier)
- Click it to continue
Step 18: Configure the build settings
Netlify needs to know where the code lives and how to build it. This project has the frontend in a subfolder.
Set these exactly:
| Setting | Value |
|---|---|
| Branch to deploy | master (or main — check your repo) |
| Base directory | frontend |
| Build command | npm run build |
| Publish directory | dist |
- Base directory =
frontend(because the app lives inside thefrontendfolder) - Build command =
npm run build(this creates the production site) - Publish directory =
dist(Vite outputs the built files here)
Step 19: Deploy
- Click Deploy site
- Wait 1–3 minutes — Netlify will run the build
- When you see “Published”, the site is live
- Click the generated URL (e.g.
random-name-123.netlify.app) to view your portfolio
Step 20: Add a custom domain (optional)
- In the Netlify dashboard, open your site
- Go to Domain settings → Add custom domain
- Enter your domain (e.g.
yourname.com) - Follow Netlify’s instructions to point your domain’s DNS to Netlify
- Netlify will handle SSL (HTTPS) automatically
Part 7 — Checklist Before You Ship
Use this list before going live:
- Hero headline and subtitle updated in
frontend/src/content/config/homepage.mdx - About section reflects your background
- Contact links (LinkedIn, email, etc.) updated in
homepage.mdxorfrontend/src/content/config/site.mdx - At least one project/case study in
frontend/src/content/posts/ - Favicon/logo updated (replace files in
frontend/public/) - Browser title changed in
frontend/index.html(the<title>tag) - All changes committed and pushed to GitHub
- Netlify build completed successfully
- Site opens and looks correct at the Netlify URL
Quick Reference — File Map
| Goal | File or Folder |
|---|---|
| Homepage hero, about | frontend/src/content/config/homepage.mdx |
| Navigation, tag order | frontend/src/content/config/site.mdx |
| Projects / case studies | frontend/src/content/posts/*.mdx |
| Blog posts | frontend/src/content/blogs/*.mdx |
| Images | frontend/public/images/ |
| Page title | frontend/index.html |
Troubleshooting
“npm: command not found” — Install Node.js from nodejs.org and restart your terminal.
Build fails on Netlify — Double-check that Base directory is frontend, Build command is npm run build, and Publish directory is dist.
Site is blank or 404 — Ensure the Publish directory is dist, not frontend/dist.
Images don’t show — Put them in frontend/public/images/ and reference them as /images/filename.jpg.
Summary
- Fork the repo → clone it → open in an editor
- Run
cd frontendthennpm install - Edit
homepage.mdx,site.mdx, and files incontent/posts/ - Commit and push to GitHub
- In Netlify: Add site → Connect GitHub → Set Base:
frontend, Build:npm run build, Publish:dist - Deploy and share your live portfolio URL
That’s it. You’ve just built and shipped your own portfolio.