I’ve used a few tools to prepare the data and build the app.

npm install -g @playwright/mcp@latest

App development

I’m using Google AI Studio to develop the app as there is a nice from from the editor to deployment on GCP using Cloud Run.

Data discovery & preparation

I used Gemini CLI with the Playwright MCP tool to pull files & information from websites and I stored them in GCP cloud storage.

Using Gemini CLI I created a script called process_reports.js that can output a summary of the FFLs to a CSV that is then used by another script called csv_json_converter.py to create the state FFL jsons.

Data storage & access

I set up 2 GCS buckets:

  • gs://atf-inspection-reports - the ATF Inspection Report PDFs that I pulled from the Brady site, organized into folders by state
  • gs://atf-state-ffl - a json file for each state with a list of its FFLs

I needed to handle CORS on the bucket echo ’[{“origin”: [”*”], “method”: [“GET”], “responseHeader”: [“Content-Type”], “maxAgeSeconds”: 3600}]’ > cors.json gsutil cors set cors.json gs://atf-state-ffl

{   “security”: {     “auth”: {       “selectedType”: “oauth-personal”     }   },   “mcpServers”: {     “playwright”: {       “command”: “npx”,       “args”: [         “@playwright/mcp@latest”       ]     }   },   “selectedAuthType”: “oauth-personal” }