Enhanced Interaction and Navigation in JSON Schema Studio
Brief Description
JSON Schema Studio is an open-source tool that visualizes JSON Schemas as interactive graphs, helping developers understand and debug complex schemas. This project was part of GSoC 2025, and we successfully released the first beta this year, receiving strong and positive feedback from the community. There remains significant scope for further improvements and feature additions.
This GSoC 2026 project focuses on improving interactivity, navigation, and rendering correctness by enhancing dependency ordering, editor synchronization, collision handling, and user-driven exploration features, including collapsible nodes, bidirectional editing, and focused graph navigation.
Expected Outcomes
- Topologically sorted rendering of
$defs dependencies: Ensure $defs schemas are rendered in dependency order to handle chained and recursive references correctly.
- Validation error navigation: When schema validation errors occur, clicking an error highlights and scrolls to the corresponding line number in the editor.
- Edge collision resolution: Reduce edge overlappings to improve readability in large graphs.
- Edge-based navigation controls: On hovering over an edge, display navigation buttons that allow users to:
- Focus and center the source node
- Focus and center the target node
- Fix handle misalignment on live edits: Ensure node sourcehandles remain correctly positioned when schemas are edited dynamically in the editor.
- Distinct visualization for multi-type schemas: Clear and intuitive rendering for nodes with multiple types (e.g.
["string", "null"]) using visual elements such as segmented styles, badges, or patterns.
- File upload support: Allow users to upload JSON Schema files directly into the application for instant visualization.
- Downloadable visualization output: Enable exporting the visualization as an image or file for documentation and sharing.
Skills Required
- JavaScript/TypeScript
- Reactjs
- Understanding of visualization library (ReactFlow)
- Understanding of JSON Schema
Mentors
@AgniveshChaubey
Expected Difficulty
Small
Expected Time Commitment
90 hrs
If you have any questions, feel free to ask in the gsoc-visualization-tool slack channel.
Enhanced Interaction and Navigation in JSON Schema Studio
Brief Description
JSON Schema Studio is an open-source tool that visualizes JSON Schemas as interactive graphs, helping developers understand and debug complex schemas. This project was part of GSoC 2025, and we successfully released the first beta this year, receiving strong and positive feedback from the community. There remains significant scope for further improvements and feature additions.
This GSoC 2026 project focuses on improving interactivity, navigation, and rendering correctness by enhancing dependency ordering, editor synchronization, collision handling, and user-driven exploration features, including collapsible nodes, bidirectional editing, and focused graph navigation.
Expected Outcomes
$defsdependencies: Ensure$defsschemas are rendered in dependency order to handle chained and recursive references correctly.["string", "null"]) using visual elements such as segmented styles, badges, or patterns.Skills Required
Mentors
@AgniveshChaubey
Expected Difficulty
Small
Expected Time Commitment
90 hrs
If you have any questions, feel free to ask in the gsoc-visualization-tool slack channel.
As part of the initial qualification tasks, please include the following in your proposal:
The handler for the
dependentSchemaskeyword has not yet been implemented. Create a handler for this keyword and explain in detail the logic you implemented. The purpose of this task is to ensure that you understand how Hyperjump JSON Schema is used internally, particularly how schemas are compiled and how nodes and edges are generated in the visualization layer.Note: You are not required to open a PR for this at this stage. The actual handler will be added later.
Describe your approach to implementing topologically sorted rendering of
$defsdependencies, and explain WHY you chose that approach…