A bold, responsive website for an independent hardware, firmware, and industrial design studio. Built with plain HTML/CSS/JS.
index.html— Homeportfolio.html— Portfoliocontact.html— Contact (Formspree with mailto fallback)assets/css/styles.css— Stylesassets/js/main.js— Scripts (mobile nav, contact form)assets/images/— Placeholder for images
Just open index.html in your browser. For best results (and to avoid CORS in some browsers) use a tiny static server:
- Python:
python3 -m http.server 8000 - Node:
npx http-server -p 8000
Then visit http://localhost:8000
This repo includes debug configs:
- Task:
Serve: Python http.server (8000) - Launch:
Open site(opens browser at http://localhost:8000/index.html)
Run it via: Run and Debug panel -> "Open site". It will start the server automatically.
- Update titles and meta descriptions in each HTML file.
- Replace hero copy and capability list in
index.html. - Add real project images to
assets/images/and set them as backgrounds for the.thumb-*classes or replace the placeholder gradients.- For the dynamic portfolio, add images to
assets/images/portfolio/and reference them inassets/data/portfolio.json.
- For the dynamic portfolio, add images to
- Update contact email in
contact.htmlandassets/js/main.js(mailto fallback). - Replace the Formspree endpoint in
contact.htmlwith your own or remove and rely on mailto.
- Place your image(s) in
assets/images/portfolio/(JPG/PNG/WebP). Aim for ~1600×1000 for best quality. - Edit
assets/data/portfolio.jsonto add a new item with fields:slug,title,meta,description,image,tags, optionallylink.
- Open
portfolio.htmlin a local server (fetch requires HTTP):Visit http://localhost:8000/portfolio.htmlpython3 -m http.server 8000
Note: Please only include images and text you own the rights to. We intentionally did not copy third‑party images or content.
Any static hosting works: GitHub Pages, Netlify, Vercel, S3, etc. For GitHub Pages, place the site at the repo root and enable Pages; the relative links are already compatible.
MIT — use freely.