Gridform · Poster Studio
The complete handbook
Gridform is a Swiss-style poster studio that runs entirely in your browser. Design with a real grid and a modular type scale, place anything freely, and export the exact pixels you see. This guide covers the whole product, every feature, and how to use it.
Overview#
Gridform turns a few lines of copy into a finished poster, then lets you refine every detail. It pairs a disciplined design system — a column grid, a modular type scale, and a small set of colour roles — with hundreds of starting layouts, generative exploration, and optional AI assistance. The result stays tasteful because type sizes always come from the scale and positions snap to the grid.
The one idea that matters
Your poster is rendered as a single inline SVG built from a plain data model. That same SVG is the source of truth for the live preview and for every export. There is no second render path and nothing is screenshotted, so what you see is exactly what you get — at any resolution, in any format.
Why this is usefulA headline that fits the preview fits the print PDF. A colour in the preview is the colour in the exported file. You never have to second-guess the output.
Private by design
Everything you create lives in your browser. There is no account and no sign-up, and your work is saved locally on your device. Nothing leaves your machine unless you choose an action that needs the network — using an AI feature with your own key, or fetching a stock image. Exports and shared links never contain your keys.
Who it's for
- Anyone making a poster fast — start from a layout, type your copy, shuffle until it sings, export.
- Designers who want control — a real grid, a baseline, OpenType typography, masks, print marks, and true-vector PDF.
- Teams keeping things on-brand — a brand system, reusable looks, and channel resizing.
Getting started#
Open the app and you already have a finished poster on the canvas. From here you can make it yours in under a minute.
Your first poster
- Open the Content tab in the left rail and replace the placeholder text — a title, a subhead, some meta. The layout reflows as you type.
- Press S to shuffle the style, or open Design → Looks and click a preset to restyle in one tap.
- Pick a Format (a print size or a social size) if you need something other than the default poster.
- Press ⌘E to export — choose PNG, SVG, or a print-ready PDF.
The interface
Top bar
Add elements, undo/redo, the Create and Produce menus, the library, and Export.
Left rail
Eight focused tabs — Templates, Design, Mosaic, Content, Type, Inspire, Motion, Review.
Canvas
Your live poster. Pan, zoom, select, and drag elements directly.
Inspector
The right-hand panel — fine-tune whatever is selected: type, colour, position, effects.
Saving, undo, and sharing
- Autosave keeps your work in the browser as you go — close the tab and come back to it later.
- Undo / redo with ⌘Z and ⌘⇧Z.
- Share a design as a self-contained link or export the document to a file you can re-open.
Press ? any timeIt opens the keyboard cheat-sheet. Press ⌘K to open the command palette and jump to any tool by name.
Core concepts#
A few ideas run through the whole product. Understanding them makes everything else click.
Layouts are data
Every layout is a small data object describing where things go on a grid — not a fixed picture. That is why a layout can carry your copy, adapt to a new format, and be shuffled, bred, or interpolated without ever breaking.
The grid & the type scale
Positions snap to a column grid with margins, gutters, and a baseline. Type sizes come from a modular scale — a ratio applied in steps, so sizes relate to one another instead of being arbitrary. Keeping size on the scale and position on the grid is what keeps even randomised output looking intentional.
Colour roles
Instead of hard-coded colours, elements reference roles: paper (background), ink (primary text), muted (secondary), and accent. Swap a palette and every element re-colours correctly, because each one knows its job rather than its hex value.
Slots vs. free objects
| Slots | Free objects |
|---|---|
| Named placements defined by the layout (title, subhead, image, footer…). | Anything you add yourself — text, shapes, icons, images, charts, tables. |
| Snap to the grid; carry a typographic template you can override. | Placed freely; full control of position, size, rotation, and effects. |
Seeds & locks
Randomness is deterministic: a seed always produces the same result, so you can reproduce a design exactly. Locks let you freeze what you like — layout, palette, fonts, finish — and shuffle only the rest.
Layouts & templates#
The Templates tab is your starting point: a large, curated library of poster layouts spanning editorial, directory, hero-image, type-led, and grid styles. Browse, search by tag, and click to apply your content to a new structure instantly.
The Signature collection
The Signature chip at the top of the layout picker gathers fourteen compositional families designed and quality-gated to the library’s highest bar — staircase reading paths, annotation rails, colossal-versus-whisper scale duets, overlapping colour planes, banded rhythms, justified text slabs, carved whitespace, single-seam alignment, perimeter type rings, restated title registers, photo wells, crossing bands, corner pinwheels, and stepped skylines. Every one grades Excellent with legible type and clean composition before it ships, and each is marked with a small ◆ in the grid.
Social templates & the Social family
For modern software brands there’s a curated Social library: hundreds of ready-to-post templates browsable by use-case — Company, Product, Partnership, Growth, Events, Community, Hiring, Education, Customer Stories, Social Proof, Thought Leadership, and Brand — in every feed and story size (1:1, 4:5, 9:16). Open them from Create → Templates and filter by group, style, and format; each opens as a complete, editable poster. They’re built on a Social family of 192 use-case-tuned compositions (hero, split, bento, big-number, quote, list, band, frame, stack, corner, column, type-as-image, photo, grid, ticket, and tall story layouts) and a set of 24 modern colour systems in the Looks rail. Every template and layout clears the same quality gate as the rest of the library before it ships.
Ways to get a layout
Browse the library
Pick from hundreds of ready layouts; previews show your real copy in each.
Layout Builder
Build a structure by hand on the grid — define slots, columns, and placements.
Layout lineage
“Breed” two layouts to create hybrids that inherit traits from both parents.
Mosaic (Bento)
Generate tidy grid arrangements of images and blocks; shuffle to explore variations.
Content-aware relayout
Layouts adapt to what you give them. Add more copy and text reflows; change the format and the structure re-fits the new proportions instead of stretching. You stay in control — the engine just keeps the composition coherent.
Use [ and ] to step to the previous / next layout while keeping your copy, so you can flip through structures quickly.
Style & colour#
The Design tab is where a poster gets its personality — palette, type pairing, scale, finish, and accent all live here.
Looks
Looks are one-tap aesthetic presets. Each one combines a palette, a font pairing, an optional print finish, and an optional motion preset. There are signature looks plus families organised by mood — neutral, editorial, vivid, dark, warm, cool, pastel, bold, and more — so you can change the entire feel in a click. Save your current design as a custom look to reuse it.
The Style panel
- Scale — the modular ratio that governs type sizing.
- Type pairing — a display + text combination chosen to work together.
- Palette & accent — the colour set and the single highlight colour.
- Paint — fill text or backgrounds with a gradient or a pattern.
- Print finish — grain, halftone, riso, paper, photocopy, or duotone, with an intensity slider. Finishes are baked into the export so the file matches the preview.
Colour Lab
Open Mini Apps → Colour Lab to build palettes with live legibility grades and colour-blind previews (protanopia, deuteranopia, tritanopia, and grayscale), so your choices read clearly for everyone.
Format & artboard#
Set the artboard from Design → Format. Sizes are grouped so you can find the right one fast.
| Category | Examples |
|---|---|
| Paper | A5, A4, A3, A2, A1, Letter, Legal, Tabloid, and poster sizes. |
| Social | Square, portrait, and story sizes for the major channels. |
| Banner | Web & ad units — wide banner, big banner, rectangle, half-page, skyscraper, mobile banner, web hero, and email header. |
| Screen | 16:9, 9:16, 4:3, 3:2, 21:9. |
| Photo | Standard print frames — 2:3, 3:4, 4:5, 5:7, 1:1. |
| Custom | Any width × height you enter. |
Toggle portrait / landscape at any time. Crucially, changing format adapts the design — text rewraps, scale adjusts, and objects reposition to suit the new proportions — rather than stretching a fixed picture.
Need the same idea at many sizes? See Resize for channels under Export & print to generate every channel in one pass.
Typography#
Typography is the heart of the studio. The Type tab holds the typeface library and a full set of refinements.
The typeface library
Over 140 self-hosted families across ten categories — neo-grotesque, grotesque, geometric, humanist, rounded, display, serif-display, serif-text, slab, and monospace. Browse by category or search, and lean on the curated pairings when you want a safe, expressive combination. Fonts are self-hosted, so they render and export identically offline.
Refinements
| Control | What it does |
|---|---|
| Scale & weight | Step the modular scale; set weight, or use a continuous slider on variable fonts. |
| Tracking & leading | Letter-spacing and line-height, tuned per element. |
| Case & alignment | Upper / lower / title; start, centre, end, or justified. |
| OpenType | Ligatures, small caps, tabular & old-style figures, fractions, ordinals, and stylistic sets. |
| Hyphenation | Optional automatic hyphenation for clean justified columns. |
| Baseline grid | Lock text to a shared baseline for vertical rhythm. |
| Optical sizing | Auto-tune letterforms to the size they're set at, where the font supports it. |
Craft is on by default. New posters ship with the full typographic craft pass — kerning, optical margin alignment, optical sizing, baseline lock, balanced line breaks, widow control, and hyphenation — already enabled. The Craft pass switch at the top of the Refine panel flips the whole profile at once; individual toggles fine-tune it. Documents you saved earlier keep exactly the settings they had.
For long-form columns, combine justify, hyphenation, and the baseline grid for a polished, editorial result that holds a clean rag and even leading.
Content & objects#
Edit slot text in the Content tab — one field per slot. Beyond the layout, you can place free objects anywhere on the canvas.
The six object kinds
Text
Full type controls, effects, gradient or pattern fill, and text-on-a-path.
Shape
Lines, rectangles, circles, triangles, arrows, dot grids, bars — filled or stroked.
Icon
Pick from icon libraries or paste vector paths; recolour per path.
Image
Upload, paste a URL, or generate one; crop, mask, and grade it.
Chart
Bar, line, area, or pie from a small data set, coloured by role.
Table
A data grid or label/value pairs with an optional header row.
Editing on the canvas
- Select by clicking; multi-select with ⇧-click or a marquee.
- Move by dragging — smart guides snap to edges, centres, equal gaps, and the baseline.
- Resize with handles; rotate; nudge with the arrow keys (further with ⇧).
- Align & distribute, group, lock, flip horizontally / vertically, and change z-order.
- Set a custom colour on any text, independent of the palette roles.
Craft tools
| Tool | What it does |
|---|---|
| Shape Mask | Clip any text, shape, or icon to a rounded, circle, hexagon, or arch silhouette. |
| Array | Step-and-repeat an element across a grid, a circle, or a line, with eased changes in offset, rotation, scale, and opacity. |
| Contour Wrap | Flow body text around an image's subject with a natural, curved rag. |
| Baseline Feathering | Vertically justify a column to fill its box with every baseline locked to the grid. |
| Armature Compose | Turn the rule-of-thirds, golden, and dynamic-symmetry guides into magnetic snap points, and place the focal element on the strongest one in a tap. |
The Inspector
The right-hand panel adapts to your selection. For a slot, it offers per-element type and colour overrides plus a contrast guard. For a free object, it offers kind-specific controls, layer tools (lock, hide, duplicate, delete), blend mode and opacity, rotation, masks, and constraint pins for auto-layout.
Images#
Add an image by uploading a file, pasting a URL, pasting from the clipboard (⌘V), or generating a procedural one — patterns, gradients, or flowing abstract noise-fields from Abstract Studio and the other Mini Apps. The Image panel and the Inspector give you a full darkroom.
Framing
- Fit — cover or contain; set a focus point so the right part stays in frame, and zoom to taste.
- Mask — clip to a rounded, circle, hexagon, or arch frame.
Treatment & grade
- Treatments — duotone, posterize, grain, invert, threshold, blur, motion blur, and a darkening overlay.
- Darkroom grade — exposure, contrast, saturation, temperature, tint, hue, highlights, shadows, vignette, and grain, all baked export-safe.
Turn on a quiet zone or a legibility scrim when text sits over a busy photo — it keeps the type readable without hiding the image.
Explore & generate#
When you want options, the studio generates them — always tasteful, never random for its own sake.
Shuffle & Surprise
Press S to shuffle the style or R to surprise with a fresh design. Set an explicit seed to reproduce a result, and use locks to hold what you like while the rest re-rolls. Both are quality-gated: each press grades several candidates and gives you the best one that reads cleanly — no more duds.
Explore board
Press V to open the board. Choose a creative direction — Surprise, Bold, Calm, Minimal, Editorial, Image, Mono, Warm, or Cool — and the studio generates a shortlist, grades each candidate on contrast, hierarchy, alignment, and balance, removes near-duplicates, and ranks the best. Click one to adopt it.
Morph
Place two finished designs at the ends of a slider and scrub a continuous path between them. Layout and palette blend smoothly (colour in a perceptual space), and discrete choices snap to the nearer parent — every point along the way is a valid, usable design.
Resonance
Resonance reads the mood of your copy across dimensions like warmth, energy, weight, era, and formality, then suggests a palette and type to match. Nudge the mood sliders, tap a one-tap vibe, or turn on “style as I write” to keep the design in step with the words.
Creative studios
The Create menu opens focused studios that generate art-directed work you can drop straight onto the canvas — each on the single-SVG path, so what you preview is what you export.
Organic
Living generative art — growth, reaction, ink, attractors, and dendrites — across many algorithm families, with a curated gallery of ready styles.
Collage
Art-directed photomontage — overlapping, rotated, and shaped images, credited, on a considered grid.
Screenprint
The analog, hand-pulled silkscreen look — misregistration, ink texture, and halftones — on canvas.
Type as Art
Dimensional 3D headlines and kinetic, breathing type that turns words into the artwork.
Moodboard
A theme becomes a scored, art-directed board of real licensed web imagery — editable as one document.
AI features#
AI is optional and additive. Most of the studio works with no key at all; the AI tools use your own provider key, supplied once and stored only in your browser.
How keys are handledYour key is kept locally and the request goes from your browser straight to the provider — never through a Gridform server. Keys are never embedded in exports or shared links, and you own any provider usage and cost.
What needs a key
| Feature | Requirement |
|---|---|
| Photo → Poster | No key |
| Compose with AI · Quick command | Anthropic key |
| Design Crew · Multi-Agent Studio | Anthropic key |
| Art Direct · Brand Brain | Anthropic key |
| Campaign · Content · Localize · Carousel · Deck | Anthropic key |
| Generate image · AI | OpenAI key |
What each one does
- Compose with AI — describe a poster in words; get a full layout, type, palette, and objects.
- Quick command — say what to change (“make the title bigger and warmer”) and it's applied live.
- Design Crew & Multi-Agent Studio — a team of specialist roles propose, critique, and refine candidates.
- Art Direct — elevate the whole composition in one move.
- Campaign / Content / Localize / Carousel / Deck — turn one brief into many assets, copy variants, translations, a content series, or a presentation.
- Brand Brain — store your brand voice and rules so the AI tools stay on-brand.
- Generate image · AI — turn a prompt into an image, placed straight into a slot.
Photo → Poster needs no key: drop a photo and the studio builds a poster around it, drawing a palette from the image and framing it intelligently.
Motion#
The Motion tab brings a poster to life. Pick a preset, set the speed, and toggle looping — entrances like rise, fade, slide, and stagger, plus continuous moves like a slow pan, float, or pulse.
For full control, the keyframe editor choreographs each element individually — entrance timing, easing, and transforms. When you're happy, export to MP4, WebM, GIF, or an animated SVG that plays in any browser.
Video export uses your browser's built-in encoder. If it isn't available, GIF and animated SVG remain as universal fallbacks.
Export & print#
Press ⌘E to open Export. Because the preview is the source of truth, the file always matches the canvas.
Formats
| Format | Best for |
|---|---|
| PNG / JPG | Screens & social. Choose scale (1× / 2× / 4×) or an exact pixel width; optional Display-P3 wide gamut; optional transparent background. |
| SVG | Crisp vector at any size; fonts and effects are embedded so the file is self-contained. |
| Print. Opt-in true-vector PDF with selectable text and embedded fonts, with an honest fallback to high-resolution raster when an effect can't be vectorised. | |
| Video | MP4 / WebM / GIF / animated SVG for motion designs. |
Print controls
- Press marks & bleed — crop and registration marks with a bleed margin.
- CMYK soft-proof — preview how colours land in print gamut (a simulation, not an ICC conversion).
- Colour separations — output per-channel plates.
- Presets — ready social sizes and print sizes (A-series, US sizes, posters) at the right DPI.
Beyond a single file
Resize for channels
One design → every channel size in a single pass.
Bulk from CSV
Generate a poster per row of data — names, prices, dates.
Documents & decks
Multi-page brochures and multi-artboard slide decks.
Stickers · Embeds · Scenes · Live
Transparent cut-outs, an iframe/SVG embed, in-situ mock-ups, and self-updating live posters.
Quality tools#
The Review tab helps you ship work that holds up.
- Critique — a live score out of 100 with a grade, across four dimensions: contrast (perceptual legibility), hierarchy, alignment, and balance. One click fixes legibility issues.
- Linter — flags specific, located problems: overlaps, near-misses on alignment, too many type sizes or weights, accent overuse, off-grid objects, and awkward column widths. Each finding points to the element and offers a fix.
- Contrast — perceptual (APCA) legibility ratings so text clears a readable threshold on its background.
- Proof — CMYK and colour-blind soft-proof modes to check how the design reads in print and for different vision.
- Publish Gate — a final quality check with auto-fixes before you export.
Brand & Mini Apps#
Define a brand once, then produce unlimited work that is provably on-brand — a complete define → book → produce pipeline, all on the single-SVG path so every export matches its preview.
Build a brand — guided
Build a brand (under Produce) walks anyone through seven small steps — start from a name and one colour, a logo, or a curated start; then colours, typography, logo & imagery, words & voice, review, and produce — with a live poster preview and a readiness meter coaching the next best step at every stage. Each step is a curated slice of the same brand the Advanced studio edits, so you can switch between the two freely. You can keep several brands: switch, start new, duplicate, or delete from the Builder's brand chips or the Advanced studio's header switcher — every brand tool follows the active one.
Colours are fully yours: derive the palette from a seed (curated swatches, any picker colour, or a typed hex, with four harmony schemes) — or flip to Custom and set Paper, Ink, Primary, and Dark exactly as you like. Your picks are kept verbatim while everything derived around them stays readable, and a live contrast readout flags a hard-to-read ink with a one-tap Fix readability.
Brand System · Advanced
The Advanced studio is the full identity workspace — mood, identity, colour, UI, imagery, fonts, iconography, and AI guidelines — deriving a consistent light-and-dark token set, accessible by construction. Share a brand as a link, and Apply to editor pushes its palette, accent, type, and logo onto the current poster in one step.
Brand Book
Build a multi-page Brand Book set in the brand's own colours and type — cover, essence, logo, colour, typography, grid & spacing, iconography, imagery, voice, applications, and a closing page. Toggle sections in or out, choose a cover treatment (standard, minimal, or bold), preview every page live, then download the whole book as print-ready vector PDFs — or export a single page. Flip on Real designs and the "In use" page fills with actual produced work — three on-brand designs generated and placed for you.
Produce on-brand assets
One action turns a saved brand into a batch of unique, on-brand creatives. Pick the channels — posters, banners, social, screen, photo, or stationery (business cards in both orientations, letterhead, email header) — set a tone (bold, calm, editorial, and more) and a count, and the studio fans out distinct compositions, re-stamps each with the brand so it is on-brand by construction, and expands every design across the chosen sizes. Every card carries an On brand ✓ badge and a quality grade you can sort by; open any design straight in the editor, download one, regenerate just that one (same copy, fresh composition) from its hover action, or Export kit for the whole set as a zip. Turn on Elevate to art-direct each design a step further, and — with your own AI key — vary the copy across the batch (without a key, your brand copy carries every design).
Stay on brand
In the Review tab, Brand check grades the live poster against your saved brand — colours, type, accent, and logo — with a per-rule readout and an overall score. A single Make on-brand tap snaps any drift back into line. Your brand logo rides along: where a layout has a logo slot it fills it, and everywhere else it is placed as a clean corner sign-off — transparent, correctly sized, with an equal optical margin on any format.
One bridge, everywhereThe saved brand drives generation through a single seam, so Apply to editor, Produce assets, and Make on-brand all yield the same, consistent brand result.
Mini Apps
Gradient Studio
Linear & radial gradients for a fill or full-bleed background.
Pattern Lab
Tiling patterns — dots, stripes, waves, chevrons, and more — with scale and angle.
Abstract Studio
Flowing noise-field art — topographic, marble, flow, camo and more — quantised into your palette, as a background or fill. Static or live-animated.
Colour Lab
Harmonies with live legibility grades and colour-blind previews.
QR Studio
Turn text or a URL into a crisp, scannable vector QR code.
Keyboard shortcuts#
On Windows, use Ctrl in place of ⌘.
General
Design
Selection
Canvas
Tips & best practices#
- Start from a layout, not a blank page. Type your copy first, then flip layouts with [ / ] to find the right structure.
- Keep hierarchy clear. One dominant element, then supporting levels. Two type sizes often beat five.
- Use one accent. A single highlight colour does more than several competing ones.
- Let alignment do the work. Shared edges read as intentional; the smart guides and the linter help you hit them.
- Lock what you love. Freeze the layout or palette, then shuffle the rest to explore without losing the part you've decided on.
- Check the Review tab before exporting. A quick pass on contrast and the linter catches the small things.
- Mind the medium. Soft-proof for print; pick Display-P3 for vivid screens; export transparent for stickers.
FAQ#
Do I need an account?
No. There's no sign-up. The studio runs in your browser and your work is saved locally.
Where is my work stored?
On your device, in the browser. Export to a file or share a link to keep a copy or move it elsewhere.
Does it work offline?
Yes for the core studio — layouts, type, editing, and export are all local. Only optional actions (AI features, stock images) use the network.
What about the AI features and my key?
They're optional and use your own key, stored only in your browser. Requests go directly to the provider; your key is never embedded in exports or shared links, and you own any provider cost.
Will my export match the preview exactly?
Yes — the preview and the export are the same SVG, so colours, type, and effects carry over precisely at any resolution.
Why can't I export video sometimes?
Video encoding depends on your browser's built-in encoder. When it isn't available, use GIF or animated SVG.
Glossary#
| Term | Meaning |
|---|---|
| Slot | A named placement defined by a layout (title, image, footer…). |
| Colour role | A semantic colour — paper, ink, muted, accent — that re-colours when the palette changes. |
| Modular scale | A ratio applied in steps to give related, harmonious type sizes. |
| Baseline grid | A shared horizontal rhythm that lines up text across columns. |
| Seed | A number that makes randomness reproducible — same seed, same result. |
| Armature | Classical composition guides (thirds, golden, dynamic-symmetry) whose crossings are focal “eyes”. |
| Baseline feathering | Vertically justifying a column so it fills its box with baselines on the grid. |
| Quiet zone | A calmer region of an image reserved so overlaid text stays legible. |
| Soft-proof | An on-screen simulation of how colours will look in print or for colour-blind vision. |
| Bleed | Extra art past the trim edge so printed colour runs to the border with no white slivers. |
| Display-P3 | A wide colour gamut for richer, more saturated colour on capable screens. |
| Optical sizing | Adjusting letterforms to the size they're set at for better reading. |
Developers · MCP#
The whole studio is also available to AI assistants and scripts through a Model Context Protocol server. It runs locally on your machine and drives the very same engine — the same one inline SVG, deterministic by seed — so an assistant can design, refine, reformat, and produce real posters for you, returning PNG, SVG, print-ready PDF, and JPG inline. 29 tools, most needing no API key.
What an assistant can do
Generate
A poster from text or a paste, a synthesized content-fit layout, a best-of-N bento grid, or a mood-matched look.
Vary & refine
Shuffle, surprise, a graded shortlist of directions, morph two designs, art-direct (never worse), and critique with a score.
Reformat & produce
Resize to any format, and export PNG · SVG · print-ready PDF · JPG — or render every channel size in one call.
With AI
A brief → a full design, a multi-asset campaign, copy, translations, and critique-and-fix — using your own key.
Connect it
- With Node 20+ installed, add the server to any MCP client — a desktop assistant, an IDE, or an agent. Nothing to clone or build:
npxfetches the publishedgridform-mcppackage on first run and caches it. - For Claude Desktop, add this to
claude_desktop_config.json(the key is optional):
{
"mcpServers": {
"gridform": {
"command": "npx",
"args": ["-y", "gridform-mcp"],
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
}
}
}
The engine tools work immediately with no key. The AI tools use a key you supply — per call, or in the client's environment.
Browse & scaffold
Beyond tools, the server publishes resources — JSON catalogs of the layouts, looks, formats, palettes, fonts, and vibes, plus rendered specimen sheets you can preview — and ready-made prompts for briefing, critiquing, planning a campaign, and localizing.
Runs on your machine. The server installs from npm (gridform-mcp) and runs locally — nothing is hosted and your key stays with you. The config above is all you need to start; the full tool reference lives on the package's npm page.