spagestic commited on
Commit
85aa2e5
Β·
1 Parent(s): 16dae91

Update README.md to reflect new project focus and features for the Borderless immigration research tool, including detailed descriptions of functionality, tech stack, and example prompts.

Browse files
Files changed (1) hide show
  1. README.md +97 -2
README.md CHANGED
@@ -1,6 +1,6 @@
1
  ---
2
  title: Borderless
3
- emoji: πŸ’¬
4
  colorFrom: yellow
5
  colorTo: purple
6
  sdk: gradio
@@ -12,4 +12,99 @@ hf_oauth_scopes:
12
  - inference-api
13
  ---
14
 
15
- An example chatbot using [Gradio](https://gradio.app), [`huggingface_hub`](https://huggingface.co/docs/huggingface_hub/v0.22.2/en/index), and the [Hugging Face Inference API](https://huggingface.co/docs/api-inference/index).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  title: Borderless
3
+ emoji: 🌍
4
  colorFrom: yellow
5
  colorTo: purple
6
  sdk: gradio
 
12
  - inference-api
13
  ---
14
 
15
+ # Borderless
16
+
17
+ **An agentic immigration research tool β€” describe your background in plain English, explore where you could go.**
18
+
19
+ Live demo: **[build-small-hackathon/borderless](https://huggingface.co/spaces/build-small-hackathon/borderless)**
20
+
21
+ Built for the [Build Small Hackathon](https://huggingface.co/build-small-hackathon) β€” small models (≀32B), big adventure.
22
+
23
+ ## What it does
24
+
25
+ Immigration research is fragmented across government sites, forums, and spreadsheets. Borderless puts it in one conversational flow:
26
+
27
+ 1. **Describe yourself** β€” citizenship, education, work history, languages, budget, and goals in everyday language.
28
+ 2. **Get a shortlist** β€” the agent reasons over your profile and surfaces destination countries that fit.
29
+ 3. **Explore on a 3D globe** β€” shortlisted countries appear on an interactive MapLibre globe beside the chat.
30
+ 4. **Dig into the details** β€” visa pathways, required documents, realistic timelines, and live economic context from the World Bank.
31
+
32
+ No forms to decode. No keyword guessing. Just a research session that meets you where you are.
33
+
34
+ ## How it works
35
+
36
+ Borderless is a **Gradio agent** powered by **[Qwen/Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B)** (27B parameters β€” within the hackathon's 32B cap). The model plans multi-step research and calls tools when it needs ground truth:
37
+
38
+ | Tool | What it fetches |
39
+ |------|-----------------|
40
+ | `get_visa_requirement` | Visa rules between your passport country and a destination |
41
+ | `get_passport_stats` | Aggregate visa-free / visa-on-arrival access for a passport |
42
+ | `get_economic_indicator` | World Bank time series (GDP, inflation, trade, and more) |
43
+
44
+ Tool calls stream in the chat so you can follow the agent's reasoning. After up to five tool rounds, it synthesizes a clear answer with pathways, documents, timelines, and economic snapshots.
45
+
46
+ Sign in with your Hugging Face account to run inference through the Inference API.
47
+
48
+ ## Features
49
+
50
+ - **Agentic research** β€” multi-turn tool use, not a single-shot prompt
51
+ - **3D globe** β€” MapLibre GL globe projection with drag, rotate, and zoom
52
+ - **Live visa data** β€” passport strength and country-pair requirements
53
+ - **Economic context** β€” World Bank indicators to compare destinations
54
+ - **Transparent traces** β€” every tool call and result visible in the chat
55
+ - **Chat history** β€” pick up where you left off in the sidebar
56
+
57
+ ## Example prompts
58
+
59
+ - *"I'm a software engineer from India with 5 years of experience and a master's degree. Where could I realistically relocate for work?"*
60
+ - *"I hold a Hong Kong passport and want to study in Europe on a modest budget. What are my visa options?"*
61
+ - *"Compare GDP growth and unemployment for Canada, Germany, and Australia over the last decade."*
62
+ - *"What documents do I need to apply for a skilled worker visa from the UK to Portugal?"*
63
+
64
+ ## Tech stack
65
+
66
+ - **[Gradio](https://gradio.app)** β€” chat UI, OAuth, and custom HTML/JS globe panel
67
+ - **[Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B)** β€” reasoning and tool planning via Hugging Face Inference API
68
+ - **[huggingface_hub](https://huggingface.co/docs/huggingface_hub)** β€” `InferenceClient` with streaming and function calling
69
+ - **[MapLibre GL JS](https://maplibre.org/)** β€” interactive 3D globe
70
+ - **[World Bank Open Data API](http://api.worldbank.org/)** β€” economic indicators
71
+ - **Passport Visa API** β€” visa requirements and passport mobility stats
72
+
73
+ ## Project structure
74
+
75
+ ```
76
+ app.py # Gradio Blocks entry point
77
+ ui/
78
+ chat.py # ChatInterface + globe layout
79
+ globe.py # MapLibre globe panel
80
+ sidebar.py # HF login + history sidebar
81
+ inference/ # Agent loop, tools, streaming
82
+ apis/
83
+ world_bank.py # World Bank indicator client
84
+ passport_visa.py # Visa & passport stats client
85
+ assets/
86
+ globe.js / globe.css # Globe rendering
87
+ ```
88
+
89
+ ## Hackathon fit
90
+
91
+ | Constraint | Borderless |
92
+ |------------|------------|
93
+ | Model ≀ 32B | Qwen3.6-27B (27B) |
94
+ | Gradio on HF Spaces | Yes β€” [live Space](https://huggingface.co/spaces/build-small-hackathon/borderless) |
95
+ | Agentic | Multi-tool research loop with visible traces |
96
+
97
+ **Track:** Backyard AI β€” immigration research is a real, specific problem faced by millions of people weighing where they can live, work, and study.
98
+
99
+ ## Run locally
100
+
101
+ ```bash
102
+ pip install gradio huggingface_hub requests
103
+ python app.py
104
+ ```
105
+
106
+ Set a Hugging Face token with Inference API access, or sign in through the app's OAuth flow when deployed.
107
+
108
+ ## License
109
+
110
+ Apache-2.0 (model: [Qwen/Qwen3.6-27B](https://huggingface.co/Qwen/Qwen3.6-27B))