A static informational guide for nonprofits and practitioners building guaranteed income programs for the Persian-American community.
Organized by DevArts Lab, Boston MA — adapted from the Urban Institute's Guaranteed Income Guide.
- Next.js 16 (App Router, Turbopack)
- TypeScript
- Tailwind CSS v4
- next-intl v4 — bilingual EN + FA with RTL support
- Vazirmatn — Farsi font (via @fontsource)
- Lucide React — icons
- shadcn/ui — UI primitives
Node.js v24+ is required.
The setup script auto-detects your Node version manager (nvm, fnm, n, asdf, volta, or Homebrew), installs the required Node version, runs npm install, and starts the dev server:
bash scripts/setup.shIf Node is already at the right version, it skips straight to npm install and npm run dev.
If no version manager is found, it installs nvm automatically.
Other options:
bash scripts/setup.sh --check # just verify Node version
bash scripts/setup.sh --no-dev # install Node + deps, skip dev serverIf you prefer to handle Node yourself:
# Use any version manager you like
nvm install 24 && nvm use 24 # or: fnm, asdf, volta
npm install
npm run dev.nvmrc and .node-version files are included so nvm use (or fnm, asdf, volta) picks the correct version automatically.
Note:
npm run devandnpm run buildalso auto-verify your Node version via a pre-script hook. If it's too old, you'll get a clear error with install instructions.
Open http://localhost:3000 — the app redirects to /en (English) by default.
Switch to Farsi at http://localhost:3000/fa.
| Route | Description |
|---|---|
/[locale] |
Home page — hero, section cards, coalition CTA |
/[locale]/understand |
Step 1 — Community demographics, immigration status, cultural context |
/[locale]/design |
Step 2 — Eligibility, amounts, duration, target groups |
/[locale]/engage |
Step 3 — Outreach, language access, trust-building |
/[locale]/administer |
Step 4 — Enrollment, data privacy, casework |
/[locale]/payments |
Step 5 — Banking barriers, dignity, financial inclusion |
/[locale]/coalition |
Step 6 — Coalition formation and advocacy |
/[locale]/resources |
External resources and partner placeholder |
Locales: en (LTR) and fa (RTL).
All content lives in messages/en.json and messages/fa.json. Farsi content is fully authored (not placeholder).
Pages use four callout box variants to highlight community-specific guidance:
immigration— immigration status nuances (asylum, green card, citizen)cultural— cultural values (آبرو, family dynamics)trust— trust-building strategiesinfo— general key considerations
npm run buildFor static export, add output: 'export' to next.config.ts (middleware-based i18n requires a server — use Vercel for full i18n support).