-
-
Can I do this on an F-1 visa? F1 Compass answers with sources from USCIS, ICE and federal regulations.
-
25 hours a week as a TA is over the 20-hour limit. Each number links to the official page it came from.
-
Freelancing from Illinois for a client in China needs authorization. It also suggests similar roles back home.
-
Asked in Chinese, answered in Chinese, citing the same official sources.
-
Nemotron 3 Nano and Super race to plan, Tavily searches official sites, Nemotron 3 Ultra writes the verdict.
-
25 of 30 test questions right. We list every miss, including our one dangerous error.
-
The three of us at our planning meeting.
-
TEAM MEETING EVERY WEEK!
Inspiration
One of us is an F-1 student who wanted to make a little money on the side. The ideas were pretty normal: freelance for a client back home, sell an AI-illustrated picture book on Amazon, enter hackathons for prize money. Then came the obvious question. Which of these am I actually allowed to do? We couldn't find a straight answer.
A lot of international students assume it's fine as long as the client is overseas or the money goes to a bank account at home. Usually it isn't. Under F-1 rules what matters is where you physically do the work, and working without authorization can cost you your status. The real rules are spread across USCIS pages, SEVP guidance and federal regulations, and they're hard to read even when you find them. So most people just ask a friend or search online.
We wanted something that reads the official sources for you, gives a careful answer with links, and tells you what to ask your DSO (the school official who can actually sign off on this stuff).
Fun fact: we asked F1 Compass about hackathon prize money. Its answer was "Unclear, ask your DSO." Fair enough.
What it does
You type what you want to do in normal words, in any language. F1 Compass restates your situation, searches only official government sites (USCIS, ICE / Study in the States, eCFR, IRS, plus your school's international office site if you add it), and gives one of four answers: likely allowed, authorization needed, likely not allowed, or unclear. The whole page changes color to match the answer, so you know the result right away.
Below that you get the reasons with numbered citations you can click, the legal options if there are any (usually CPT or OPT), questions to bring to your DSO, and an email draft you can copy and send.
If you enter your home country, it also suggests three similar jobs you could do while you're physically back home, like over winter break. If you ask in Chinese, the whole answer comes back in Chinese. No account needed, and it works fine on a phone. We also added five color themes and dark mode, mostly because we wanted them.
How we built it
The app is Next.js on Vercel. Each check runs three steps, and the page shows progress as each one finishes, since a full check can take 10 to 20 seconds.
- Planning. We send the question to Nemotron 3 Nano and Nemotron 3 Super on Nebius Token Factory at the same time and use whichever answers first. It restates the situation, lists what it's assuming, and writes two search queries.
- Search. Tavily searches only an allowlist of government domains, so the model never reads forum posts. Repeated searches are cached for a day so we don't burn credits.
- Analysis. Nemotron 3 Ultra reads the sources and writes the verdict, explanation, DSO questions and email. It can only cite the sources we gave it, and if none of them cover the situation it's supposed to say "unclear" instead of guessing.
The home country suggestions come from Super and run in parallel, so they don't slow down the main answer. All model calls go through Token Factory's OpenAI-compatible API, so we just used the regular openai SDK with a different base URL.
We also wrote 30 test questions with known answers and a script that runs all of them against the app. The number we care about most is "dangerous errors," which is when the app says something is likely allowed when it isn't. That's the mistake that could actually get someone in trouble.
Challenges we ran into
Speed was the first problem. Nano was supposed to be our fast model, but during busy hours it took anywhere from 3 to 40 seconds, while Super stayed around 2. We didn't want to pick just one, so we race them, and if neither answers in 8 seconds we fall back to backup search queries.
The second was the difference between "authorization needed" and "not allowed." The app kept telling people that driving for Uber needs CPT or OPT. Technically correct, but nobody is getting CPT to drive Uber. Our teammates caught this during weekend testing, and we rewrote the verdict definitions so "authorization needed" only shows up when there's a realistic path.
Some smaller ones:
- A question about hackathon prizes pulled up rules for P and O visas instead of F-1. Adding "F-1 student" to every search query fixed that.
- Chinese questions sometimes got English answers, because all the sources are in English and the model followed them. Now we detect the language and name it in the prompt.
- The home country feature made up websites like "Upwork China." We had to add a rule against that.
- Our own test set had mistakes. One expected answer was just wrong, and two questions didn't say the student's major, so there was no single right answer. We fixed the questions instead of tweaking the prompt until it passed.
- We tried Tavily's cheaper basic search to save credits, but accuracy on our first 10 questions dropped from 9/10 to 6/10, so we went back to advanced.
Accomplishments that we're proud of
It got 25 out of 30 test questions right. Four of the five misses were the app being too careful, like saying "unclear" about volunteering at a food bank. The fifth is the one we don't like: it said royalties from a book written before coming to the U.S. are likely allowed, and our answer key says unclear. We listed all five misses in the README instead of hiding them, and we didn't add a special rule just to pass that one question.
We're also proud that it's a real, working site. No sign-up, works on a phone, works with just a keyboard, and it answers the kinds of questions our friends actually ask.
What we learned
You don't need the biggest model for everything. A small model is plenty for writing search queries, and the big one is worth it for the legal reasoning. Running two models at once turned out to be an easy fix for slow responses.
Having a test set changed how we worked. Before, we'd change a prompt, try a couple of questions and feel good about it. After, every change got a number, and the tests found problems we wouldn't have caught by clicking around.
And for legal stuff, "we're not sure, ask your DSO, here's what to ask" is sometimes the most useful answer you can give.
What's next for F1 Compass
Get international student offices to look over our test questions and wording Add more test questions and fix the remaining misses (the royalty one first) Cover J-1 and M-1 students and more OPT details, like unemployment day limits Shareable links so you can send the whole answer to your DSO Test more languages and do a proper color contrast check
Built With
- css
- nebius
- nemotron
- next.js
- node.js
- nvidia
- react
- tailwind
- tavily
- typescript
- vercel


Log in or sign up for Devpost to join the conversation.