{ } Schemato

Build in public

Changelog & roadmap

Schemato is built in public. This page is updated whenever something ships. If you want to follow along, the GitHub repo also has every commit.

Roadmap

  • ShippedAll 10 input formats live (JSON, JSON Schema, OpenAPI, GraphQL, SQL, Protobuf, Prisma, TypeScript, Mongoose, Avro)
  • ShippedAll 15 output languages live (TS, Zod, Yup, Joi, Pydantic, dataclass, Go, Rust, Swift, Kotlin, Java, C#, Dart, PHP, Ruby)
  • ShippedPer-input multi-sample tabs
  • ShippedScenario-specific SEO copy for the most-searched 30+ pairs
  • In progressAwesome-list submissions for high-quality backlinks
  • In progressWatching Google Search Console for the first impressions to roll in
  • Up nextDiscriminated unions for `oneOf` JSON Schema
  • Up nextMulti-sample inference: paste several JSON shapes, get a unified type
  • Up nextCopy-as-curl button for API testing flows
  • LaterCLI: `npx schemato json-to-zod < schema.json`
  • LaterVS Code extension: select JSON, run `Convert to Zod`

Changelog

Search-backed JSON guides

docsux
  • Published /guides/json-to-typescript for the broad json to typescript search intent.
  • Published /guides/json-to-go-struct for the broad json to go / json to go struct search intent.
  • Linked the new guides from the homepage or guide index, matching converter pages, sitemap, and RSS feed.
  • Kept JSON → Zod as the next step for runtime validation instead of replacing it.

Guides section is fully populated

docs
  • Published /guides/openapi-to-typescript — when you don't need a full openapi-typescript / orval generator.
  • Published /guides/sql-to-go-struct — turn DDL into a struct that scans with database/sql or sqlx.
  • All 4 guides on the index are now real, no more placeholders.
  • RSS feed includes all 4 guides plus the changelog stream.

Hub pages, comparison page, first guides + RSS

featdocs
  • Added 10 input-format hub pages at /format/<input> (e.g. /format/json, /format/openapi).
  • Added /compare/quicktype — feature-by-feature comparison with the best-known competitor.
  • Published the first long-form guide: /guides/json-to-zod — step-by-step walkthrough with refinements, fetch validation, React Hook Form, and tRPC integration.
  • Next steps section now appears on every conversion page with code examples for 15 target languages.
  • Sitemap split into 11 files via generateSitemaps.

Build in public — open changelog page

docs
  • Published this changelog page so anyone can see what shipped, when, and what's next.
  • Drafted two technical articles (EN + ZH) about the parser × renderer architecture.

100% live coverage — 149/149 converters

releasefeat
  • Added Mongoose schema input with 15 outputs.
  • Added Avro (.avsc) input with 15 outputs (records, enums, unions, nested records).
  • Every cell of the 10×15 matrix now has a real working converter.

Per-input sample tabs and scenario-specific copy

uxfeat
  • 3-5 real-world samples per input format (User profile, e-commerce order, GitHub issue, Stripe charge, multi-table SQL, etc).
  • Hand-wrote 30+ scenario-specific intros for the most-searched conversion pairs (e.g. json→pydantic for FastAPI, sql→rust-struct for sqlx).
  • Pitfalls section now varies by target language (zod nullable handling, Go zero values, Pydantic strict mode).

OpenAPI input + homepage search

featux
  • Added OpenAPI 3.x input — supports both JSON and YAML formats (with a custom lightweight YAML parser, no external deps).
  • Homepage now has a live search box and All / Live filter tabs.

TypeScript / Protobuf / Prisma inputs

feat
  • Added reverse TypeScript input (interface and type alias).
  • Added Protobuf input (proto3 messages, repeated, optional keyword).
  • Added Prisma schema input (model blocks, relations, optional ? and list [] modifiers).

SQL DDL input and aggregateRating fix

featfix
  • Added SQL DDL input — supports CREATE TABLE for Postgres / MySQL / SQLite shared subset.
  • Switched JSON-LD from SoftwareApplication to HowTo to avoid Google's aggregateRating warning without faking ratings.

GraphQL input and parser × renderer architecture

featperf
  • Refactored conversion pipeline into 10 parsers and 15 renderers, bridged by a single internal Shape type.
  • Added GraphQL SDL input — type / input / interface declarations, non-null and list modifiers.
  • Live converters jumped from 14 to 45 with this change alone.

JSON Schema input — 15 outputs

feat
  • Walks $ref, oneOf, anyOf, allOf into the internal Shape.
  • Required fields, $defs, and nullable types preserved across outputs.

SEO foundations

feat
  • Favicon (SVG) and Apple touch icon set up via app/icon.svg.
  • Static OG image at /og.svg (1200×630, brand gradient).
  • Per-page JSON-LD: HowTo, FAQPage, BreadcrumbList.
  • Sitemap.xml priority differentiated by Live vs Preview pages.

All 14 JSON adapters live

feat
  • JSON → TypeScript / Zod / Yup / Joi / Pydantic / Python dataclass / Go / Rust / Swift / Kotlin / Java / C# / Dart / PHP / Ruby.

Schemato is live

release
  • Domain schemato.top registered and pointed to Vercel.
  • First 3 conversions shipped live (JSON to TypeScript / Zod / Pydantic).
  • Google Search Console verified, sitemap submitted.
  • Repository public on GitHub: https://github.com/weitaishan/schemato.

Want to suggest a feature? Open an issue on GitHub.