A video browsing interface built using modern frontend technologies. This project fetches video data from a public API and displays it in a clean, structured layout inspired by video streaming platforms.
This project demonstrates how to build a dynamic frontend application by integrating with an external API and rendering real-time data on the UI.
The application fetches video data and displays it using reusable video card components, focusing on layout structure, responsiveness, and clean UI design.
This project was built as part of an assignment from ChaiCode, with the objective of:
- Working with APIs
- Building real-world UI layouts
- Practicing JavaScript fundamentals
- Improving frontend development skills
https://api.freeapi.app/api/v1/public/youtube/videos
- HTML5
- CSS3 / Tailwind CSS
- JavaScript (ES6+)
- Fetch API
- Fetches real-time video data from API
- Displays videos in a structured grid layout
- Responsive design (mobile, tablet, desktop)
- Reusable video card components
- Clean and modern UI
├── index.html
├── styles.css
├── app.js
└── README.md
- On page load, an API request is made using Fetch API
- Video data is received in JSON format
- Data is parsed and mapped
- Video cards are dynamically created
- UI is updated with fetched content
git clone https://github.com/your-username/youtube-video-listing-ui.gitcd youtube-video-listing-uiOpen index.html in your browser
This project can be easily deployed using Vercel.
- Push code to GitHub
- Go to Vercel
- Click Add New Project
- Import repository
- Click Deploy
Through this project, I gained strong practical understanding of:
- Working with external APIs using Fetch API
- Handling asynchronous JavaScript (promises)
- DOM manipulation and dynamic rendering
- Structuring reusable UI components
- Building responsive layouts
- Debugging real-world frontend issues
- Writing clean and maintainable frontend code
- Add search functionality
- Implement filtering (category-wise videos)
- Add loading skeleton UI
- Add error handling UI
- Convert to React.js for scalability
Contributions are welcome. Feel free to fork and improve the project.
For feedback or collaboration, feel free to connect.