PlainWeb is a minimalist web development boilerplate designed to build fully functional web applications without any build tools, bundlers, or frontend frameworks.
It brings together the power of:
- Component-based architecture (similar to React),
- State management,
- Simple client-side routing (like React Router),
- All using vanilla JavaScript, HTML, and CSS.
plainweb/
├── index.html # Entry point
├── components/ # Reusable UI components
├── scripts/ # State management, router, core logic
├── css/ # Global and modular styles
├── assets/ # Images, icons, fonts, etc.
To run this project locally:
git clone https://github.com/timtjoe/plainweb.git
cd plainweb
You can use any local server (e.g., XAMPP, Python, Live Server).
# Python 3.x
python -m http.server 3000
Open http://localhost:3000
in your browser.
- Install the Live Server Extension
- Open the
plainweb/
folder - Right-click
index.html
and choose "Open with Live Server"
- Lightweight and fast
- Reusable components with rendering logic
- Centralized and reactive state management
- URL-based client-side routing
- No frameworks or bundlers required
Contributions are welcome and appreciated! Please follow our Contribution Code of Conduct and Style Guide.
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add your feature"
- Push to your forked repo:
git push origin feature/your-feature-name
- Create a Pull Request
Please be respectful to other developers and maintain inclusive, constructive discussions.
- Keep pull requests small and focused.
- Use clear and meaningful commit messages.
- Follow the formatting and naming conventions defined in the Style Guide.
See full CONTRIBUTING.md →
This project is open-source and available under the MIT License.
Timothy T. Joe – @timtjoe