Conjure
The constraint programming ecosystem
AI
LANGUAGES
SWE
RESEARCH
RUST
FRONTEND
September 2023 - June 2025
Source: https://github.com/conjure-cp
As part of the AI for Decision-Making Vertically Integrated Project (VIP) at the University of St Andrews, I worked on the Conjure ecosystem—an open-source toolchain for modeling and solving constraint problems. My contributions centered on the design and implementation of Conjure Oxide, a Rust-based tool for rewriting a high-level specification language for multiple solver backends.
Over two semesters, I implemented and extended key systems including:
- A modular rule registry and rewriting engine, enabling scalable rule management with runtime control.
- Constant, type, and bound evaluation for expressions to support efficient model simplification.
- A formal system for handling reduction side effects, including undefined expressions and auxiliary constraints.
- A front-end JavaScript client for Conjure-as-a-Service, simplifying web integration and solution polling.
In addition to my individual development work, I collaborated closely with other developers, contributed to internal documentation, and helped debug and onboard new team members. I now volunteer as a mentor for new contributors, offering technical support and guidance to those working on Conjure Oxide and related tools.
This project significantly deepened my understanding of constraint programming, expression semantics, and rewriting systems, while also giving me experience in collaborative development using a modern language and development tools.
A full report of my second semester on the project is available here.