Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Cham

The problem

Most programming tools speak English only, and their errors assume you already know the jargon. For a Ukrainian student in Poland that means two barriers before the first working app.

What it does

Cham is a small backend tool whose every message, from a typo in your script to a missing form field, comes in Ukrainian, Russian or English and says what to change. A route is a few lines of plain steps:

when someone posts /orders:
    need name, phone, item
    time = now
    order = save name, phone, item, time to orders
    answer "Thanks, " + name, order

The language is tiny, so a beginner can read the whole program. One Rust binary serves the JSON API, file storage and a static site.

Demo apps

An order page for a shawarma stand with a kitchen queue, and a lab equipment booking grid that refuses double bookings.

How we built it

Rust, tiny_http, serde_json; vanilla HTML/CSS/JS. Every message sits in one table in msg.rs.

Open source

MIT licensed. Adding a language means filling one table.

Live demo: https://cham-playground.yasenvarf.workers.dev/ Repo: https://github.com/yava-code/cham

Built With

Share this project:

Updates

Submission history