The landing page and download portal for the StreamBox Android app — streamboxapp.stream
- Prerendered — static HTML generated at build time and hydrated on the client.
- Lightweight motion — CSS-only animations with no animation libraries, smooth on phones, desktops and Android TV.
- Adaptive rendering — heavier visual effects are enabled only on devices that can afford them.
- Accessible — keyboard and TV-remote friendly, respects
prefers-reduced-motion.
| Layer | Choice |
|---|---|
| UI | React 19, TypeScript |
| Build | Vite 8 |
| Styling | Tailwind CSS 3 |
| Testing | Vitest, Testing Library |
| Quality | ESLint, Prettier, GitHub Actions |
| Hosting | Cloudflare Pages |
Requires Node.js 22.12+.
git clone https://github.com/MammadovEshgin/streamboxapp.git
cd streamboxapp
npm install
npm run dev| Command | Description |
|---|---|
npm run dev |
Start the dev server |
npm run build |
Production build with prerendering |
npm run preview |
Serve the production build locally |
npm test |
Run tests |
npm run typecheck |
Type-check the project |
npm run lint |
Lint the project |
npm run verify |
Typecheck, lint, format check, test and build |
src/
├── components/ Page sections and UI primitives
├── content/ Copy, features and release info
├── hooks/ Shared React hooks
├── lib/ Device detection and utilities
└── assets/ Logo and app screenshots
tests/ Test suites
scripts/ Build scripts (prerender)
public/ Static files, headers and 404 page
Every push to main is built and deployed by Cloudflare Pages.
To publish a new APK, attach StreamBox.apk to a new GitHub release and update APK_SHA256 in
src/content/release.ts.
Proprietary. © Eshgin Mammadov. All rights reserved.
