Your first 1,000 days in America. Nobody taught you. We will.
A React Native (Expo) mobile app that gives every immigrant a personalized, action-ready copilot for their first 1,000 days in the US. Built for the hackathon "Learning to be American" track.
- Onboarding (30 seconds) — 5 quick inputs: visa type, city, school/employer, budget, arrival date
- Personalized Dashboard — Checklist of everything you need to do, organized by category, in priority order
- AI-Powered Card Details — Tap any card and get specific, verified, actionable steps (not generic advice) powered by a knowledge base + Tavily real-time search + OpenAI
cd day-zero
npm install
# Copy .env.example to .env and add your Tavily + OpenAI keys
# Start the dev server
npx expo start
# Scan the QR code with Expo Go on your iPhoneCreate a .env file (see .env.example) with:
EXPO_PUBLIC_TAVILY_API_KEY— from TavilyEXPO_PUBLIC_OPENAI_API_KEY— optional; for OpenAI-backed flowsEXPO_PUBLIC_OPENAI_MODEL— defaults togpt-4o
app/ # Expo Router screens
├── _layout.tsx # Root Stack navigator + AppProvider
├── index.tsx # Entry redirect (onboarding vs dashboard)
├── onboarding.tsx # 5-step onboarding flow
├── plan-loading.tsx # "Building your plan..." transition
├── dashboard.tsx # Main dashboard with category tabs + cards
└── card/[id].tsx # AI agent card detail screen
src/
├── config.ts # API keys
├── theme.ts # Design system (colors, typography, spacing)
├── types.ts # TypeScript interfaces
├── context/
│ └── AppContext.tsx # Profile + checklist state (AsyncStorage)
├── services/
│ ├── tavily.ts # Tavily search API client
│ ├── openai.ts # OpenAI chat completion client
│ └── agent.ts # Agent orchestrator (knowledge + search + LLM)
├── data/
│ ├── cards.ts # Card catalog (per visa type + arrival stage)
│ └── knowledge.ts # Bundled knowledge base (housing, banking, etc.)
└── components/
├── ProgressDots.tsx
├── ChipSelector.tsx
├── CategoryTabs.tsx
├── CardItem.tsx
└── AgentResponse.tsx
- Tavily — Powers all real-time search in the agent
- OpenAI — GPT-4o for personalized, context-aware responses
- React Native + Expo SDK 54
- Expo Router (file-based navigation)
- AsyncStorage (persistence, no backend needed)
- TypeScript