Careers & Skills

How to Build a GIS Portfolio That Actually Gets You Hired

Some links below are affiliate links — I earn a small commission if you purchase, at no extra cost to you. Every paid resource is paired with a free alternative.

Every GIS portfolio guide on the internet says the same thing: "include diverse projects," "showcase your skills," "start early." None of them answer the obvious next question: which skills? Based on what?

We pulled skill demand data from 1,366 GIS job listings in our database and designed five portfolio projects around what employers actually ask for. Each project targets a specific skill cluster, uses free data and free tools, and maps to a real salary band.

Our database is a sample, not an exhaustive census — treat the percentages as directional. But the patterns are clear, and the gap between what most portfolios demonstrate and what employers pay for is enormous:

Portfolio Skill Level vs. Median Salary
$88K ArcGIS Pro only
$135K + Python automation
$174K + Cloud & Web mapping
Median salaries from our sample of 1,366 GIS job listings

That's the distance between a portfolio full of class assignments in ArcGIS and one that demonstrates Python, web mapping, and database skills. The five projects below walk you from the floor toward the ceiling. You don't need all five — two or three strong ones outperform six weak ones.

The 5 Projects

Project 1

Automate a Spatial Equity Analysis with Python

Difficulty: Accessible
Time: 1–2 weekends
Salary band: $135K
26.7% Python Spatial Analysis GIS Fundamentals GeoPandas

Python is the #1 skill in GIS job listings — 26.7% of postings in our database. At the entry level, 22.1% want it. It's also the skill most entry-level candidates skip because their coursework never required it. A portfolio project that automates a real analysis in Python immediately separates you from the stack of "proficient in ArcGIS Pro" resumes.

What to build

A Python script that identifies underserved neighborhoods in a mid-sized US city. Download Census TIGER/Line boundaries and American Community Survey demographic data. Use GeoPandas to overlay census tracts with the locations of public services — parks, libraries, transit stops — from OpenStreetMap. Calculate a service accessibility score per tract. Identify the bottom 20% and visualize them on a choropleth map (a thematic map shaded by value — think election results maps).

Free data Census TIGER/Line boundaries · American Community Survey demographics · OpenStreetMap via Geofabrik points of interest
Tools (all free) Python 3, GeoPandas, Matplotlib, Folium, Jupyter Notebook, QGIS for visual QA

The write-up matters more than the code. Don't just post a notebook. Write 300–500 words: what question you answered, what the data showed, one limitation, what you'd do with more time. "I found that tracts with median income below $35K have 40% fewer parks within a 15-minute walk" is ten times more interesting than "I used GeoPandas to perform a spatial join."

Present it: GitHub repo with a clean README, the notebook, and an exported HTML map.
Level up: Add a command-line interface that lets someone re-run the analysis for any state or county. That one step signals you think about reusable code — and geospatial software engineering pays $136K median vs. $90K for traditional analyst roles.
Switching from data science?
You already know pandas. GeoPandas is pandas with a geometry column. Lead your write-up with statistical framing — spatial autocorrelation, distributional equity — and let the GIS part be the new skill.
Learn the skills
Project 2

Build an Interactive Web Map

Difficulty: Moderate
Time: 1–2 weeks
Salary band: $171K
7.5% JavaScript Data Visualization Web Mapping Leaflet / Mapbox

Most hiring managers are more impressed by a Leaflet map you built from scratch than an ArcGIS Online dashboard you configured. One says "I can build tools." The other says "I can use tools." JavaScript + Python co-occurs in 77 job listings, and React jobs average $171K median.

What to build

An interactive web map with filters, popups, and responsive design. Pick a topic you care about — EPA Superfund sites, city crime data, transit accessibility, wildfire perimeters. Load GeoJSON, add layer toggles, build a search/filter sidebar, style it so a non-GIS person could use it.

Free data EPA EnviroAtlas environmental data · OpenStreetMap infrastructure · Your city's open data portal
Tools (all free) Leaflet.js or Mapbox GL JS (free tier), HTML/CSS/JavaScript, GitHub Pages for hosting

