go-quicktype — Backendless Typed Models in the Browser
Fork of quicktype with a client-side web app — JSON, Schema, TypeScript, GraphQL → 25+ target languages, no server.
go-quicktype — Backendless Typed Models in the Browser
go-quicktype is a fork of quicktype that ships a backendless browser web app at eslider.github.io/go-quicktype — all transformations run client-side; sample data never leaves the browser.
Repository: github.com/eSlider/go-quicktype
What it does
quicktype generates strongly-typed models and serializers from:
| Input | Examples |
|---|---|
| JSON | Sample objects, API responses |
| JSON Schema | Validated document shapes |
| TypeScript | Interface definitions |
| GraphQL | Query result types |
25+ target languages — Go, Rust, Python, C#, Java, Kotlin, Swift, TypeScript, and more.
Why a browser fork
Upstream app.quicktype.io is excellent but depends on hosted infrastructure. This fork:
- Runs entirely in the browser (offline-capable after first load)
- Publishes static assets to GitHub Pages under the eSlider org
- Keeps the full quicktype engine + CLI in the same repo for local/CI use
Typical workflow
1
2
3
4
5
# CLI (global install)
npm install -g quicktype
echo '{ "name": "David" }' | quicktype -l go -o person.go
# Or paste JSON in the browser app and export Go structs
Recommended pipeline for teams:
- Generate JSON Schema from sample data
- Review and commit the schema to the repo
- Generate language bindings in CI from the schema — single source of truth
Use cases
- API client codegen — REST response → Go/Rust/Python structs
- Config validation — JSON Schema → typed loaders (pairs well with go-config)
- GraphQL clients — query → typed models without hand-maintaining DTOs
- Interop — same schema → multiple language bindings for polyglot microservices
Related
Go libraries toolkit · Markets Platform TradePlatform (typed exchange models)
Tech stack
TypeScript · quicktype engine · GitHub Pages · npm CLI
This post is licensed under CC BY 4.0 by the author.