Inspiration

Code models often generate text first and repair invalid output later. ShaSha explores a different approach: let the model choose meaning while the system controls syntax.

What it does

ShaSha turns structured actions into valid Rust. A guided web demo shows three deterministic examples, while a separate Rust prototype selects actions and checks each result with rustc.

How we built it

We built the interface with React, TypeScript, and Vite. The prototype uses Rust and Candle, with a controller, deterministic renderer, and compiler validation.

Challenges we ran into

We had to keep generated actions legal, preserve symbol references, and produce distinct Rust identifiers. We also kept the demo honest about its fixed UI paths and untrained model.

Accomplishments that we're proud of

We made each semantic choice visible beside its rendered Rust. We also built an end-to-end prototype that rejects code when syntax or type checks fail.

What we learned

Code generation becomes easier to inspect when models choose constrained actions instead of raw text. Compiler validation proves structural correctness, but not whether code matches a prompt.

What's next for ShaSha

We plan to train on prompt-action pairs, support richer Rust programs, compare semantic accuracy with text generation, and connect the UI to inference.

Built With

Share this project:

Updates

Submission history