Multi-framework counter demo built with Astro. Shows how React, SolidJS, Svelte, Vue, and Alpine.js can share state using Nanostores.
Each framework has its own counter component with local state. All components also share a global counter that updates across frameworks in real-time.
- Astro - Static site generator
- Nanostores - Framework-agnostic state management
- Tailwind CSS - Styling
- TypeScript - Type safety
- React (hooks + useStore)
- SolidJS (signals + createStore)
- Svelte (stores + reactivity)
- Vue (composition API)
- Alpine.js (x-data + reactivity)
npm install
npm run devsrc/
├── components/ # Framework counter components
│ └── ui/ # Reusable UI components
├── icons/ # SVG icon components
├── layouts/ # Page layouts
├── store/ # Nanostores state management
└── styles/ # CSS files
The app is responsive and optimized for browser zoom up to 120%.