MyTube is a modern YouTube-inspired web application built with React, TypeScript, and Tailwind CSS. It provides a seamless user experience for browsing videos, managing subscriptions, and exploring categories.
π Live Demo: MyTube on Vercel
- β Responsive Design β Optimized for all screen sizes
- π§ Dynamic Sidebar β Expandable sections for categories, playlists, and subscriptions
- π Video Grid β Thumbnails, GIF previews, and metadata
- π Search Functionality β Text or voice input powered by the Web Speech API
- π Subscriptions Management β View and navigate to subscribed channels
- π΅ Playlists β Access and manage your favorite playlists
- π₯ Explore Section β Discover trending, music, sports, and more
- π Dark Mode Ready β Easily switchable or extendable to dark mode
- Frontend: React, TypeScript, Tailwind CSS
- State Management: React Context API
- Utilities:
clsx
,tailwind-merge
- APIs: Web Speech API (for voice search)
- Hosting: Vercel
βββ src/
β βββ components/
β β βββ Sidebar.tsx # Dynamic sidebar UI
β β βββ PageHeader.tsx # Header with text + voice search
β βββ context/
β β βββ SidebarContext.tsx # Sidebar state management
β βββ data/
β β βββ home.ts # Static video & category data
β β βββ sideBar.ts # Sidebar data (subscriptions, playlists)
β βββ hooks/
β β βββ useScreenSize.ts # Custom hook for screen size detection
β βββ utils/
β β βββ format.ts # Helper functions (duration, views, time)
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/your-username/mytube.git
cd mytube
- Install dependencies::
Copy
Edit
npm install
# or
yarn install
- Start the development server:
Copy
Edit
npm run dev
# or
yarn dev
- Open your browser and visit: http://localhost:5173
This project currently does not include automated tests.
You can add tests using Jest or React Testing Library.
This project is licensed under the MIT License.
- Inspired by YouTube's UI/UX
- Built with β€οΈ using React, TypeScript, and Tailwind CSS
- Contributions are welcome!
Feel free to open issues or submit pull requests π