A privacy-first, single-page web application that parses and visualizes USCIS ELIS API JSON data β transforming raw case records into a rich, human-readable timeline with intelligent event interpretation, progress tracking, and comprehensive case analysis.
100% client-side β No servers, no databases, no data transmission. All processing happens entirely in your browser.
- Upload a
.jsonfile or paste raw USCIS API JSON directly - Automatic validation and error handling for malformed or non-USCIS data
- Supports the full USCIS ELIS API response structure
- Application Information β Receipt number, form type, form name, applicant name, filing date, last updated, filing channel
- Case Flags & Status β Real-time badges for case status (open/closed), adjudicator acknowledgment, premium processing, group status, travel authorization, action required, and evidence requests
- Chronological timeline of all USCIS system events, sorted newest β oldest
- 60+ event codes decoded with human-readable names and detailed descriptions based on the NIEM v5.0
scr:BenefitDocumentStatusCategoryCodeSimpleTypeschema - Color-coded categories: Receipt, Background Checks, Interview, Processing, Holds, Approved, Denied, Green Card, RFE, Closed
- Submission date displayed in UTC (Zulu time) β fixed filing date regardless of timezone
- All other events displayed based on
createdAtTimestampwith originaleventDateTimeshown in the selected timezone for reference - Silent Case Update detection β identifies when USCIS updates the case record without a formal event code (officer touch)
- Intelligent narrative generation based on case stage (filing β receipt β background checks β interview β post-interview β decision)
- Adjudication Progress Bar β Visual step tracker showing exactly where your case stands
- Key statistics: days since filing, total system events, official notices
- Context-aware messaging for approved, denied, RFE, post-interview, and interview-scheduled cases
- Action-required alerts
- Parsed display of all USCIS notices with generation dates
- Interview appointment date/time extraction
- Default: Central Time (CT) β CST/CDT β No location permission prompts
- Full US timezone support via dropdown selector:
- Continental: Eastern, Central, Mountain, Pacific
- Non-Continental: Alaska, Hawaii-Aleutian, Hawaii
- Territories: Puerto Rico (Atlantic), Guam (Chamorro), American Samoa
- All timestamps (except fixed UTC submission date) convert dynamically when timezone is changed
- Dark mode (default) and Light mode with smooth transitions
- Auto mode β Switches between dark/light based on sunrise/sunset (uses device geolocation if permitted, otherwise defaults to 7 AM β 7 PM)
- Theme preference persisted in
localStorage
- Optimized layouts for desktop, tablet, and mobile
- Date and time visible on all device sizes in the event timeline
-
Sign in to your USCIS account at https://myaccount.uscis.gov/sign-in
-
After signing in, open a new browser tab and navigate to:
https://my.uscis.gov/account/case-service/api/cases/IOE09XXXXXXXX -
Replace
IOE09XXXXXXXXwith your unique application receipt number -
The browser will display the raw JSON response
Option A β Paste JSON:
- Select all the JSON text from the API page (
Ctrl+A) - Copy it (
Ctrl+C) - Paste it into the text area on the tracker (
Ctrl+V) - Click βΆ Analyze Case
Option B β Upload File:
- Save the JSON from the API page as a
.jsonor.txtfile - Click the "Click to upload JSON file" area on the tracker
- Select your saved file β it will be automatically parsed
Once loaded, the tracker will display:
- Stat Bar β Quick overview metrics
- Case Details β Two-card grid with application info and status flags
- Official Notices β If any notices exist in the data
- Event Timeline β Full chronological history with decoded event codes
- Case Summary & Analysis β Intelligent narrative with progress bar
Tip: If you want to preview the interface instantly without real case data, click Load Sample Case.
- Change Timezone β Use the "Display Timezone" dropdown in the header
- Toggle Theme β Click the π/βοΈ toggle button, or enable β‘ AUTO mode
- 100% client-side β all USCIS data is processed in your browser only.
- No storage β the app does not save your case data to any server or database.
- No third-party tracking β no analytics or visitor tracking scripts are loaded by default.
- Local processing only β your JSON data stays on your device and is never transmitted.
piranfar.github.io/USCIS-Tracker/
βββ css/
β βββ style.css <-- All design & layout
βββ js/
β βββ main.js <-- All logic & data parsing
βββ favicon/ <-- App icons & manifest
βββ index.html <-- Core structure (very clean now!)
βββ robots.txt <-- SEO crawler rules
βββ sitemap.xml <-- SEO map
The entire application is based on HTML, CSS, and JS and runs on the index.html file β no build tools, no dependencies, no frameworks. Just open it in any modern browser.
| Layer | Technology |
|---|---|
| Structure | HTML5 Semantic |
| Styling | Vanilla CSS with CSS Custom Properties (Design Tokens) |
| Logic | Vanilla JavaScript (ES6+) |
| Fonts | Google Fonts β DM Serif Display, DM Sans, DM Mono |
| Timezone | Intl.DateTimeFormat API (DST-aware) |
| Theme | CSS data-theme attribute + localStorage persistence |
- Dark/Light themes via CSS custom properties (
--bg,--surface,--gold,--green, etc.) - Typography: DM Serif Display (headings), DM Sans (body), DM Mono (code/data)
- Color-coded badges for event categories (blue, gold, green, red, purple, orange, gray)
The application includes a comprehensive dictionary of 60+ USCIS event codes mapped from the NIEM v5.0 schema, organized into categories:
| Category | Example Codes | Description |
|---|---|---|
| Receipt | IAF, IAA, AALB |
Application receipt and intake |
| Background Checks | FTA0, FTA1, FNB, QAA |
FBI, fingerprint, and name checks |
| Interview | FJ, HG, FM, IM |
Interview scheduling and conduct |
| Processing | FT0, TA, FR |
Officer review and adjudication |
| Holds | FS, KA, KC |
Supervisory, quality, and adjudication holds |
| Approved | DA, IEA, IEC |
Approval and welcome notices |
| Green Card | LAA, LDA, LEA |
Card production and mailing |
| RFE | FBA, IK, HA |
Requests for evidence |
| Denied | EA, IFA, FE |
Denial and intent to deny |
| Closed | EX, EN, EZ |
Administrative and system closures |
- β Zero data transmission β No API calls, no analytics, no tracking
- β No server-side processing β Everything runs in the browser
- β No data storage β Nothing is saved to disk, cookies, or cloud
- β No external dependencies β Only Google Fonts are loaded externally
- β Open source β Full source code visible and auditable
Your immigration case data never leaves your device.
This application is an independent, third-party informational tool developed solely for personal reference purposes. It is not affiliated with, endorsed by, sponsored by, or maintained by U.S. Citizenship and Immigration Services (USCIS), the Department of Homeland Security (DHS), any other government agency, any licensed immigration attorney, law firm, or their representatives.
All information displayed within this tool is generated entirely from the JSON data that you provide. This tool performs no independent data retrieval, verification, or legal interpretation. Event code definitions are derived from publicly available NIEM schema documentation.
This does not constitute legal advice. Immigration matters are complex, consequential, and highly individual. Always consult a licensed immigration attorney or accredited representative for advice specific to your situation.
- Create a new GitHub repository
- Add
index.htmlandREADME.mdto the repository - Go to Settings β Pages
- Set source to Deploy from a branch β
mainβ/ (root) - Your tracker will be live at
https://<username>.github.io/<repo-name>/
Simply open index.html in any modern web browser β no server required.
# macOS
open index.html
# Windows
start index.html
# Linux
xdg-open index.html| Browser | Support |
|---|---|
| Chrome 80+ | β Full |
| Firefox 78+ | β Full |
| Safari 14+ | β Full |
| Edge 80+ | β Full |
| Mobile Chrome | β Full |
| Mobile Safari | β Full |
- Initial release
- 60+ NIEM v5.0 event codes with full descriptions
- Dark/Light/Auto theme system with sunrise/sunset detection
- Full US timezone support with Central Time (CT) default
- Responsive design for all devices
- Event timeline with
createdAtTimestamp-based display - Filing date shown in UTC (fixed Zulu time)
- API access guide for new users
- Privacy-first architecture β zero data transmission
piranfar
Β© 2026 piranfar. All Rights Reserved.
Built and maintained by piranfar.