> Source URL: /unit-3/project-paths/thu-h/thu-h-2026-04-14.guide
# Thu's Project Guide

**Project:** H1-B Employer Data Hub
**Category:** Web App (Flask) + Data Science
**Last updated:** April 14

---

> Note: This guide is created based on the latest state of your project repository + any notes from our discussion. It may not always reflect the most up-to-date information.

## Where You Are

We had a great conversation about your project idea, but your repo still has just the template files -- your spec, journal, and scaffolding all need to be filled in before Thursday. The good news is you have a clear vision: a web app that helps people explore H1-B employer data as a career research tool.

## What We Talked About

Your project concept:

- **Data source:** The [USCIS H1-B Employer Data Hub](https://www.uscis.gov/tools/reports-and-studies/h-1b-employer-data-hub) -- about 12,000 records
- **Goal:** A career exploration tool with faceted search and filtering
- **UX flow:** Industry → Geography → Company size (big/large/small) → Recommended employers
- **Filters:** FANG companies, company name, industry, geography, company size
- **Tech approach:** Load the data into SQLite, build a Flask web app with faceted search

This is a strong data-driven web project. The dataset is a good size -- big enough to be interesting, small enough to manage in SQLite.

## Next Steps (Before Thursday)

1. **Fill out your spec.** Open `project.spec.md` and fill in every section. Give it a name, pick "Web Development (Flask)" as the category, and write out your MVP features. Use this prompt:

   ```text
   Read my project.spec.md. I am building an H1-B Employer Data Hub --
   a Flask web app that lets users explore H1-B visa sponsor data
   from USCIS. Help me fill out the spec with a clear description,
   3-5 MVP features, stretch goals, and tech stack. Keep the MVP
   focused on filtering and browsing the data.
   ```

2. **Download the data.** Go to the [H1-B Data Hub](https://www.uscis.gov/tools/reports-and-studies/h-1b-employer-data-hub) and download the dataset. Put it in your `data/` folder.

3. **Scaffold your project.** Use this prompt:

   ```text
   Read my project.spec.md and the Flask setup guide at
   https://csc-121.path.app/unit-3/resources/flask-setup.guide.llm.md
   Set up my project: initialize uv, install Flask and pandas,
   create the basic file structure, and build a minimal starting
   point I can run. I also need sqlite3 for my database.
   ```

4. **Get one tiny slice working.** Load your data into SQLite (even a subset), then build one Flask page that shows a filtered list. Just one filter working end-to-end is enough -- for example, filter by company name and display matching results.

5. **Write your journal entry.** Fill in the Checkpoint 1 section of `project.journal.md`.

6. **Commit and push.**

## Checkpoint 1 Readiness

By Thursday April 16th, you need:

- [ ] Completed `project.spec.md` (fill in all sections)
- [ ] Project initialized with `uv` and dependencies installed
- [ ] A basic scaffolding that runs
- [ ] One tiny working feature (e.g. one filter showing results from SQLite)
- [ ] First journal entry in `project.journal.md`
- [ ] Everything committed and pushed to GitHub

## Helpful Resources

- [Flask Setup Guide](../../resources/flask-setup.guide.md) -- follow this to scaffold your project
- [Data Science Setup Guide](../../resources/data-science-setup.guide.md) -- useful for the data loading and analysis parts
- [H1-B Employer Data Hub](https://www.uscis.gov/tools/reports-and-studies/h-1b-employer-data-hub) -- your data source
- [Checkpoint 1 Instructions](../../projects/final-project-checkpoint-1.project.md) -- the full checkpoint requirements


---

## Backlinks

The following sources link to this document:

- [April 14 -- Checkpoint 1 prep](/unit-3/project-paths/thu-h/thu-h.path.llm.md)
