Inspiration

When I came to the US as an F-1 international student, something as simple as opening a bank account turned into a multi-day ordeal. I called five different people, got contradictory answers, Googled in circles across a dozen government and university pages, and when I finally asked an AI chatbot for help. It confidently told me I needed an SSN to open an account. That was wrong. Most banks that work with international students don't require one.

That one wrong answer could have cost me weeks. And for other questions — like whether working off-campus would violate my visa — a wrong answer could cost someone their entire immigration status.

Every international student hits this wall. The information exists, it's just scattered across federal, state, and university websites, written in bureaucratic language, and impossible to map to your specific situation. I built Clarity because I wanted the tool I wish I had on day one.

What it does

Clarity is a conversational assistant that answers real-world questions for international students — but with a twist: it only answers from verified official sources, and it refuses when it doesn't know.

You tell it your situation (visa type, state, what documents you already have), ask your question, and Clarity returns:

  • A plain-language answer translated from bureaucratic jargon
  • An ordered checklist — steps, documents needed, official links
  • The source name and "last verified" date on every single claim
  • A confidence flag on each step

And when it doesn't have a verified answer? It says so honestly and routes you to the right human — the university's immigration office, a free legal clinic, or the relevant government helpline. No guessing. No hallucinating.

For the hackathon, we built three complete journeys for F-1 students in Texas:

  1. Open a US bank account — which banks accept F-1 students, what documents you actually need
  2. Get an SSN and/or Texas driver's license — the real process, order, and where to go
  3. Benefits Navigator — what campus and public support you qualify for, and just as importantly, what you don't

How we built it

The core idea is that hallucination should be architecturally impossible, not just discouraged in a prompt.

We built a curated corpus of 13 verified passages pulled manually from official sources — government websites (SSA, DHS, Texas DPS, USDA), the university's own pages (UNT ISSS, Student Affairs), and bank information pages (Chase, Bank of America). Each passage stores its source URL, jurisdiction, and the date we last verified it.

When a user asks a question, we embed it using sentence-transformers (all-MiniLM-L6-v2, runs locally, no API key needed) and do cosine similarity against our corpus. If the top match scores below our confidence threshold — the system stops. No generation. No guessing. It abstains and escalates to a human.

Only when retrieval confidence is high does the LLM (Llama 3.3 70B via Groq's free API) generate an answer — and even then, it's strictly instructed to use only the retrieved passages, never its own knowledge. The source citations on the UI come from the database metadata, not from the model, so they can never be fabricated.

The frontend is built with Streamlit for fast iteration, and the whole thing runs with zero paid services.

Challenges we ran into

  • Curating the corpus honestly. We refused to use placeholder data. Every passage had to be manually pulled from the real official source and verified. This was slow but non-negotiable — the product's whole value is that it's trustworthy.
  • Tuning the retrieval threshold. Too high and it refuses everything. Too low and it lets irrelevant passages through. We tested against real questions until we found the sweet spot where it answers correctly and refuses correctly.
  • Getting the LLM to actually stay grounded. Even with strict prompting, large language models want to be helpful. We had to iterate on the system prompt and use structured JSON output to keep the model from adding "helpful" information that wasn't in the passages.

What we learned

  • Saying "I don't know" is a feature, not a bug. For high-stakes questions about immigration and eligibility, an honest refusal is more valuable than a confident wrong answer.
  • A small, curated dataset beats a massive noisy one when trust is the product.
  • The architecture matters more than the model. Swapping the LLM doesn't change the safety guarantees because the threshold gate and grounded retrieval are what prevent hallucination — not the model's good behavior.

What's next for Clarity

Right now, Clarity covers F-1 students at UNT in Texas. We started narrow on purpose — because I'm a student there and had direct access to verify the data.

But the engine is completely persona-agnostic. Adding a new university, a new country, or a new visa type means adding verified data to the corpus. Zero code changes.

Our roadmap:

  • Expand to more US universities
  • Cover additional visa types (H-1B, OPT, J-1)
  • Support international students in the UK, Canada, Australia, and beyond
  • Add multilingual support

The problem I faced at UNT is the same problem faced by millions of students worldwide. Clarity scales to meet every one of them — without ever making anything up.

Built With

Share this project:

Updates

Submission history