Skip to content

GSoC'26 Problem Statement Proposal: Visual Data Input & Execution Debugger for Template Playground #479

@Rahul-R79

Description

@Rahul-R79

Visual Layer for Smart Legal Contracts (Playground Debugger)

The current Template Playground presents a significant usability barrier for non-technical users ("Legal Engineers"). To test a Smart Legal Contract, users must manually edit a raw JSON object (e.g., manually typing "$class": "...", "quantity": 3) to simulate input data. Furthermore, the execution of contract logic remains a "black box"—users see the final output but lack transparency into how the logic processed the data (e.g., knowing which specific conditions triggered a penalty). I propose implementing a "Visual Layer" that includes a Dynamic Form Generator to abstract away raw JSON and a Visual Execution Trace to debug contract logic.

Proposed UI Concept:

(Note: The image above is a conceptual mock-up generated to showcase the proposed "Dynamic Form" and "Visual Trace" layout. The actual implementation will be built from scratch to match the Accord Project design system.)
Image

Expected Outcomes:

A tool that allows users to:

  • Automatically generate a user-friendly input form from any active Concerto Model (.cto), mapping primitives like Integer or DateTime to UI inputs instead of JSON.
  • Run a contract "Test" that simulates a Request/Response cycle without touching code.
  • Visualize the execution flow of the contract logic (e.g., via a flowchart or step-by-step trace) to see which clauses were active types.
  • Inspect the final state of contract variables (e.g., calculatedPenalty, status) in a dedicated panel.
  • Bidirectionally sync data: updates in the Form automatically update the underlying JSON.

Skills required/preferred:

React, TypeScript, Tailwind CSS, AST Traversal (Concerto), State Management (Zustand), Visualization Libraries (e.g., React Flow)

Possible Mentors:

TBD

Expected size of project:

350 hours (Large)

Expected difficulty:

Medium

Tag: GSoC'26 Problem Statement Proposal

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions