Special thanks to USCIS who made this project possible.
Far before my Employment Authorization Document (EAD) expiration date, I sent out the extension request. The fear of losing my job as a Tesla mechanical engineer was eating me as the expiration date approached. So I hoped I could find a way to not check the disappointing status every day but still be able to be notified when there was an update.
I picked up Java 101 and started the first line of this project. Things aren't going the right way I had expected. I lost the job 2 months later after the expiration date when USCIS still hadn't processed my extension request. My 20k year-end bonus was gone, too. When God closes a door, he opens a window. I found out programming is awesome!
Through this journey, I gradually learned how to fire HTTP requests, utilize git, manipulate string, use HTML parser, serialize and deserialize objects, use Gradle as a build tool, and package code into Docker image. A newfound passion for programming has emerged, overshadowing my aspirations as a mechanical engineer. Now, my desire is to delve deeper into the realm of coding and explore new possibilities.
Here is a guideline to help you get started to use this EAD-checker.
To run the program, there are two arguments needed: your EAD application receipt number and the number of cases you would like to track. For instance:
'WAC2190088xxx 300'
will track from 150 cases before to 150 cases after your case.
The project only queries public data. No PII will be involved.