The key: Host it live. Screenshots don't cut it. If a hiring manager can click one link and interact with a working web map, you've already passed the first screen. Write a short "about" section on the map itself explaining the data source and who it's for.

Present it: Live URL on GitHub Pages (free). Include the link in your resume and cover letter.
Learn the skills
Project 3

Remote Sensing Change Detection

Difficulty: Moderate
Time: ~2 weeks
Salary band: $107–136K
6.8% Remote Sensing 4.9% LiDAR Python / R NDVI Google Earth Engine

There's a reason remote sensing projects get the most engagement when people share portfolios on Reddit: before/after satellite imagery is inherently compelling. A hiring manager scrolling through 50 applicant portfolios will stop on a vivid change detection map. GIS + Remote Sensing co-occurs in 47 job listings, and it's one of the few technical skills demanded consistently from entry through senior level.

What to build

A land cover change detection analysis over 5–10 years. Good subjects: urban sprawl, deforestation, wildfire burn scar recovery, agricultural conversion. Download Landsat or Sentinel-2 imagery from two time periods, classify land cover, compute NDVI (a vegetation index — higher values mean more greenery), and map the change.

Free data USGS Earth Explorer Landsat/Sentinel-2 imagery · Google Earth Engine cloud-based satellite data · NASA SRTM elevation data
Tools (all free) Google Earth Engine (JavaScript or Python API), or Python with Rasterio and EarthPy, or QGIS Semi-Automatic Classification Plugin

The write-up matters most here. Why this location? What change did you detect? What's the real-world significance? What classification accuracy did you achieve? Remote sensing work without accuracy assessment is a red flag to anyone who does this professionally.

Present it: Before/after comparison figure, the change detection map, and a 500-word narrative. Share the GEE script link or GitHub repo.
Switching from environmental science?
This is your project. You already understand deforestation drivers, habitat fragmentation, climate impacts. The satellite imagery is the new skill, not the interpretation. Frame it with the environmental science lens — that's exactly what conservation GIS employers look for.
Learn the skills
Project 4

Design a Spatial Database with PostGIS

Difficulty: Advanced
Time: ~2 weeks
Salary band: $145K+
9.2% SQL 6.0% PostgreSQL 4.2% PostGIS Database Design

Python + SQL is the second most common skill pair in our data (99 jobs). And here's what most candidates miss: PostGIS skills skew heavily senior — 0% of entry-level listings mention it vs. 5.8% of senior. Skills like PostGIS, Docker, and AWS appear at 3–4x the rate in senior roles vs. entry. Demonstrating them early makes you look like someone already thinking at the next level.

What to build

A PostGIS database that answers geographic questions about a real place. Import OpenStreetMap data for a city (using osm2pgsql, a tool that loads OSM data into PostgreSQL), add Census demographics, and write spatial SQL queries: How many restaurants within 500m of each transit stop? Which neighborhoods have the highest green space to population ratio? What's the average property value within 1km of a Superfund site?

Free data OpenStreetMap via Geofabrik buildings/roads/POIs · Census ACS demographics · EPA EnviroAtlas environmental features
Tools (all free) PostgreSQL + PostGIS, pgAdmin or DBeaver (GUI), osm2pgsql, optionally Python with psycopg2

The queries are the portfolio piece. Include them annotated. Show results as tables and maps. Include a schema diagram. If you can articulate why a spatial database beats shapefiles-in-a-folder, you'll immediately stand out — most entry-level candidates have never touched a database.

Present it: GitHub repo with SQL file, schema diagram, Jupyter notebook showing Python → PostGIS, and result maps.
Learn the skills
Project 5

End-to-End Field Data Collection Pipeline

Difficulty: Accessible
Time: 2–3 weekends
Salary band: $85–90K
GPS Cartography GIS Fundamentals Project Management Data Cleaning

The other four projects prove you can analyze, code, and build. This one proves you've actually been outside with a GPS unit drifting 5 meters under tree canopy, dealt with a survey form that crashes mid-collection, and cleaned data with duplicate entries and null fields.

Hiring managers complain about this gap more than any other: candidates who can code but can't design a data collection form, handle coordinate system issues, or produce a deliverable someone outside GIS would understand. End-to-end capability is rare.

What to build

