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
- css3
- html5
- javascript
- rust
- serde-json
- tiny-http

Log in or sign up for Devpost to join the conversation.