The gap between a prototype and a product is a hundred small, finished things: validated input, a form that resists spam, a proper social-share image, a bit of polish in the UI. The App Kit hands you those.

Four packages

- @lacspace/validate — zod-lite typed schemas with inferred types.
- @lacspace/form — typed FormData parsing with a built-in honeypot.
- @lacspace/og — dynamic Open Graph image builder (a /og route).
- @lacspace/ui — a live React kit: Reveal, Counter and a ⌘K command palette.
Validate without the weight
import { object, string } from '@lacspace/validate';
const Signup = object({ email: string().email(), name: string().min(2) });
const data = Signup.parse(input); // typed, or throws
Familiar zod-style ergonomics and inferred types — with zero dependencies.
Share images, for free
@lacspace/og renders a branded social card per page at request time — the same engine create-lacspace-app sets up on /og so every generated app already shares beautifully.
Get started
Browse the App Kit at lacspace.com/packages and read the API at lacspace.com/docs. Pair it with the React Kit for the full front-end layer.
Frequently asked questions
What is the Lacspace App Kit?
The App Kit is the set of pieces every product app needs to feel finished — @lacspace/validate (zod-lite typed schemas), @lacspace/form (typed FormData parsing with a built-in honeypot), @lacspace/og (dynamic Open Graph image builder) and @lacspace/ui (a small live React kit: Reveal, Counter, a ⌘K command palette). Zero dependencies.
Is @lacspace/validate like Zod?
It’s a zod-lite: the same ergonomic, typed schema style (object, string, number, with .email(), .min() etc.) and inferred TypeScript types, but zero-dependency and tiny. Ideal when you want schema validation without adding a big dependency.
How does @lacspace/form stop spam?
It parses typed FormData for you and includes a honeypot field technique — a hidden field bots fill in and humans don’t — so you catch most spam submissions without a CAPTCHA.
What is @lacspace/og for?
It builds dynamic Open Graph / social-share images at request time (e.g. a /og route) — so every page gets a on-brand share card automatically, no design tool needed. It’s the same engine create-lacspace-app wires up by default.








