Bowtie and the World of JSON Schema

The world of JSON Schema is immense. JSON Schema tooling exists in countless languages across a variety of uses (data validation of course a noteworthy and prominent one). Implementing the JSON Schema specification(s) in a fully compliant way is not without challenge, meaning as a user of JSON Schema it is important to understand how a particular implementation may deviate such that one can make constructive tooling choices or help implementations improve. Bowtie is a recently created tool to aide in this task, helping to surface the conformance of various JSON Schema tools with the specification by running them against a set of known correct test cases and regularly rendering the results to a web page. But it can do more!

Expected Outcomes:
Enhance (or replace) Bowtie’s simplistic current UI so that it most easily answers “what do various implementations say about each test case” – making it snappier and more featureful
Add support for further JSON Schema implementations by creating Bowtie harnesses in additional languages
Teach Bowtie to compare not only True/False validation results but also the full JSON Schema standardized output formats

Skills Required:
HTML/CSS/Javascript familiarity
Some notion of what JSON Schema is – or equivalently some experience using a similar data validation tool including writing SQL Schemas for databases
Basic experience with any of a broad set of languages with JSON Schema implementations or curiosity to learn enough about them to write a simple program
Some Python experience a strong plus


Project Repo: tbd

Expected Difficulty:

Expected Time Commitment:
175 Hour