Pick a local project. Map every public bench in a park system. Inventory street trees. Survey trail conditions. Document campus accessibility features. Design a collection form in KoBoToolbox or Survey123 (both free). Collect on your phone. Import, clean (you'll have jitter, duplicates, missing fields — that's the point), analyze, and produce a final map a non-GIS person could use.

Free data Self-collected via phone GPS · KoBoToolbox (free, open-source) · Supplement with OpenStreetMap for context
Tools (all free) KoBoToolbox or Survey123 (free tier), QGIS, Python for data cleaning

Document the mess. Form design decisions, field challenges, data cleaning steps, the final product. Include field photos. This is the most "story-rich" project — a hiring manager reading about how you handled real-world data messiness learns more about your readiness than any technical demo. The final map should look polished — this is where cartography skills shine.

Present it: Case study on your portfolio site: question, methodology, challenges, product.
Learn the skills

Which Project Should You Build First?

Do you know Python?
Not yet
Learn basics first
Automate the Boring Stuff
~2 weeks
Data Pipeline
(Project 1)
Yes — pick your goal
Viz / front-end Web App (P2)
Data / back-end Site Selection (P4)
Remote sensing RS + ML (P3)
Engineering Open Source (P5)

Switching Careers?

Your starting path based on prior experience

Data Science Data Pipeline Site Selection DB
Env Science RS + ML Open Source
Web Dev Full-Stack Web App Site Selection DB
Urban Planning Data Pipeline Open Source

Each path gets you to a credible portfolio in 3–4 weeks, not months.

Presenting Your Work

GitHub is non-negotiable. Git appears in 5.7% of all GIS listings and 16.6% of software engineering listings. Clean repos with READMEs and commit history demonstrate version control — a skill that separates professionals from students. New to Git? Budget an afternoon with GitHub's quickstart.

Build a personal site. GitHub Pages (free) gives you a landing page for narrative project descriptions and embedded maps. When a hiring manager Googles your name, this should come up.

PDF portfolios are dead. Can't show interactive maps, can't link to repos, signals 2019. Exception: government agencies that specifically request PDF samples.

Three things matter more than platform:

  1. Accessible in one click — no logins, no downloads
  2. Each project has a write-up, not just output
  3. Updated in the last 6 months

For Career Changers

Your degree is in something else. Your coursework may not include GIS. Three strong portfolio projects prove you can do the work regardless. Your starting point depends on what you already know — see the flowchart above.

The key is framing: don't hide your background, leverage it. "I brought analytical rigor from data science and added the spatial dimension." "I knew the environmental questions — I learned the geospatial tools to answer them." "I can build the tools GIS teams need, not just use them." For more: How to Break Into GIS With No Experience.

For Professors

If your capstone is "make a map and write a report," your students graduate with the same portfolio piece as everyone else. Any of these five projects could replace a generic final — students leave with work backed by job market data, built on free tools they keep after graduation. Projects 1 and 4 are strongest as classroom assignments: clear data sources, defined scope, Python and spatial SQL.

For Employers

A resume says "Python." A portfolio shows whether that Python produces clean, documented analysis or uncommented spaghetti.

What to look for: Code quality over complexity. Write-ups that explain decisions. Real data, real problems (not class assignments). Recent commits. Red flags: No README. Only screenshots. Identical projects across applicants from the same program.

Ask for portfolio links in job postings. Review before the phone screen. You'll cut bad-hire rates and shorten interviews.

Getting Started

Start with Project 1 — it targets the #1 skill, uses free data, and takes a weekend if you know Python.

Then add Project 2 or 4 depending on your direction. Two projects gives you a portfolio most entry-level candidates don't have.

Only 10.2% of GIS positions are entry-level. The competition is real. But the bar is lower than you think: "show me you solved a problem with real data and wrote about it clearly."

Five projects. All free data. All free tools.

Need more inspiration? We put together 50+ portfolio project ideas across 8 domains — each with free datasets, skill tags, and difficulty ratings.


Explore more on GEO CAREERS

Get the free GIS Career Roadmap

Subscribe for weekly GIS jobs + career insights, and get our career roadmap — 3 tracks from entry to senior with salary data.