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 -- 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:

    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 and download the dataset. Put it in your data/ folder.

  3. Scaffold your project. Use this prompt:

    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:

Helpful Resources