A personal portfolio site. Plain static site (HTML, CSS, JS) with no build step, so it deploys anywhere with zero configuration and a custom domain is just a DNS change later.
portfolio/
├── index.html # all page content
├── styles.css # styling
├── main.js # live SOTM canvas sim + scroll reveals
└── README.md
Just open index.html in a browser. Or, for a local server (fonts/canvas behave best this way):
# Python 3
python -m http.server 8000
# then visit http://localhost:8000git init
git add .
git commit -m "Initial portfolio"
git branch -M main
git remote add origin https://github.com/YOUR_USERNAME/portfolio.git
git push -u origin mainAfter this, every git push updates the live site automatically once it's connected to a host.
- Go to vercel.com and sign in with GitHub.
- Add New → Project, import this repo.
- Framework preset: Other. Leave build command and output empty (it's static).
- Deploy. You get a live URL like
your-portfolio.vercel.app.
That URL is fully live and shareable. You can put it in your Common App right away.
When you buy a domain (e.g. davidcui.dev):
- In Vercel: Project → Settings → Domains → Add, type your domain.
- Vercel shows you DNS records to add.
- In your registrar (Namecheap, Cloudflare, etc.), add those records.
- Wait a few minutes. The domain now points at the same deployment.
Nothing in the code changes — the domain is just a new address for the same site.
This also works with no changes:
- Repo Settings → Pages.
- Source: Deploy from a branch, branch
main, folder/ (root). - Save. Site goes live at
YOUR_USERNAME.github.io/portfolio.
A custom domain can be added here too, under the same Pages settings.
Search the project for data-todo and TODO. You need to:
- Add your GitHub profile/repo links (project cards + contact section).
- Add demo video links for the SOTM project (upload the
.movfiles to YouTube and link them — raw.movfilenames won't work online). - Add a full writeup link (your SOTM document, e.g. a hosted PDF or a project page).
- Confirm your email and LinkedIn in the contact section are correct.