Post

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:

InputExamples
JSONSample objects, API responses
JSON SchemaValidated document shapes
TypeScriptInterface definitions
GraphQLQuery 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:

  1. Generate JSON Schema from sample data
  2. Review and commit the schema to the repo
  3. 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

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.