The personal site of Agambir Singh Bhatia — product lead in climate and geospatial data.
Live: https://agambear25.github.io/
It is one static HTML page. There is no build step and no framework. Open index.html
in a browser to see it exactly as it is published.
index.html the whole page: markup and inline CSS
assets/img/ screenshots of the live projects, and two evaluation charts
scripts/ste_check.py readability checker (see Content rules)
.nojekyll tells GitHub Pages to serve the files as they are
- Edit
index.html. - Commit and push to
main. - GitHub Pages republishes the site in about a minute.
To replace a screenshot, drop a new file into assets/img/ under the same name.
If you ever re-add a downloadable file, give it a versioned filename — reusing a
path means the GitHub Pages CDN and warm browser caches keep serving the old one.
One spacing scale (--s1–--s8), one type scale (--t-micro–--t-h2), and only two
framed components — the screenshot figure and the sticky spec panel. Everything else is
separated by tone and hairline rules rather than by giving each block its own card.
The teal is structural, not decorative: it marks the spec rail and the callout rule.
Every text colour token clears 4.5:1 on white.
The page argues enterprise product first and independent builds second, and the section order carries that argument: hero → enterprise → experience → builds → method → contact.
The writing borrows from simplified technical English — short sentences, active voice, one meaning per term, technical words defined where they first appear — without going so flat that it stops reading like a person wrote it.
- Every accuracy number on the page is measured on data the model had never seen, and is
traceable to an
EVALUATION.mdor a backtest report in the project's own repository. - Poor scores stay on the page next to the good ones.
- Nothing on this page names a client or quotes a contract value.
- The method section describes the personal projects only, never the enterprise work.
- Prose is held to ASD-STE100: one idea per sentence, active voice, and no descriptive
sentence over 25 words. Run
python3 scripts/ste_check.py index.htmlafter editing — it reports sentence length, em-dash count, passive voice and non-approved vocabulary. The current page averages 14.5 words per sentence.
The code of this page is MIT. The text, the CV and the screenshots are not.