Skip to content

Google Summer of Code 2026 Ideas List

Sanket Shevkar edited this page Feb 4, 2026 · 21 revisions

1. Agentic Workflow for Drafting Templates

Currently people can draft and play around with Accord Project Templates either by using their code editors with the Accord Project Extension or using Template-Playground. A person drafting template needs to have the following, legal/domain knowledge, along with the Accord Project Stack knowledge. In this project we aim to use an agentic workflow orchestrator like crew ai, define specialist agents and generate Accord Project Templates just by taking in the template requirements from the user via a CLI or a UI interface.

Expected outcomes:

  • Define Agent Personas and Tasks such that they can be used with any agentic workflow orchestrator.
  • Integrate tool calling for Accord Project tools like concerto, template-engine to validate the templates (model, text and logic) generated by workflow.
  • Option to choose AI models
  • CLI interface, similar to gemini-cli or claude code, where user can add their template requirements in natural text.

Skills required/preferred:

Backend development: TypeScript, MCP, Python

Mentors:

Sanket Shevkar, Niall Roche

Size:

90hrs / 8 weeks

Category

Risky/Exploratory

Difficulty:

Medium

2. Concerto Graphical Editor

Building data models (or schemas) in Concerto is limited today to writing code in a text editor, or using an API. This project aims to create a graphical web editor for Concerto files. This is expected to make it easier to explain the meaning of a data model without teaching syntax. The editor can take inspiration from a traditional UML-like editor or a Blockly-like editor or something else. For reference, see this project which creates web forms from a Concerto schema.

Consider how this editor would be used to describe the data in agreements document or clauses and their templates as well as other non-legal entities. Scope your solution to include basic type composition, and enumerations, but also consider how to represent more advanced modeling capabilities such as inheritance, abstract types, relationships, arrays and maps.

Expected Outcomes:

A tool that allow users to:

  • Open and edit a Concerto model on a web page
  • Integration into Template Playground

Skills required/preferred:

Web development, TypeScript, d3, React Flow, Blockly, or similar graphical frameworks

Possible Mentors:

Matt Roberts, Priyanshu Singh

Expected size of project:

175hrs / 12 weeks

Category

Core development

Expected difficulty:

Medium

3. Template Logic Support for Playground

Extend Template Playground to support Templates with TypeScript logic. Currently, Template Playground supports merging the agreement data modelled using Concerto with TemplateMark templates to generate AgreementMark output document. In the project, the expectation is to build support to trigger contract logic implemented in Typescript. This repo consists of an example of an Accord Project template with logic.

Expected Outcomes:

A tool that allow users to:

  • Open and edit templates that contain Template Logic in Template Playground
  • Test execution of templates within Playground, submitting requests and seeing responses, state updates and emitted events

Skills required/preferred:

Web development, TypeScript

Possible Mentors:

Dan Selman, Sanket Shevkar

Expected size of project:

175hrs / 12 weeks

Category

Core development

Expected difficulty:

Medium

4. APAP and MCP Server

Extend and harden the APAP and MCP servers, exposing template operations to MCP clients like ChatGPT, Claude etc. Refer to the experimental MCP support to the APAP server that's being already implemented.

Expected Outcomes:

Improve the testing, quality and functionality of APAP/MCP servers:

  • System tests
  • Documentation and tutorials for using APAP/MCP with the major MCP clients
  • Functional extensions and developer experience improvements

Skills required/preferred:

Backend development: TypeScript, Postgres, MCP

Possible Mentors:

Niall Roche, Dan Selman

Expected size of project:

175hrs / 12 weeks

Category

Core development

Expected difficulty:

Medium

5. Create a new Concerto runtime for multi platform deployment

Current Concerto runtime is based in JavaScript. It can run in browser, and also outside the browser via NodeJS. However, integrating this runtime or components of the runtime in other languages, like C# is extremely hard. Usually requires shimming a JS runtime.

The aim of this project is to port the JavaScript runtime to a language that can be used directly or can produce artefacts suitable for integration to other languages. Rust, with its wide range of compilation targets, as well as ability to use C ABI is a perfect candidate for such task. On top of all that, having a formally provable memory safety as part of the language will add extra security on the runtime.

This is a good project if you want to try your hand in secure-first code with interoperability in mind.

Expected outcomes:

  • Port runtime validation logic to Rust. We have a proof of concept structural validation already (concerto-validate-rs), and another PoC for Rust model manager (concerto-rust)
  • Update and extend the previous year’s GSoC project, concerto-conformance repository to validate the port. We have the Cucumber support files for Rust in place.
  • Integrate validation runtime to existing JS runtime using WASM.

Stretch goals:

  • Create a complete runtime in Rust.
  • Publish relevant packages to Cargo.

Skills required/preferred:

Backend development: Rust, Typescript

Mentors:

Ertugrul Karademir

Size:

175hrs / 12 weeks

Category

Core development

Difficulty:

Hard

6. Testing for Code Generation Targets

We have tools that allow users to generate code from their Concerto models, supporting several languages. We would like to introduce a way of testing the correctness of the code generation that compiles code for each language we are generating.

Expected Outcomes:

  • Set of Docker images for each code generation target
  • Run code gen tests within the correct image using GitHub actions, for example, generate Java code that imports the codegen artifacts, and then compile and run it using javac to ensure the generated code is correct

Skills required/preferred:

  • Systems engineering, CI/CD
  • Docker, Docker compose
  • GitHub actions

Possible Mentors:

Ertugrul Karademir

Expected size of project:

90hrs / 8 weeks

Category

Infrastructure/Automation

Expected difficulty:

Medium

7. LLM Based Template Logic Executor

Implement a generic / general purpose template logic executor using an LLM for reasoning. The input to the executor are requests/transaction that represent real-world contract events (modelled Concerto types, with instances as JSON data) and the output from the executor are state changes, response JSON objects and event JSON objects. The generic executor would take the contract text, the current state of the contract and the incoming request and evaluate the logic of the contract using an LLM to produce output objects and new state.

Expected Outcomes:

  • A generic executor implemented in TypeScript/JS which delegates to a reasoning LLM and can be associated with an Accord Project template that does not have an explicit TypeScript logic file. It should be integrated into the trigger and init functionality in the TemplateArchiveProcessor.
  • Configuration parameters to specify how to call the LLM and the API keys to use

Skills required/preferred:

  • TypeScript
  • LLM APIs

Possible Mentors:

Dan Selman

Expected size of project:

90hrs / 8 weeks

Category

Core development

Expected difficulty:

Medium

Clone this wiki locally