ahotimski00.github.io — portfolio site
ahotimski00.github.io — portfolio site
Personal portfolio site for Al Hotimski, geospatial data scientist at The Conservation Fund. Live at https://ahotimski00.github.io.
Tech
Jekyll + Minimal Mistakes theme, served by GitHub Pages from the main branch. Source pages are markdown under _pages/; navigation is data-driven from _data/navigation.yml. Local builds via bundle exec jekyll serve.
Repo structure
.
├── _config.yml # Jekyll config (theme, plugins, defaults)
├── _data/
│ └── navigation.yml # Top-nav order: About | Projects | Tools | Resume
├── _includes/ # Partial templates (head, footer)
├── _pages/
│ ├── about.md # /about/ - bio, education, experience, skills
│ ├── projects.md # /projects/ - three deep case studies (Land Ownership, ACEP, FHSZ)
│ ├── tools.md # /tools/ - smaller open-source pieces (cogsieve so far)
│ └── resume.md # /resume/ - resume content + PDF download (PDF currently TODO)
├── assets/
│ ├── img/ # All site images (project carousels, screenshots)
│ └── al_hotimski_resume.pdf # TODO - not yet uploaded
├── index.md # / - homepage (3 What-I-Do cards, 3 project teasers, skills table)
└── .gitignore # Includes _site/ - never commit Jekyll build output
Sister repos
- resume-coach (private): holds working resume artifacts and the career-goals strategy. When updating the public Resume page here, check that the base resume there is in sync.
- cogsieve (public, at github.com/ahotimski00/cogsieve): featured on the Tools page. Its live Streamlit demo at https://cogsieve-vir5swvkd2a5fypnpyqlnn.streamlit.app/ is the headline interactive surface for the portfolio.
Page conventions
- Project sections use anchor IDs (
{#land-ownership},{#farm-parcel},{#fire-hazard}) so the TOC sidebar links work. - Image carousels use the inline
<div class="carousel-wrapper">...structure with the shared JS at the bottom ofprojects.md(lightbox + arrow navigation). Don’t duplicate that script across pages. - Tables prefer markdown over HTML for readability.
- Don’t write multi-paragraph docstring-style sections. One section per concrete thing.
- The Resume page should never reproduce the full PDF content - it should be a compact summary with a “Download PDF” button.
Outstanding TODOs in the source
Grep for <!-- TODO to find them. As of last edit:
- Upload the resume PDF and uncomment the download link in
_pages/resume.md. - Confirm/correct the tooling list on the Land Ownership project (rapidfuzz, shapely, etc.).
- The home page Skills row and About page once listed NLTK/NLP, but no project actually uses NLP. Replace with “fuzzy matching, record linkage, entity resolution” or add an actual NLP project. (Source-code TODO comment flags this in projects.md.)
- Add a deeper RF-model section to the FHSZ project: feature importance, hyperparameter tuning, class-weighted training rationale.
- When the ACEP source is approved for public release, add the GitHub link.
Recent design decisions (newest first)
- Tools page added as a new top-nav tab between Projects and Resume. Hosts smaller open-source pieces (cogsieve and future). Keeps the Projects page as the long-form case-study surface and the Tools page as the runnable-code surface.
- Em/en dashes are banned project-wide. Use hyphens. There’s a memory rule about this globally; respect it here too.
- No AI-sounding language. A skeptical-reviewer audit flagged “Passionate,” triplet rhythm, “actionable insights,” “not just X but Y,” and the like. Cut on sight, rewrite specific to projects.
- The 93% QA-reduction metric is scoped per-state-per-month on the recurring monthly Regrid refresh that drives the parcel-change pipeline. Don’t drop the scope.
- ACEP project is internal-source. The Projects page leads with a one-line note explaining why no GitHub link.
- Engineering-practices block on Tools page was rewritten as a longer “Approach” section that walks through decisions made while building cogsieve. Reads as thinking during the build, not a checklist of best practices.
Voice
- First person where natural (“I built”, “I designed”). Not third person, not passive (“was developed”).
- Lead with the concrete thing, then the why.
- Numbers earn trust when they have units the reader can multiply (per-state, per-month, per-snapshot, per-parcel).
- If a sentence could appear on any portfolio in any sector, rewrite it to be specific to Al’s actual work.
Useful one-liners
# Local preview
bundle exec jekyll serve
# Find any em or en dashes that slipped in
grep -rn $'—\|–' _pages/ index.md _config.yml
# Find open source-code TODOs
grep -rn 'TODO' _pages/ index.md