Inspiration
International students often arrive in the US with fragmented guidance: school check-in pages, visa rules, housing scams, banking setup, Reddit advice, and deadline confusion all live in different places. A missed check-in, fake sublease, or misunderstood document step can create real financial or immigration risk.
We built LandingMate AI to turn one student message into a verified arrival action pack. Instead of giving generic advice, it coordinates specialized agents that produce official handoffs, ready-to-send messages, scam-screening artifacts, first-month budget planning, and optional paid local intelligence.
What it does
LandingMate AI is an international student arrival control room with two demo modes: an ASI:One-compatible agent for the Fetch.ai track, and a React web app for the general track where judges can upload a sample I-20 PDF and inspect the generated arrival plan.
A student can either message the public orchestrator in ASI:One or upload an I-20 in the web app. LandingMate extracts the student profile, resolves school resources, coordinates specialist agents, and returns a structured action pack with official handoffs, draft messages, scam checks, deadlines, budget planning, and local campus intelligence.
For the general track, the React/Vite web app lets judges upload a sample I-20 PDF, watch the multi-agent workflow run, see the locked CampusVibeAgent state, and inspect generated artifacts such as DSO drafts, landlord verification messages, scam-screening checklists, official handoff links, budget plans, timeline items, and risk summaries.
For the Fetch.ai track, the ASI:One orchestrator demonstrates the payment- gated agent flow: CampusVibeAgent stays locked until the user requests an unlock through the Agent Payment Protocol.
The system includes:
- VisaCheckinAgent: creates official school check-in handoffs, I-94 reminders, and DSO email drafts.
- HousingSafetyAgent: generates housing scam-screening checklists, landlord verification messages, and deposit safety records.
- BankingPrepAgent: prepares no-SSN banking document packets and first-month budget plans.
- CampusVibeAgent: a premium agent that provides Reddit/community-based local housing and commute signals after payment unlock.
- RiskAgent: aggregates top risks across all agents.
- TimelineAgent: computes arrival deadlines from the student's program start date.
- FinalAdvisorAgent: formats everything into a plain-English action pack.
The core loop is:
Student sends one ASI:One message or uploads an I-20 PDF -> LandingMate extracts structured arrival context -> Specialist agents generate verified artifacts -> Risk and timeline agents consolidate priorities -> Student receives an actionable arrival control room -> Optional payment unlocks premium campus intelligence in ASI:One
How we built it
LandingMate AI is built as a Python/FastAPI backend with Fetch.ai uAgents support, an Agentverse-facing orchestrator, and a React/Vite web app.
The public Fetch.ai entrypoint is LandingMateOrchestratorAgent, which uses the Agent Chat Protocol so students can interact with it through ASI:One. The orchestrator parses student messages, asks follow-up questions when required fields are missing, resolves school information from trusted local source data, and coordinates internal specialist agents.
For the general track, I restored and integrated a web app that gives judges a visible product surface. The web app supports sample I-20 PDF upload, agent activity logs, locked premium-agent state, extracted student profile display, top risk summaries, computed timeline items, trusted source links, and generated artifacts such as DSO drafts, landlord verification messages, scam- screening checklists, and first-month budget planning.
The agent system supports two runtime modes:
- Function mode for stable hackathon demos.
- uAgent runtime mode for local Fetch.ai-style agent-to-agent messaging through a CoordinatorAgent and domain agents.
I also implemented a payment-gated premium agent flow inspired by Fetch.ai's Agent Payment Protocol. Free agents always run, while CampusVibeAgent remains locked until the user requests an unlock. In the ASI:One flow, the orchestrator can create a payment request and verify payment before returning the premium campus intelligence report.
The stack includes Python, FastAPI, Pydantic, Fetch.ai uAgents, Agent Chat Protocol, Agent Payment Protocol, Stripe test/demo flow, React, Vite, Tailwind CSS, TypeScript, Reddit public search, Claude optional refinement with deterministic fallback, and local trusted school/source data.
A key design choice was privacy. LandingMate does not require accounts, login, Supabase, or long-term database storage for the main workflow. Student profile state is held in memory only for the active session, and uploaded demo PDFs are not stored.
Challenges we ran into
The hardest part was making the system feel like a real agent workflow instead of a generic chatbot.
We needed the agents to produce concrete artifacts: DSO email drafts, landlord verification messages, scam checklists, I-94 reminders, official links, budget plans, and risk summaries. That required strict schemas, source validation, and deterministic fallbacks so the system would not invent school policies or immigration advice.
Another challenge was balancing safety with usefulness. International student arrival planning touches visa, housing, banking, and school policy. LandingMate avoids legal advice and instead gives source-backed handoffs, verification prompts, and messages students can send to official offices.
The payment flow was also challenging because the free workflow still needed to complete cleanly while a premium agent remained locked. We built the orchestration so premium agents can participate in the workflow as locked responses, then return full output after payment verification.
Accomplishments that we're proud of
We built a complete ASI:One-compatible multi-agent workflow that turns one message into an actionable arrival pack.
We are especially proud of:
- A public Agentverse/ASI:One orchestrator.
- Multiple specialist agents with clear responsibilities.
- Official-source handoffs instead of generic advice.
- Ready-to-send DSO and landlord messages.
- Housing scam prevention artifacts.
- Timeline and risk aggregation.
- Payment-gated premium agent behavior.
- Privacy-first design with no user accounts or persistent personal database.
- Deterministic fallback logic so the demo does not depend on LLM availability. ## What we learned We learned that agent systems are strongest when each agent owns a specific decision surface. A "student assistant" is too broad, but a visa check-in agent, housing safety agent, banking prep agent, campus intelligence agent, risk agent, and timeline agent can coordinate into something useful.
We also learned that safety matters more than fluency in this domain. For international students, a confident hallucination is worse than no answer. LandingMate therefore focuses on official links, verification prompts, and user-confirmable artifacts.
Finally, we learned that payments make agents feel more like services. Locking and unlocking CampusVibeAgent helped us model how specialized agents could be monetized inside an ASI:One workflow.
What's next for LandingMate AI
Next, we want to expand LandingMate into a full international student arrival operating system.
Planned features include more schools and official international office integrations, real appointment and deadline reminders, more robust housing listing analysis, student-to-student verified community signals, F-1/J-1 document upload parsing, multi-language support, World/identity-based student verification, deeper Fetch.ai Payment Protocol support for premium specialist agents, and a full mobile arrival checklist experience.
Long term, LandingMate should let any incoming international student describe where they are going and receive a safe, verified, step-by-step arrival control room in minutes.
Built With
- agentverse
- asi-one
- claude
- fastapi
- fetch.ai
- pydantic
- python
- react
- stripe
- tailwind
- typescript
- uagents
- vite
Log in or sign up for Devpost to join the conversation.