The public website for Grassroots Economics
- Next.js 16 with App Router
- React 19
- Tailwind CSS 4
- Framer Motion for animations
- TypeScript
npm install
npm run devOpen http://localhost:3000 to view the site.
src/
├── app/ # Pages (App Router)
│ ├── about/
│ ├── blog/ # Pulls posts from Substack RSS feed
│ ├── contact/
│ ├── dashboard/
│ ├── food-forests/
│ ├── how-it-works/
│ ├── media/
│ ├── mooc/
│ ├── research/
│ ├── sarafu-network/
│ ├── support/
│ └── terms/
├── components/ # Reusable UI components
│ └── shared/ # Section, Button, ScrollReveal, etc.
├── data/ # Static data (team, stories, publications)
└── lib/ # Utilities (Substack RSS parser, constants)
The blog page fetches posts from the Grassroots Economics Substack RSS feed at build time, with ISR revalidation every hour. Post images are extracted from the feed's enclosure elements and displayed as cover images on each card.
| Command | Description |
|---|---|
npm run dev |
Start dev server |
npm run build |
Production build |
npm run start |
Serve production build |
npm run lint |
Run ESLint |