Maijied/roast-as-a-service
LibraryLive in productionRandom developer roasts, delivered via a blazing‑fast static API on GitHub Pages. Plug it into your apps, bots, terminals, or CI logs when “nice error messages”
Blazing-fast, CDN-backed static JSON API for developer roasts. 100% free & open source.
maijied.github.io/roast-as-a-service/
- HTML42.8%
- CSS25.0%
- JavaScript15.2%
- PHP9.6%
- Python7.4%
1 Review
Roast as a Service is a fun idea with a surprisingly practical architecture. The project serves developer-themed roasts as static JSON over GitHub Pages, then uses a small client SDK to fetch the manifest, choose language shards, cache responses, filter by intensity or max length, and return a random result. That is a good match for the problem: the data is read-heavy, public, and cacheable, so avoiding a backend keeps cost and operational complexity near zero. The README is also strong: it explains the static API model, gives npm/browser/Python/PHP/direct-fetch examples, documents endpoint shapes, talks through sharding and CDN behavior, and even includes benchmark claims. The api/client.js implementation is straightforward and easy to inspect, with browser localStorage caching and a memory-cache fallback for Node-like environments. As a user, I could drop this into a CLI, bot, or failed CI message quickly. The biggest gap is testing and package discipline: package.json still has the default failing test script, which undercuts the CI badge and public package story. I’d add tests for manifest fetching, unsupported languages, empty filters, cache expiry, shard selection, and malformed data. The project would also benefit from versioned API docs and a small content-quality policy so new roasts stay funny without becoming needlessly hostile or exclusionary.
