Inspiration
The idea came from the Chrome Baseline initiative, which highlights a common set of web platform features that all modern browsers support.
As a developer, I realized that checking these features manually on different websites can be tedious.
This inspired me to build a lightweight Chrome extension that instantly reports whether a webpage meets some essential baseline features such as HTTPS, UTF-8 encoding, and localStorage availability.
What it does
The Baseline Checker Extension quickly scans the website you are visiting and reports whether it supports a few essential baseline web platform features.
Specifically, it checks:
- ✅ If the site uses HTTPS (secure connection).
- ✅ If the site declares UTF-8 encoding (universal character set).
- ✅ If the site supports localStorage (persistent browser storage).
The results are displayed in a popup interface with green checkmarks (✅) for supported features and red crosses (❌) for missing ones.
If the site is restricted or doesn’t allow scanning (e.g., Chrome internal pages ) , the extension shows a warning instead.
How we built it
We built the Baseline Checker Extension using Chrome Extension Manifest V3, focusing on simplicity and beginner-friendly development.
- The popup interface was created with HTML, CSS, and JavaScript for a clean user experience.
- A content script (content.js) runs on websites to detect baseline features like HTTPS, UTF-8, and localStorage.
- The popup.js file collects the results from the content script and displays them with clear ✅ / ❌ indicators.
- background.js ensures smooth communication between popup and content scripts.
- All project files were uploaded to GitHub using the beginner-friendly “Upload files” option instead of Git CLI, to keep the process simple.
We didn’t rely on heavy tools like linters, transpilers, or build systems — the extension was built entirely with vanilla JavaScript, HTML, and CSS, which keeps it lightweight and easy to understand.
Challenges we ran into
- Understanding how Manifest V3 works compared to older extension formats.
- Figuring out how to properly connect popup.js, content.js, and background.js for smooth communication.
- Running into restricted or special URLs (like
chrome://pages orexample.com) that cannot be scanned by extensions. - Handling websites with partial support for baseline features, which made it tricky to decide how to present results.
- Uploading the project to GitHub using the beginner-friendly method instead of Git CLI, while keeping the structure clean and contest-ready.
## Accomplishments that we're proud of
Successfully built a working Chrome extension from scratch using Manifest V3.
- Integrated multiple baseline feature checks (HTTPS, UTF-8, localStorage) into one simple tool.
- Designed a clear popup UI with ✔️ green / ❌ red indicators for instant feedback.
- Overcame technical barriers like restricted URLs and still made the extension reliable.
- Packaged the project neatly with screenshots, documentation, and MIT license to be contest-ready.
## What we learned
Gained hands-on experience with Chrome Extensions (Manifest V3) and how background, popup, and content scripts interact.
- Learned how to check and validate baseline web features programmatically.
- Discovered the importance of developer tools that make hidden technical details visible in a simple way.
- Improved understanding of GitHub project publishing (README, license, screenshots).
- Realized the value of writing clean, well-documented code for clarity and maintainability.
## What's next for Baseline Checker Extension
Add support for more baseline features (e.g., Service Workers, ES6+ JavaScript support, responsive meta tags).
- Provide a detailed report view with explanations of why each feature matters.
- Export results as a shareable JSON or PDF report for developers.
- Build a dark mode UI for better accessibility and user preference.
- Release the extension on the Chrome Web Store so more developers can benefit.
Built With
- apis
- chrome
- cloud
- css
- databases
- extension
- frameworks
- html
- javascript
- javascript-**frameworks**:-none-(kept-lightweight-with-vanilla-js)-**platforms**:-google-chrome-(manifest-v3-extensions-api)-**databases**:-none-(only-uses-browser-localstorage-for-baseline-test)-**apis**:-chrome-extensions-api-(messaging
- languages
- none
- platforms
- popup
- services
Log in or sign up for Devpost to join the conversation.