Inspiration
As a solo developer, I often found myself worrying whether new features I shipped would actually work across all browsers. The web evolves so fast, and tracking compatibility manually can be frustrating. When I discovered the Baseline project, I saw an opportunity to build a tool that brings its data straight into CI workflows—helping developers like me avoid compatibility headaches.
What it does
Baseline CI Checker is a GitHub Action that automatically scans pull requests for unsupported web features. It uses the official Baseline dataset to flag non-baseline features before code is merged, saving time and preventing broken user experiences.
How I built it
Set up a GitHub Actions workflow (.yml) to trigger on pull requests.
Wrote Node.js/TypeScript scripts to parse code and compare features against the Baseline dataset.
Integrated the logic into CI so builds fail fast when non-baseline features are detected.
Focused on making reports clear and actionable for developers.
Challenges I ran into
Parsing feature usage across different files took longer than expected.
Aligning the Baseline dataset with real-world code patterns required extra mapping.
Balancing simplicity with flexibility—making the tool powerful but lightweight.
Accomplishments I’m proud of
Building a working CI pipeline from scratch that reliably checks compatibility.
Smooth GitHub Actions integration requiring minimal setup.
Creating a solo project that solves a real developer pain point.
What I learned
How to work with the Baseline dataset effectively.
The value of designing for developer experience (clear logs, simple setup).
That CI/CD can be more than just testing—it can actively improve code quality and compatibility.
What’s next
Expand checks to cover more languages and frameworks.
Add a dashboard view for browsing compatibility reports.
Package the tool as a npm module for local development use.
Built With
- actions
- baseline
- dataset
- features
- github
- node.js
- typescript
- web
Log in or sign up for Devpost to join the conversation.