Public
Visual explorer for Cooper Hewitt design museum collection
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
A visual, masonry-grid browser for the Cooper Hewitt, Smithsonian Design Museum collection — 215,000+ objects of design history to scroll through for inspiration.
Built on top of the museum's public GraphQL API.
- 🖼 Masonry gallery of objects with images
- 🔎 Full-text search + filters (maker, medium, country, department, year range, sort)
- 🎲 "Surprise me" pulls a random slice of the collection when you don't know what you're looking for
- 🏷 Quick presets — Chairs, Posters, Textiles, Art Nouveau, Bauhaus, Japan, 1960s, …
- 🔍 Detail modal with full description, multiple images, maker info, credit line, and deep-link to the Cooper Hewitt website
- ♾ Infinite scroll while searching
- 🔗 URL-backed: every search state is a shareable link (
?q=chair&yearFrom=1900), and every object detail has a hash route (#/object/object-5773)
Rendering mermaid diagram...
main.tsx— Hono HTTP entrypoint. Serves/, static assets, and proxies the GraphQL API at/api/*.frontend/index.html— HTML shell with Twind + custom masonry CSSfrontend/index.tsx— React bootstrapfrontend/components/App.tsx— top-level state, URL sync, infinite scroll, hash-routed modalHeader.tsx— title + "Surprise me" buttonSearchBar.tsx— search field, filter panel, preset chipsGallery.tsx— masonry layout +IntersectionObserversentinelCard.tsx— individual object tileObjectDetail.tsx— modal with gallery, metadata, and external links
shared/types.ts— TS types shared between client and servershared/helpers.ts— formatting helpers (title, maker, date, image selection)
GET /api/objects?q=&maker=&medium=&country=&department=&yearFrom=&yearTo=&sort=&page=&size=— searchGET /api/object/:id— detail for one object (e.g.object-5773)GET /api/random— a random page of objects with imagesPOST /api/graphql— raw GraphQL passthrough (body:{ "query": "…" })
All images and metadata © Cooper Hewitt, Smithsonian Design Museum. Many objects are licensed CC0 — see each object's detail page for its licensing status.