Single-file index.html, no build step, no dependencies other than Google Fonts
lattice-template — HTML Portfolio Template
By formgong
Lattice is a dark single-page portfolio template released under the MIT license, aimed at developers or small studios. The entire site is one index.html, with no build step and no dependencies other than Google Fonts. The contact form submits to Formgong and only shows a received state when the server returns success: true.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
All borders are positioned by script along grid lines; layout() calculates cell dimensions and row/column counts
Contact form submits to Formgong and only shows received when the server returns success: true
Includes opening spelling animation, scroll slide-ins, border drawing, particle orb, project switching, and other motion effects
Supports prefers-reduced-motion, which disables the opening, marquee, and counting and keeps the particle orb still
Colors and fonts are controlled centrally via CSS variables; project and service data live in script arrays
Template Details
Lattice is a dark, motion-led single-page portfolio template suited to creative developers or small studios. The site structure is contained in a single index.html, with no build step and no dependencies other than Google Fonts. The contact form submits to the Formgong service, and only when the server returns success: true does it show "received"; other responses display the message returned by the server.
The template's visuals and layout are script-driven: all borders fall on grid lines, and the script's layout() calculates cell dimensions (75px on wide screens, 56px on mobile), the window's column and row counts, and places each box along grid lines. Colors and fonts are controlled through CSS variables at the top of <style> (--bg, --line, --grid, --accent, --font). The studio name, contact details, projects, services, and quote are placeholder content; projects and services live in the script's PROJECTS and SERVICES arrays, while the quote is written in the HTML. The clock reads the data-tz attribute (an IANA time zone such as Europe/Lisbon).
For motion, the page opens with a lightweight animation that spells out the studio name, then wipes away (once per tab session, and can be skipped by clicking). Boxes slide in from their respective sides as they enter the viewport, then draw their borders starting from the top-left corner: first the top and left edges, then the right and bottom; first-screen corners expand from their respective corner points. Lines are drawn by .b::after over transparent borders, so they land on the same pixels as the grid. A particle orb moves between sections, and any element with data-orb="sphere|blob|dust" and data-orb-color="white|teal|amber" becomes a docking point. Scrolling also drives the first-screen split, the pinned project switcher on wide screens, the about text, and the bottom progress line; headings reveal via clip-path, numbers count up, and the quote moves one card at a time and stops on grid lines, pausing on hover. When the system enables prefers-reduced-motion: reduce, there is no opening animation, no marquee, no counting, and the particle orb stays still.
Usage limitations: the template's demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license. External services such as domain, hosting, database, payment, or AI may incur separate charges. The footer links to Formgong and can be removed.
Is it right for your project?
Use Cases
- Building a single-page portfolio for a creative developer or small studio
- Needing a dark, motion-led showcase site
- Wanting a static site with no build step and a single HTML file
- Needing to connect a contact form to Formgong and display real server responses
- Needing a site that shows a local clock for different time zones
Suitable For
- Creative developer personal portfolio
- Small studio or team showcase page
- Static site projects that prefer a single file and no build process
- Sites using Formgong to handle forms
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Create a form in the Formgong dashboard and copy the access key, replacing fk_your_access_key in index.html
- 2
If a CAPTCHA is needed, enter the Turnstile site key in the data-sitekey attribute of <form id="fg-form">
- 3
Colors and fonts are adjusted via CSS variables at the top of <style>; grid cell dimensions are modified in the script's layout(), not in CSS
- 4
The studio name, contact details, projects, services, and quote are placeholder content; projects and services are edited in the PROJECTS and SERVICES arrays
- 5
The clock reads an IANA time zone via the data-tz attribute; the Formgong link in the footer can be removed
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is that version's code and does not mean external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute this version's code for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domain, hosting, database, payment, or AI may incur separate charges.
- The contact form depends on the external Formgong service; you must register with Formgong and obtain an access key, replacing fk_your_access_key in index.html before the form will work.
- Using the form feature requires first creating a form in the Formgong dashboard and copying the access key, which is an external account dependency.
- If a CAPTCHA is needed, you must provide your own Cloudflare Turnstile site key and enter it in the form's data-sitekey attribute, involving a third-party service.
- The site relies on Google Fonts to load fonts, which is an external resource dependency.
- The footer includes a Formgong attribution link by default, but the README explicitly states it can be removed.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
replace `fk_your_access_key` in `index.html` of your copy with your Formgong access key (free at https://formgong.com/new)
Original README
Create a form in the Formgong dashboard and copy its access key.
Original README
Optional: put your Turnstile site key in `data-sitekey` on `<form id="fg-form">`; the widget loads by itself.
Original README
no dependencies besides Google Fonts
Original README
https://github.com/formgong/lattice-template/blob/main/LICENSEhttps://github.com/formgong/lattice-template/blob/main/README.md**Credit** — the footer links to Formgong. You may remove it.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-08. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 80 / 100
- Technologies
- HTML
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-10-08
- Screenshot last checked
- 2026-10-08
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies HTML as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-09
Inspect the recorded source material
SHA-256: 0b0f05111ad78ec0e9df4e8efb4cc7a7ae7ebc68bfc644dec634a2acf133773f
2026-10-08T22:11:16.678Z
Source file / repository# Lattice — portfolio site with a Formgong contact form **Live demo:** https://lattice.formgong.com · Download: the [latest release](https://github.com/formgong/lattice-template/releases/latest) zip. [](https://deploy.workers.cloudflare.com/?url=https://github.com/formgong/lattice-template) [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fformgong%2Flattice-template&project-name=lattice&repository-name=lattice) Each button copies the site to your GitHub and publishes it. Then replace `fk_your_access_key` in `index.html` of your copy with your Formgong access key (free at https://formgong.com/new) and commit: the host republishes on its own. Шаблон сайту-портфоліо з формою Formgong A dark, motion-led one-page site for a creative developer or a small studio. One `index.html`: no build step, no dependencies besides Google Fonts. The contact form posts to Formgong and shows "received" only when the server answers `success: true`; any other answer shows the server's message. ## English **Set up the form** 1. Create a form in the Formgong dashboard and copy its access key. 2. In `index.html`, replace `fk_your_access_key` with that key. 3. Optional: put your Turnstile site key in `data-sitekey` on `<form id="fg-form">`; the widget loads by itself. **Rebrand** - Colours and fonts are CSS variables at the top of the `<style>` block (`--bg`, `--line`, `--grid`, `--accent`, `--font`). - Every border sits on a grid line. The script's `layout()` picks the cell (75px wide screens, 56px phones), the columns and rows for the window, and places each box by grid lines. Change the cell size there, not in CSS. - Studio name, contacts, projects, services and quotes are placeholders. Projects and services live in the `PROJECTS` and `SERVICES` arrays in the script; quotes are in the HTML. - The clock reads `data-tz` (an IANA time zone such as `Europe/Lisbon`). **Motion** - A light intro spells the studio name, then wipes away (once per tab session; click to skip). - Boxes slide in from their side as they scroll into view (left half from the left, right half from the right), then their frames are drawn from the top-left corner: top and left lines first, then right and bottom. The hero corners open from their own corner points. Lines are painted by `.b::after` over a transparent border, so they land on the same pixels as the grid. - One particle orb travels between sections. Any element with `data-orb="sphere|blob|dust"` and `data-orb-color="white|teal|amber"` becomes a stop. - Scroll drives the hero split, the pinned project switcher (wide screens), the about text, and the bottom progress line. Headings reveal with clip-path; numbers count up; quotes move one card at a time and stop on grid lines, pausing on hover. - With `prefers-reduced-motion: reduce` there is no intro, no marquee, no counting, and the orb stays still. **Credit** — the footer links to Formgong. You may remove it. ## Українська Темний односторінковий сайт з анімацією для розробника чи невеликої студії. Один файл `index.html`, без збірки й залежностей, окрім Google Fonts. Форма шле заявки у Formgong і пише «отримано» лише тоді, коли сервер відповів `success: true`. В інших випадках показує повідомлення сервера. **Підключити форму:** створіть форму в кабінеті Formgong, скопіюйте ключ доступу й замініть ним `fk_your_access_key` в `index.html`. Якщо потрібна капча, вкажіть ключ Turnstile в атрибуті `data-sitekey` форми. **Під себе:** кольори й шрифти задано змінними на початку `<style>`. Кожна рамка стоїть на лінії сітки: розмір клітинки, кількість колонок і рядів рахує функція `layout()` у скрипті. Назва студії, контакти, проєкти, послуги й відгуки тут лише приклади. Проєкти й послуги лежать у масивах `PROJECTS` і `SERVICES` у скрипті. **Анімація:** блоки в'їжджають збоку, коли з'являються на екрані, а їхні рамки малюються з лівого верхнього кута; світла заставка з назвою, куля з частинок, що переходить між секціями, перемикання проєктів під час прокрутки, лічильники, стрічка відгуків. Якщо в системі ввімкнено зменшення руху, анімації вимикаються.
Explore similar templates
Compare previews and descriptions within the same stack and category.

simplefolio
Simplefolio is a minimal single-page portfolio template for developers, built with HTML, Bootstrap, SCSS, and Parcel under the MIT license. It includes Hero, About, Projects, Contact, and Footer sections, with content edited in /src/index.html and theme colors controlled by two SCSS variables.
HTML · Portfolio

Freelancer
A bright, single-page Bootstrap portfolio template for freelancers, designers, and small studios. It includes a responsive portfolio grid with modal detail windows and an SB Forms contact form that requires an API token.
HTML · Portfolio

Resume
A single-page resume and CV template from Start Bootstrap, built on Bootstrap with a fixed sidebar and content sections.
HTML · Portfolio

Creative
A single-page marketing template by Start Bootstrap for creative agencies and product services, built on Bootstrap with SCSS, featuring a portfolio grid and call-to-action sections. It includes pre-set SB Forms markers for form integration and npm build scripts for source customization.
HTML · Corporate Website

Grayscale
A dark single-page Bootstrap template from Start Bootstrap for photography, events and brand storytelling, with a large hero and clearly separated sections.
HTML · Corporate Website

startbootstrap-stylish-portfolio
A one-page Bootstrap portfolio theme from Start Bootstrap with multiple content sections and an off-canvas navigation menu. Basic use means editing HTML/CSS under dist and opening index.html; advanced use relies on npm with Pug and SCSS build scripts.
HTML · Portfolio
