diff --git a/.claude/skills/content-create-hero-image/README.md b/.claude/skills/content-create-hero-image/README.md
index b6d5c056fa..f102bd7c03 100644
--- a/.claude/skills/content-create-hero-image/README.md
+++ b/.claude/skills/content-create-hero-image/README.md
@@ -1,7 +1,10 @@
# Create blog hero & meta images
Produces an editable **SVG hero** and a **pixel-exact PNG meta** image for a Prisma blog post in
-the Eclipse visual style, using the bundled brand tokens, logos, and fonts. The hero SVG is the
+the 2026 Prisma brand, using the bundled brand tokens, logos, and fonts. It is an **editorial
+art-direction system**: every cover starts from the article's core message and strongest visual
+highlight, which route to a component family (chart, metric, table, code, query, flow, object,
+prism, gradient field, type) with one gradient/light treatment — never from "which template". The hero SVG is the
source of truth; the PNG is the export, and the meta image is always raster (Open Graph and social
cards do not render SVG).
@@ -46,7 +49,8 @@ both to a durable path.
Covers are a **render → critique → fix** loop. Don't judge the SVG source — judge the raster.
Critique with [`references/design-review.md`](references/design-review.md) — a structured pass
-(first-impression → 10 categories graded A–F → AI-slop check → worst-first fixes), adapted from
+(first-impression → 14 categories graded A–F at full size AND thumbnail size → AI-slop check →
+worst-first fixes), adapted from
the [gstack `design-review`](https://awesomeskill.ai/skill/gstack-gstack-design-review) skill.
Anything below a B is a finding; fix and re-render until every category clears.
diff --git a/.claude/skills/content-create-hero-image/SKILL.md b/.claude/skills/content-create-hero-image/SKILL.md
index db15223a96..86695e298d 100644
--- a/.claude/skills/content-create-hero-image/SKILL.md
+++ b/.claude/skills/content-create-hero-image/SKILL.md
@@ -1,9 +1,9 @@
---
name: content-create-hero-image
-description: Use when the operator wants a hero or meta image for a Prisma blog post; asks to create or generate a blog hero, cover, social card, Open Graph, or YouTube image; mentions cover art, a blog thumbnail, cover.svg/hero.svg/meta.png; references content-create-hero-image; or wants to interactively design cover imagery in Prisma's 2026 brand (light paper, prism accents, Sora). Produces an editable SVG hero plus a pixel-exact PNG meta image, and includes an interactive mode and a built-in design-review pass.
+description: Use when the operator wants a hero or meta image for a Prisma blog post; asks to create or generate a blog hero, cover, social card, Open Graph, or YouTube image; mentions cover art, a blog thumbnail, cover.svg/hero.svg/meta.png; references content-create-hero-image; or wants to interactively design cover imagery in Prisma's 2026 brand (light paper, prism accents, Sora). An editorial art-direction system - each cover is derived from the article's core message and strongest visual highlight, routed to a component family (chart, code, table, flow, object, abstract, type) with one light treatment. Produces an editable SVG hero plus a pixel-exact PNG meta image, and includes an interactive mode and a built-in design-review pass.
metadata:
author: Prisma
- version: "2026.8.11"
+ version: "2026.8.20"
---
# Create blog hero & meta images
@@ -25,18 +25,22 @@ Use [`README.md`](README.md) for usage and sample prompts; this `SKILL.md` is th
## References (load on demand)
-- [`references/design-system.md`](references/design-system.md) — colors, fonts, layout recipe, the **content-module catalog**, formats, sources. **Read before designing.**
+- [`references/design-system.md`](references/design-system.md) — colors, fonts, layout recipe, formats, sources. **Read before designing.**
+- [`references/component-library.md`](references/component-library.md) — the content component families (chart, table, code, query, flow, object, prism, field, type), the article→visual routing heuristic, and the world-class-cover calibration. **Read before choosing a visual.**
+- [`references/gradient-system.md`](references/gradient-system.md) — the light treatments (wash, bloom, glow, spectrum, edge, beam, mesh, aurora, fade mask) as SVG recipes, plus gradient anti-patterns.
- [`references/design-review.md`](references/design-review.md) — structured critique (A–F grades, AI-slop list, fix loop), adapted from the gstack `design-review` skill. **Read before the review pass.**
- [`assets/tokens.json`](assets/tokens.json) — machine-readable tokens; the source of truth for hex/font values.
- [`references/figma-source.md`](references/figma-source.md) — what `SOCIALS.fig` contains and how it was extracted.
- [`references/figma-mcp.md`](references/figma-mcp.md) — **optional**: pull live specs/assets from the Prisma Figma workspace when a Figma MCP is connected.
- [`assets/logos/`](assets/logos/) — official Prisma logo/symbol, Prisma 8 mark + lockup, Postgres/Compute icons (`README.md`).
- [`assets/fonts/`](assets/fonts/) — bundled brand fonts (Mona Sans, Inter, Geist Mono); used by the scripts.
-- [`assets/templates/cover.svg`](assets/templates/cover.svg) — parameterized starting template.
+- [`assets/templates/`](assets/templates/) — modular starting families (`editorial`, `chart`, `code`, `table`, `flow`, `object`, `abstract`) sharing canvas/typography/token setup but **not** one composition; `cover.svg` is the legacy general-purpose base. Each carries the reusable primitive defs (wash, bloom, spectrum, beam, fade mask, grain).
- [`assets/examples/`](assets/examples/) — worked hero/meta pairs per content module. **Pre-rebrand (dark Eclipse era): study for composition and module structure ONLY — their palette, fonts, and surfaces are retired.** The current quality bar is the newest committed covers in `apps/blog/public/*/imgs/`.
- [`assets/hero1.svg`](assets/hero1.svg)–[`hero4.svg`](assets/hero4.svg) — abstract reference heroes, also pre-rebrand; same structure-only caveat.
- [`scripts/embed-fonts.py`](scripts/embed-fonts.py) — inline the brand fonts into the SVG as base64 `@font-face`. **Run first.**
- [`scripts/export-png.sh`](scripts/export-png.sh) — render the font-embedded SVG to PNG via headless Chrome so the PNG matches the SVG in a browser exactly. **Run second.**
+- [`scripts/validate-covers.sh`](scripts/validate-covers.sh) — machine-check dimensions/size/fonts/frontmatter for a slug list or `--all`.
+- [`scripts/contact-sheet.sh`](scripts/contact-sheet.sh) — thumbnail contact sheets for batch review.
## Output contract
@@ -132,13 +136,38 @@ reconcile `tokens.json` against the live Eclipse variables, sight the current co
layout/dimensions, and re-export any stale logos. Read-only — never edit the shared file. If no
Figma MCP is connected, skip this; the committed assets are the default.
-### 1. Read the blog context
+### 1. Read the article and extract its message
-Extract: main product, core concept, audience, and intended emotional register (launch /
-educational / conceptual / editorial / technical). Given an `index.mdx`, read the frontmatter
-(`title`, `metaDescription`, `slug`) and the lead paragraph. Given a `prisma/web` PR URL, fetch
-the PR metadata and changed blog files, then design one hero/meta pair per changed post unless the
-operator asks for a single combined cover.
+The cover is driven by the article, never by a template. Do not start from "which layout?" —
+start from "what is the most important idea in this article, and what visual best communicates
+it?" Given an `index.mdx`, read the frontmatter and enough of the body to know what the piece
+actually shows (code, numbers, architecture, story). Given a `prisma/web` PR URL, fetch the PR
+metadata and changed blog files first.
+
+Write down, before any drawing:
+
+- **Primary message** — one sentence: *what should the reader understand after reading this?*
+- **Core highlight** — one concrete idea from the article that can become the visual focus.
+ Prefer, in order: a meaningful result → a surprising comparison → a product capability → a
+ technical mechanism → a meaningful code pattern → an architecture relationship → a memorable
+ conceptual idea. ("Query latency dropped from X to Y" → a chart with Y emphasized; "one
+ expensive query causes most reads" → a query row with the read count highlighted; "this
+ workflow reduces migration to three steps" → a three-stage flow.)
+- Never invent numbers, claims, code, or technical details — everything shown must come from
+ the article or another approved repository source.
+
+Also extract: main product, audience, and emotional register (launch / educational /
+conceptual / editorial / technical).
+
+### 1b. Derive the cover title (separate from the article title)
+
+Never place the full blog title on the image by default — the thumbnail renders directly
+*beside* the real title, and metadata keeps the real title regardless. If text helps, derive a
+short editorial title: **~3–7 words, max two lines**, strong display hierarchy, readable at
+social-preview size, and not a marketing claim ("How we improved Prisma Postgres performance
+for serverless applications" → `Faster Postgres` / `for serverless`). **If the visual already
+communicates the message, no headline is a first-class choice.** Blog frontmatter titles are
+never modified to fit a cover.
### 2. Gather inputs — interactive or inferred
@@ -176,21 +205,35 @@ produce N separate `hero`/`meta` pairs (`hero-a`, `hero-b`, …) and present the
every "must be present" element and the chosen logo/skew/background; creative direction still
obeys the anti-patterns and the design-review bar — creative ≠ slop.
-### 3. Choose a visual direction
-
-Decide a concept that's literal-but-elegant, never generic. Pick: surface (light paper default /
-ink dark only with a stated reason), product accent, kicker label, the **content module** that fits the content (see
-`design-system.md` → _Content modules_: pipeline/flow, data/log panel, terminal, code card,
-comparison card), and whether a product lockup belongs in the composition. Anchor every choice in
-`design-system.md`. One accent, one idea, strong hierarchy, generous space.
-
-Before drawing, write a compact design brief for yourself:
-
-- **Message:** the one sentence the cover must communicate.
-- **Metaphor / module:** the concrete visual structure, preferably from the post itself (log,
- stream, config file, deploy target, image pipeline, chart, …).
-- **Product signal:** the product logo/icon to use, or "Prisma only" if no product owns it.
-- **Output path:** the discovered blog asset path, the example path, or the fallback path.
+### 3. Design brief — establish before rendering
+
+Route the highlight to a **component family** via
+[`references/component-library.md`](references/component-library.md) (HeroChart,
+MetricComponent, ComparisonTable, CodeWindow, QueryPanel, ArchitectureFlow, DatabaseObject,
+PrismObject, GradientField, TypeMark) and pick **one** light treatment from
+[`references/gradient-system.md`](references/gradient-system.md). Surface is light paper by
+default; dark only with a stated reason. Anchor exact values in `design-system.md` /
+`tokens.json`.
+
+Write the brief before drawing — every field, explicitly:
+
+- **Core message:** the one sentence from step 1.
+- **Highlight:** the specific fact, mechanism, result, or idea that becomes visually dominant.
+- **Visual metaphor:** the simplest form that communicates it.
+- **Component:** which family carries it (chart, table, code, query panel, flow, object,
+ abstract, type).
+- **Product & accent:** the owning product and its canonical prism accent.
+- **Gradient:** the single light treatment that reinforces the concept — and what that light
+ is *doing* (atmosphere, emphasis, movement, material).
+- **Headline:** the derived cover title from step 1b, or "none".
+- **Empty space:** which area of the canvas stays deliberately open.
+
+**Composition principles:** one dominant visual element, asymmetrical balance, obvious
+hierarchy, large forms, fewer better components — *one idea, one hero, one highlight, plenty
+of space*. Component budget: 1 hero component, 0–1 supporting, 1 gradient treatment, 0–1
+kicker, 0–1 headline, 0–1 brand mark. One obvious focal element the viewer finds in under a
+second; never competing highlights; never fill space because it exists. Simplicity comes from
+editing, not from blandness.
### 4. Select assets
@@ -203,11 +246,13 @@ hex/fonts from `tokens.json`; do not introduce off-system colors, fonts, or stoc
### 5. Generate the SVG
-Copy `assets/templates/cover.svg` and fill the `{{TOKENS}}`, or hand-compose when the graphic is
-the message (e.g. a chart) — keep the layer groups (`background`, `badge`, `headline`, `brand`,
-`chart`) so it stays editable. Hand-wrap the title into 1–3 lines (drop title size to 56px if > 30
-chars). Set the eyebrow/badge pill width to roughly `(label length × 14) + 48`. Include the
-`
`/`` metadata.
+Copy the `assets/templates/` family that matches the brief's component (fall back to
+`cover.svg`), fill the `{{TOKENS}}`, and replace its placeholder module with the real one — or
+hand-compose when the graphic is the message (e.g. a chart). Keep named layer groups
+(`background`, `kicker`, `headline`, `module`, `brand`) so it stays editable, and reuse the
+primitive defs (`wash-*`, `bloom`, `spectrum`, `beam`, `fadeMask`, `grain`) instead of
+duplicating raw gradient stops. Hand-wrap the headline into 1–2 lines. Include the
+``/`` metadata (the full post title belongs in ``, not on canvas).
**Fonts (avoid the #1 off-brand bug):** the brand faces are **Sora** (headings/display, weight
500, emphasis 600 — never 700+), **Inter** (body 400, kicker labels 600), and **Mona Sans Mono**
@@ -243,6 +288,19 @@ Tie any header number to the data it labels, and highlight the "live"/current el
`]*xml:space` and move any hit down onto the individual `` elements.
- **Long words don't wrap.** SVG `` has no auto-wrap — hand-split into `` lines with
explicit `x`/`dy`.
+- **A bare `&` makes the whole file unparseable.** An unescaped `&` (in a ``, a label,
+ anything) turns the render into an XML error page — Chrome writes that error page out as
+ your PNG. Escape as `&`; likewise `<` → `<`.
+- **Chrome ignores `text-decoration-color` in SVG.** A strike-through renders in the text
+ color no matter where the style sits, so an accent-colored strike silently comes out grey.
+ Measure the line's ink box (`magick -trim`) and draw an explicit accent `` instead.
+- **Don't nest the lockup group's transform.** The templates wrap the lockup in
+ ``; if you paste that wrapper *inside* another
+ positioned group, the transforms compose and the mark lands mid-canvas at the wrong size.
+- **Gradients on straight lines need `gradientUnits="userSpaceOnUse"`.** An objectBoundingBox
+ gradient (the default) degenerates on a purely horizontal or vertical ``/`` —
+ the stroke silently renders empty. Every gradient beam sets `userSpaceOnUse` with real
+ coordinates.
- **Centering: avoid `text-anchor="middle"` + `dx`.** For a bold-name + quiet-label pair (e.g.
`api` / `Hono`), stack two single-run centered lines on the same `x`. Always **measure**
centering against the rendered PNG — never eyeball the source.
@@ -266,6 +324,14 @@ old "PNG looks different from the SVG" bug. rsvg/magick are kept only as warned
renders at 1x by default; set `SCALE=2` for a supersampled, extra-crisp render. If you edit a
committed SVG (fonts already embedded), just re-run `export-png.sh`.
+**Gotcha — re-embedding is skipped once `@font-face` exists.** `embed-fonts.py` no-ops on an
+SVG that already carries embedded faces, and the embedded faces are **subset to the glyphs the
+SVG had at embed time**. So editing coordinates, sizes, or colors after embedding is safe, but
+**changing or adding text after embedding silently renders the new glyphs in a fallback
+serif** — nothing errors, and it is visible only in the raster. When you change wording after
+embedding, rewrite the SVG from its pre-embed source (or strip the `@font-face` block), then
+re-run embed → export.
+
### 7. Save into the repo
Save to a **durable** location, never a temp dir. Resolve in this order:
@@ -317,6 +383,23 @@ Insights framed as a GA launch via the kicker dot; one white metric card carries
restraint keeps it premium and thumbnail-legible.
```
+## Batch mode (multiple posts)
+
+When covering many posts in one effort, two extra disciplines apply:
+
+1. **Plan distribution first.** Route every post (step 3) *before* drawing any, and balance
+ the family mix — charts, code, tables, flows, typography-led, objects, abstract, query
+ treatments. No family dominates; adjacent/series posts don't share family + layout.
+ Cohesion comes from type, color, surfaces, spacing, and restraint — never one composition.
+2. **Review the set together.** After individual reviews, build contact sheets
+ (`scripts/contact-sheet.sh …` — 24 thumbnails per sheet at the 300px
+ review size) and inspect for: repeated layouts, repeated gradient treatments, covers too
+ dense, covers that don't reflect their article, weak typography or truncation, thumbnail
+ illegibility. Revise the weak or repetitive ones, then re-sheet.
+
+`scripts/validate-covers.sh --all` (or a slug list) machine-checks dimensions,
+size budget, embedded fonts, and frontmatter wiring for every cover.
+
## Validation — must pass before finalizing
Visually inspect the rendered PNG, then verify:
@@ -332,6 +415,13 @@ Visually inspect the rendered PNG, then verify:
has embedded `@font-face` (ran `embed-fonts.py`). Headlines are Sora **500**, sentence case.
- [ ] One accent, one idea. Clear hierarchy; generous negative space. If a graphic is the message,
it is centered and uncluttered.
+- [ ] The visual represents the article's **primary message**, and the single dominant highlight
+ is the brief's **core highlight** — no competing highlights, no elements that say nothing
+ about the article.
+- [ ] Exactly **one** gradient/light treatment, and it behaves like light, depth, material, or
+ data emphasis — not decoration (see `gradient-system.md` anti-patterns).
+- [ ] The headline (if any) is the derived cover title (≈3–7 words, ≤2 lines), not the full
+ article title; the article's frontmatter `title` was not modified to fit the cover.
- [ ] Diagram cards sit ≥ 48px off the canvas edge; arrows are full-length; no node is jammed
against a wall; every flow ends in a labeled recipient.
- [ ] Code/snippet text renders its spaces correctly (multi-`tspan` lines carry
@@ -361,6 +451,15 @@ creative and brand traps a checklist can't catch.)
filenames, and frontmatter fields from recent posts; the documented standard is a fallback.
- **Generic AI look.** Glows everywhere, faux-3D blobs, busy gradients, literal robots. Prisma
covers are restrained and typographic. When in doubt, remove an element.
+- **The template-generator look.** Random glowing cards, glassmorphism, meaningless UI, tiny
+ dashboards, fake charts/data/terminal output, decorative floating icons, browser mockups,
+ giant logos as decoration, everything centered, multiple competing components. Final test:
+ *would this still feel art-directed with the logo removed, and does any element fail to
+ communicate something about the article?* Remove what fails.
+- **One repeated layout across a batch.** `headline-left + rounded-card-right` for every post
+ is the failure mode. Across a set of covers keep a healthy distribution of chart, code,
+ table, flow, typography-led, object, abstract, and query treatments; cohesion comes from
+ typography, color, surfaces, spacing, and restraint — not identical composition.
- **Off-system styling.** Inventing colors, or swapping the Sora + Inter pairing (Mona Sans
display, Geist Mono, and Barlow are all retired/off-brand).
- **Reaching for the retired look.** The dark teal aurora surface, Mona Sans 800 headlines,
diff --git a/.claude/skills/content-create-hero-image/assets/templates/abstract.svg b/.claude/skills/content-create-hero-image/assets/templates/abstract.svg
new file mode 100644
index 0000000000..90e9852724
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/assets/templates/abstract.svg
@@ -0,0 +1,82 @@
+
diff --git a/.claude/skills/content-create-hero-image/assets/templates/chart.svg b/.claude/skills/content-create-hero-image/assets/templates/chart.svg
new file mode 100644
index 0000000000..76b7187e32
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/assets/templates/chart.svg
@@ -0,0 +1,92 @@
+
diff --git a/.claude/skills/content-create-hero-image/assets/templates/code.svg b/.claude/skills/content-create-hero-image/assets/templates/code.svg
new file mode 100644
index 0000000000..4d9d688be7
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/assets/templates/code.svg
@@ -0,0 +1,92 @@
+
diff --git a/.claude/skills/content-create-hero-image/assets/templates/editorial.svg b/.claude/skills/content-create-hero-image/assets/templates/editorial.svg
new file mode 100644
index 0000000000..8e0dd9380c
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/assets/templates/editorial.svg
@@ -0,0 +1,82 @@
+
diff --git a/.claude/skills/content-create-hero-image/assets/templates/flow.svg b/.claude/skills/content-create-hero-image/assets/templates/flow.svg
new file mode 100644
index 0000000000..72060d1547
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/assets/templates/flow.svg
@@ -0,0 +1,97 @@
+
diff --git a/.claude/skills/content-create-hero-image/assets/templates/object.svg b/.claude/skills/content-create-hero-image/assets/templates/object.svg
new file mode 100644
index 0000000000..c206cbdfdf
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/assets/templates/object.svg
@@ -0,0 +1,93 @@
+
diff --git a/.claude/skills/content-create-hero-image/assets/templates/table.svg b/.claude/skills/content-create-hero-image/assets/templates/table.svg
new file mode 100644
index 0000000000..a1c26c11fa
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/assets/templates/table.svg
@@ -0,0 +1,95 @@
+
diff --git a/.claude/skills/content-create-hero-image/assets/tokens.json b/.claude/skills/content-create-hero-image/assets/tokens.json
index 73dd5c4400..55892cf05f 100644
--- a/.claude/skills/content-create-hero-image/assets/tokens.json
+++ b/.claude/skills/content-create-hero-image/assets/tokens.json
@@ -52,6 +52,12 @@
"$comment": "Optional brand device: 45° diagonal bands in cyan/red/yellow (the logo's anatomy), used as a corner glyph, an edge bleed, or a divider. One motif max; keep it geometric and crisp, never a blurred rainbow.",
"angle": 45,
"order": ["cyan #01d7e4", "red #f34a60", "yellow #f3c306"]
+ },
+ "gradients": {
+ "$comment": "Named light treatments — recipes in references/gradient-system.md. ONE treatment per cover (a fadeMask supporting it doesn't count). 'spectrum' is the eclipse --gradient-spectrum brand gradient (85deg); spectrum stops from packages/eclipse globals.css.",
+ "spectrum": { "angle": 85, "stops": ["#01d7e4", "#f3c306", "#f37a03", "#f43531", "#f00e5c"], "note": "refraction / spectral edge / hero chart line; the live site animates it, covers use one static sweep" },
+ "spectrumStops": { "orange": "#f37a03", "scarlet": "#f43531", "pink": "#f00e5c" },
+ "treatments": ["spectralWash", "radialBloom", "productGlow", "prismGradient", "spectralEdge", "gradientBeam", "meshField", "auroraBand", "fadeMask"]
}
},
"fonts": {
diff --git a/.claude/skills/content-create-hero-image/references/component-library.md b/.claude/skills/content-create-hero-image/references/component-library.md
new file mode 100644
index 0000000000..8d7e9bd1b9
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/references/component-library.md
@@ -0,0 +1,134 @@
+# Content component library
+
+The article determines the visual, and one component carries it. This catalog defines the
+component families, when each earns the cover, and the routing heuristic. Skins come from
+`tokens.json` and `design-system.md`; gradients from `gradient-system.md`; family starting
+files in `../assets/templates/`.
+
+## What world-class covers do (calibration)
+
+Studied against the strongest developer-brand OG art (Anthropic, OpenAI, Neon, Vercel;
+Supabase as the cautionary mixed bag):
+
+- The best covers carry **one or two elements**, not four. Anthropic ships a single
+ illustrated symbol on a flat color field, no text. OpenAI ships an atmospheric gradient
+ with one tiny card. Neon ships one big playful object (a giant "18", a flock of sheep for
+ autoscaling) and nothing else. Vercel pairs a short sentence-case thesis with one precise
+ geometric object drawn from the article's literal concept.
+- The object is **bespoke to the article's idea** (a cube inside a dashed boundary for "a
+ sandbox needs a network boundary"), never a generic category icon.
+- Nobody screenshots product UI; the weakest covers in the study were the ones that did.
+- Dark is the crowd (Vercel, Supabase). **Prisma's light paper is the differentiator — own it.**
+
+So: the default Prisma stack (kicker + headline + module + lockup) is the *ceiling*, not the
+formula. Dropping elements is how covers get stronger.
+
+## Composition disciplines (every family)
+
+- **One idea, one hero, one highlight, plenty of space.** One dominant component; the viewer
+ finds the point in under a second. No competing highlights.
+- A normal cover: 1 hero component · 0–1 supporting element · 1 gradient/light treatment ·
+ 0–1 kicker · 0–1 short headline · 0–1 brand mark. Never a mini dashboard.
+- Components are **editorial graphics, not analytics software**: oversized type, few rows,
+ no chrome, no legends that a highlight can replace.
+- Everything visible must be true to the article. No fake data, no invented numbers, no
+ placeholder code presented as real.
+
+## The families
+
+### HeroChart — measurable results
+
+Benchmarks, latency, throughput, usage, comparisons over time. Rules: real article data;
+1–2 series; minimal grid (0–2 hairlines); no legend (label the lines directly); simplified
+axes; **one emphasized data point or series** — accent stroke or spectral edge, siblings in
+`#a5a5a6`/`#e5e5e4`; restrained gradient fill under the hero series only (accent → 0
+opacity). The chart should feel like a magazine graphic. Template: `chart.svg`.
+
+### MetricComponent — one strong number
+
+When the article has one trustworthy numerical result. A giant Sora 600 value (140–220px)
+with a short Inter label; optionally a quiet before-value struck beside it. No KPI-card
+grid, no gauge. The number IS the composition. Template: `editorial.svg` (numeral variant).
+
+### ComparisonTable — X vs Y
+
+Product comparisons, before/after, feature differences, migration deltas. 2–4 columns ×
+3–5 rows, large readable type (≥20px cells), highlight exactly one row/column/cell (accent
+tint fill or spectral edge). Simplify aggressively; never reproduce a production table.
+Template: `table.svg`.
+
+### CodeWindow — code is the story
+
+Schema, config, API shapes, migration commands, queries. ~4–8 lines of **real article
+code**, readable at thumbnail scale (≥19px mono); ink card, filename tab optional, no fake
+editor chrome; **one highlighted line or token** (accent text or a tinted line-bar), 2–3
+syntax tints max from the prism ramps. Treat code as typography. Template: `code.svg`.
+
+### QueryPanel — observability & query cost
+
+Query Insights, database performance, reads, latency. Show only what makes the point: a
+query fragment + 1–2 metrics, with **one number dominating** (e.g. `SELECT …` · `42 ms` ·
+`12.4k reads`). An abstracted row, not a dashboard recreation. Template: `chart.svg` or
+`code.svg` (panel variant).
+
+### ArchitectureFlow — systems & movement
+
+Connection pooling, request flow, branching, caching, deployment, pipelines. 3–5 nodes,
+one clear relationship, labels grounded in the article, large legible geometry, simple
+connectors, **one gradient beam** on the hero edge when movement is the point. Flows stay
+flat (no isometric skew). Avoid dense diagrams. Template: `flow.svg`.
+
+### DatabaseObject — the database as an object
+
+Prisma Postgres, storage, branching, data architecture. A dimensional but abstract volume:
+layered elliptical planes, a stacked-plane cylinder, split/branching volumes — geometric
+SVG with light (radial bloom behind, spectral edge on one rim), not blue clip art and not
+a literal cylinder icon. Can carry a no-copy cover alone. Template: `object.svg`.
+
+### PrismObject — the brand as material
+
+Announcements, identity moments, conceptual posts. A translucent wedge/refracting plane/
+prism edge that **splits light into the three prism colors** — the logo's anatomy as
+physics. Use where refraction genuinely maps to the idea (one input → many outputs, one
+schema → many clients); never mechanically added. Template: `object.svg` (prism variant).
+
+### GradientField — atmosphere-led
+
+Launches and abstract topics where mood is the message. A mesh/aurora/bloom field
+(`gradient-system.md`) covering the canvas with **one small sharp element** holding focus —
+a short headline, a tiny card, the lockup. The OpenAI lesson: this only works when the
+canvas is otherwise nearly empty. Template: `abstract.svg`.
+
+### TypeMark — typography or a numeral as the hero
+
+Version releases, one-word concepts, editorial essays. A giant Sora glyph/numeral/word
+(180–320px) with one treatment: prism-gradient fill on a single character, a spectral edge
+underline, or an ink word with one accent word. Nothing else but the kicker + lockup.
+Template: `editorial.svg`.
+
+## Routing heuristic (starting point, not a lookup table)
+
+| Article signal | First candidates |
+| --- | --- |
+| benchmark / perf numbers | HeroChart · MetricComponent |
+| comparison ("vs", pricing) | ComparisonTable |
+| tutorial / how-to | CodeWindow · ArchitectureFlow |
+| schema / modeling | CodeWindow · relationship diagram |
+| architecture / infra | ArchitectureFlow · DatabaseObject |
+| Prisma Postgres | DatabaseObject · HeroChart |
+| ORM | CodeWindow · TypeMark |
+| Compute / deploy | ArchitectureFlow · DatabaseObject |
+| observability | QueryPanel · HeroChart |
+| release / announcement | TypeMark · PrismObject · GradientField |
+| conceptual / essay | TypeMark · GradientField · abstract geometry |
+| customer story | MetricComponent · the story's concrete mechanism |
+
+**The article's actual message always outranks the table.** If the strongest idea in a
+tutorial is a 10× number, route to MetricComponent.
+
+## Distribution (batch work)
+
+When producing covers across many posts, keep the archive varied: no family should
+dominate, and adjacent posts (same tag, same series) should not share a family + layout.
+Track family counts across the batch; if `headline-left + card-right` starts repeating,
+convert candidates to no-copy object-led, TypeMark, or atmosphere-led covers.
diff --git a/.claude/skills/content-create-hero-image/references/design-review.md b/.claude/skills/content-create-hero-image/references/design-review.md
index d5399fd366..a448ac78f9 100644
--- a/.claude/skills/content-create-hero-image/references/design-review.md
+++ b/.claude/skills/content-create-hero-image/references/design-review.md
@@ -19,21 +19,29 @@ cover. Critique the **rendered PNG**, not the SVG source — most defects are in
## Audit: grade each category A–F
+Review at two sizes, always: the full 1200×630 raster AND a ~300px-wide thumbnail (the blog
+grid renders covers ~400px wide beside the post's real title, cropped to ~16:9). A cover that
+only works at full size fails.
+
Start with a **first-impression gut reaction** (one honest sentence, before analysis: does it
look premium, or does it look like AI filler?). Then grade:
| # | Category | What to check |
| -- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | **Hierarchy & focal point** | One clear focal point; eye lands where intended; eyebrow → headline → support → graphic order reads cleanly. |
-| 2 | **Typography** | Mona Sans (display) / Inter (body) / Geist Mono (data) only — never Barlow or a fallback sans. Emphasis via colour or size, never random weights. Title hand-wrapped, not overflowing. |
-| 3 | **Colour & contrast** | Only `tokens.json` values. Text passes a squint legibility test on the dark surface. One accent (teal/indigo), not a rainbow. |
+| 2 | **Typography** | Sora 500 (display) / Inter (body, 600 kicker) / Mona Sans Mono (data) only — never Mona Sans display, Geist Mono, Barlow, or a fallback sans. Emphasis via colour or size, never weight. Headline is the short derived cover title (≤2 lines), hand-wrapped, not the article title restated. |
+| 3 | **Colour & contrast** | Only `tokens.json` values. Text passes a squint legibility test on its surface. One prism accent (cyan/yellow/red by product), not a rainbow. |
| 4 | **Spacing & alignment** | Even canvas margins; elements share a grid; consistent padding inside cards; nothing kissing an edge. |
| 5 | **Composition & balance** | Left-anchored headline with right-side breathing room (or a single centred graphic). Diagram cards sit ≥ 48px off the canvas edge. Visual weight balanced L↔R. |
-| 6 | **Metaphor clarity** | The diagram tells one true story; arrows connect real nodes; every flow ends in a labelled recipient; header numbers match the data they label. |
+| 6 | **Message fidelity** | The visual clearly represents the article's primary message; the chosen component (chart/code/table/object/diagram) genuinely relates to the article; the diagram tells one true story; arrows connect real nodes; every flow ends in a labelled recipient. |
| 7 | **Render fidelity** | No stripped whitespace in code (`xml:space="preserve"`), no missing-glyph boxes, no fallback fonts, no text overflow or clipping, no overlapping nodes. |
-| 8 | **Thumbnail legibility** | Still readable shrunk to ~200px wide (the real feed/SERP size). Squint: headline + metaphor survive. |
-| 9 | **Brand correctness** | Logos intentional, correctly coloured, not stretched, not wallpaper; no `prisma.io/blog` on canvas; product accent correct (Postgres = teal, ORM = indigo, Compute/Next = platform teal). |
+| 8 | **Thumbnail legibility** | Still readable at ~300px wide (grid/feed size). Squint: the focal point and any headline survive; the highlight is still findable. |
+| 9 | **Brand correctness** | Logos intentional, correctly coloured, not stretched, not wallpaper; no `prisma.io/blog` on canvas; product accent correct (ORM/Prisma 8 = prism cyan, Postgres = prism yellow, Compute = prism red). |
| 10 | **AI-slop check** | None of the anti-patterns below. |
+| 11 | **Highlight discipline** | Exactly one dominant highlight, identifiable in <1s; negative space is deliberate; no element that says nothing about the article. |
+| 12 | **Gradient quality** | At most one light treatment, behaving as light/depth/material/data emphasis (`gradient-system.md`) — never decoration; nameable purpose. |
+| 13 | **Accuracy** | Every visible number, label, claim, query, and code line is grounded in the source article — nothing invented. |
+| 14 | **Editorial quality** | Would still feel intentionally art-directed with the Prisma logo removed; does not read as a generic generated SaaS card or template output. |
A cover ships at **B or better in every category** — no C-or-lower anywhere.
diff --git a/.claude/skills/content-create-hero-image/references/design-system.md b/.claude/skills/content-create-hero-image/references/design-system.md
index 70287238c9..892b815238 100644
--- a/.claude/skills/content-create-hero-image/references/design-system.md
+++ b/.claude/skills/content-create-hero-image/references/design-system.md
@@ -92,7 +92,10 @@ Always embed before exporting or sharing.
## Layout (canonical 1200×630)
- Uniform **72px** padding; nothing touches the canvas edge.
-- **Kicker** top-left: accent dot (9px) + sentence-case Inter 600 label (~17px). No dash, no caps.
+- **Kicker** top-left: accent dot + sentence-case Inter 600 label — the site's `RoleKicker`
+ treatment (`apps/site/src/components/brand/role-kicker.tsx`: color lives in the dot, label
+ stays ink at 70%). At cover scale: ≥5.5px dot, ≥20px label — or omit it. No dash, no caps,
+ no pill container.
- **Headline** below: Sora 500, ~56–68px, 1–3 hand-wrapped lines, ink. Emphasis inside a headline
is the accent color (deep variant if the phrase is small), not a weight change.
- Optional **one-line subtitle**: Inter 400 ~26px, `#646567`.
@@ -104,7 +107,11 @@ Always embed before exporting or sharing.
- ≥ 48px between any card and the canvas edge; ≥ 40px between sibling tiles; ≥ 24px padding
inside cards; ≥ 28px between stacked rows. Verify on the rendered PNG, by measurement.
-### Shared anatomy (every cover)
+### Shared anatomy (the default stack — not a law)
+
+The five-part stack below is the *ceiling*, not the formula: the strongest covers often drop
+to two or three parts (a no-copy object + lockup; an atmosphere + one small card; a giant
+numeral + kicker). Drop elements before adding any.
1. **Surface** — white/paper + grain, usually a spectral wash on one edge. Never the old dark
aurora; never a flat grey.
@@ -116,7 +123,12 @@ Always embed before exporting or sharing.
### Content modules (pick one per cover)
-The module *structures* survive the rebrand; their *skin* is new. Reskin rules:
+**The full component catalog and the article→visual routing live in
+[`component-library.md`](component-library.md)** — families: HeroChart, MetricComponent,
+ComparisonTable, CodeWindow, QueryPanel, ArchitectureFlow, DatabaseObject, PrismObject,
+GradientField, TypeMark. Gradient/light recipes live in
+[`gradient-system.md`](gradient-system.md). The table below defines the house *skin* the
+classic modules take on the light surface:
| Module | When | New-brand skin |
| -------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
diff --git a/.claude/skills/content-create-hero-image/references/gradient-system.md b/.claude/skills/content-create-hero-image/references/gradient-system.md
new file mode 100644
index 0000000000..786d2837e6
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/references/gradient-system.md
@@ -0,0 +1,149 @@
+# Gradient & light system
+
+Gradients are encouraged — as **light, atmosphere, material, hierarchy, or data emphasis**.
+The anti-pattern was never "gradient"; it is *generic gradient decoration with no purpose*.
+Every treatment below is a plain-SVG recipe using `tokens.json` values only. Pick **one**
+treatment per cover (a fade mask supporting it does not count as a second).
+
+Ask before adding any gradient: *what is this light doing?* If the answer is "filling space",
+delete it.
+
+## The treatments
+
+### 1. Spectral wash (house default)
+
+Two–three soft radial pools of the prism colors dissolving into the paper along one edge.
+Atmosphere behind the hero element; keep type on calm areas. This is the baseline from
+`templates/` — reposition the pools per cover, don't ship the default placement unexamined.
+
+```svg
+
+
+
+
+
+```
+
+### 2. Radial bloom
+
+**One** soft light source placed *behind the hero element* — the module appears lit, not
+decorated. Use when a single card/object/metric needs quiet emphasis. One bloom max.
+
+```svg
+
+
+
+
+
+```
+
+### 3. Product glow
+
+The cover's accent fading softly out of one region of the surface — a directional tint rather
+than a centered bloom. Good for grounding a composition in its product without a wash.
+
+```svg
+
+
+
+
+```
+
+### 4. Prism / spectrum gradient
+
+Refracted light — the Prisma identity as physics. Two canonical forms, don't mix them up:
+
+- **Spectrum** (the brand gradient, eclipse `--gradient-spectrum`, ~85°):
+ cyan → yellow → orange → scarlet → pink. Use for refraction, spectral edges, gradient
+ text (rare), a chart's hero line.
+- **Prism stripe** (the logo's anatomy): three crisp 45° bands cyan / red / yellow
+ (`#01d7e4`, `#f34a60`, `#f3c306`). Geometric motif, never blurred.
+
+```svg
+
+
+
+
+
+
+
+```
+
+Use on a beam, an edge, a chart line, or a dimensional object's face — crisp direction,
+never a blurred rainbow field.
+
+### 5. Spectral edge
+
+A narrow iridescent edge (2–4px) on one meaningful boundary: a card top, a divider, a prism
+face, a highlighted table row, the stroke of a chart's hero series. The smallest way to make
+one element "the" element.
+
+```svg
+
+```
+
+### 6. Gradient beam
+
+A stroke that carries light along a path — for movement: requests, connections, data flow,
+propagation. One beam, on the flow's *hero* edge; sibling connectors stay hairline neutral.
+
+```svg
+
+
+
+
+
+
+```
+
+`gradientUnits="userSpaceOnUse"` is mandatory on beams: an objectBoundingBox gradient
+degenerates to invisible on a purely horizontal or vertical line.
+
+### 7. Mesh field
+
+Large, low-contrast overlapping color fields for ambient depth behind one hero visual —
+an evolved wash for conceptual/announcement covers. 2–3 offset radials in *one* accent's
+ramp plus at most one neighbor prism at lower opacity. Low contrast: nothing above ~0.24.
+
+### 8. Aurora band
+
+One soft flowing band (a wide blurred path, not the whole sky). Sparingly, for genuinely
+atmospheric conceptual covers. Draw a curved path, `stroke-width` 120–200, accent at
+0.14–0.2 opacity, `feGaussianBlur stdDeviation="40–60"`. Never neon, never more than one.
+
+### Fade mask (supporting, always allowed)
+
+Dissolve any treatment into the paper so effects end on purpose, not at a hard edge:
+
+```svg
+
+
+
+
+
+
+```
+
+## Dark-cover variants
+
+Same recipes on ink `#151515`; raise stop opacities ~1.3× so the light reads, and prefer the
+400-level accent values (they carry on dark).
+
+## Anti-patterns (auto-fail)
+
+- Giant blue-purple startup gradients, or any hue outside the prism ramps.
+- Rainbow backgrounds with no refraction concept behind them.
+- Glow on every object; multiple neon blobs; more than one bloom.
+- Gradient text as a default (reserve for at most one word, rarely).
+- Multiple border beams / spectral edges competing.
+- A gradient nobody can name the purpose of ("it looked empty").
+
+## Render notes
+
+- Large soft gradients + grain inflate PNG size; if `meta.png` overshoots ~700 KB, drop a
+ redundant wash layer or lower grain opacity before re-exporting.
+- `feGaussianBlur` over big areas is fine in Chrome export but check the raster for banding;
+ add the grain layer *above* washes to break banding up.
+- Reference libraries (Magic UI border-beam/shine, Aceternity aurora/spotlight, React Bits
+ fields) are *idea* sources — reproduce the effect with these SVG recipes; never import
+ their default neon-on-black identity, and never add runtime dependencies for a static cover.
diff --git a/.claude/skills/content-create-hero-image/scripts/contact-sheet.sh b/.claude/skills/content-create-hero-image/scripts/contact-sheet.sh
new file mode 100755
index 0000000000..f53ea72d9b
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/scripts/contact-sheet.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+# Build contact sheets from rendered meta.png covers for batch design review.
+#
+# Usage: contact-sheet.sh [ ...]
+# Emits /sheet-NN.png, 24 covers per sheet (6x4), each 300px wide —
+# the thumbnail size the review must pass at. Inspect every sheet for repeated
+# layouts, repeated gradients, density, and thumbnail legibility.
+set -euo pipefail
+OUT="${1:?out dir required}"; shift
+mkdir -p "$OUT"
+i=0; page=0; batch=()
+flush() {
+ [ ${#batch[@]} -eq 0 ] && return
+ page=$((page+1))
+ magick montage "${batch[@]}" -tile 6x -geometry 300x158+6+6 -background '#d8d8d8' \
+ "$OUT/$(printf 'sheet-%02d.png' "$page")"
+ batch=()
+}
+for f in "$@"; do
+ batch+=("$f"); i=$((i+1))
+ [ $((i % 24)) -eq 0 ] && flush
+done
+flush
+echo "wrote $page sheet(s) to $OUT"
diff --git a/.claude/skills/content-create-hero-image/scripts/embed-fonts.py b/.claude/skills/content-create-hero-image/scripts/embed-fonts.py
index 7b845911c1..530f680e0c 100644
--- a/.claude/skills/content-create-hero-image/scripts/embed-fonts.py
+++ b/.claude/skills/content-create-hero-image/scripts/embed-fonts.py
@@ -46,10 +46,23 @@ def find_fonts_dir(explicit: str | None) -> Path:
def used_chars(svg: str) -> str:
- # collect text inside /, ignore markup; add a safe punctuation set
+ # Collect every character that will be rendered, then add a safe punctuation set.
+ #
+ # Flatten nested s FIRST. Matching `([^<]*)` alone drops any run
+ # that is followed by a child element rather than a closing tag — e.g. the "10M" in
+ # `10M+`, or every tinted code run. Those glyphs then fall
+ # out of the subset and Chrome silently renders that run in a fallback serif, visible
+ # only in the exported raster.
+ flattened = re.sub(r"?tspan[^>]*>", "", svg)
chars = set("0123456789%,/.()-:· ")
- for m in re.findall(r"<(?:text|tspan)[^>]*>([^<]*)", svg):
- chars.update(m)
+ for m in re.findall(r"]*>(.*?)", flattened, re.S):
+ chars.update(re.sub(r"<[^>]*>", "", m))
+ # Decode the XML entities that reach the renderer as real glyphs.
+ for entity, ch in (("&", "&"), ("<", "<"), (">", ">"), (""", '"'), ("'", "'")):
+ if entity in svg:
+ chars.add(ch)
+ chars.discard("\n")
+ chars.discard("\t")
return "".join(sorted(chars))
diff --git a/.claude/skills/content-create-hero-image/scripts/validate-covers.sh b/.claude/skills/content-create-hero-image/scripts/validate-covers.sh
new file mode 100755
index 0000000000..7cdff1d7a4
--- /dev/null
+++ b/.claude/skills/content-create-hero-image/scripts/validate-covers.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# Validate a set of rendered covers: dimensions, size budget, embedded fonts, frontmatter wiring.
+#
+# Usage:
+# validate-covers.sh [ ...]
+# validate-covers.sh --all # every slug in content/blog
+#
+# Checks per slug:
+# - public//imgs/hero.svg exists, declares viewBox 0 0 1200 630, has embedded @font-face
+# - public//imgs/meta.png exists, is exactly 1200x630, under 1 MB
+# - content/blog//index.mdx frontmatter points at //imgs/hero.svg and meta.png
+set -uo pipefail
+
+BLOG="${1:?blog app dir required (e.g. apps/blog)}"; shift
+if [ "${1:-}" = "--all" ]; then
+ SLUGS=$(ls "$BLOG/content/blog")
+else
+ SLUGS="$*"
+fi
+
+fail=0
+for slug in $SLUGS; do
+ dir="$BLOG/public/$slug/imgs"
+ mdx="$BLOG/content/blog/$slug/index.mdx"
+ err=""
+ if [ ! -f "$dir/hero.svg" ]; then err="$err no-hero-svg"; else
+ grep -q 'viewBox="0 0 1200 630"' "$dir/hero.svg" || err="$err bad-viewbox"
+ grep -q '@font-face' "$dir/hero.svg" || err="$err fonts-not-embedded"
+ fi
+ if [ ! -f "$dir/meta.png" ]; then err="$err no-meta-png"; else
+ dim=$(magick identify -format '%wx%h' "$dir/meta.png" 2>/dev/null)
+ [ "$dim" = "1200x630" ] || err="$err meta-dim=$dim"
+ sz=$(stat -f%z "$dir/meta.png" 2>/dev/null || stat -c%s "$dir/meta.png")
+ [ "$sz" -lt 1048576 ] || err="$err meta-size=$sz"
+ fi
+ if [ -f "$mdx" ]; then
+ grep -q "heroImagePath: \"/$slug/imgs/hero.svg\"" "$mdx" || err="$err frontmatter-hero"
+ grep -q "metaImagePath: \"/$slug/imgs/meta.png\"" "$mdx" || err="$err frontmatter-meta"
+ fi
+ if [ -n "$err" ]; then echo "FAIL $slug:$err"; fail=1; fi
+done
+[ "$fail" = 0 ] && echo "all covers valid"
+exit $fail
diff --git a/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx b/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx
index 0c63570311..159c8f81b9 100644
--- a/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx
+++ b/apps/blog/content/blog/about-mcp-servers-and-how-we-built-one-for-prisma/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "About MCP Servers & How We Built One for Prisma"
metaDescription: "Learn what MCP servers are and how Prisma built its MCP server, from tool access concepts to remote server architecture and practical implementation details."
-metaImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta-c7ef9462464563ecc68ddf667e18dbef71f9f4fd-1266x711.png"
-heroImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero-af7a5b40501028b64219b2144f7b5c03723c4d99-844x474.svg"
+metaImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png"
+heroImagePath: "/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg"
+heroImageAlt: "A flow diagram in which Cursor, Windsurf and Claude all connect to a single prisma mcp server, which in turn runs Prisma CLI commands."
tags:
- "education"
- "orm"
diff --git a/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx b/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx
index 12df3fbd84..3dcb7f105b 100644
--- a/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx
+++ b/apps/blog/content/blog/accelerate-ga-release-I9cQM6bSf2g6/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sam Bhatti"
metaTitle: "Prisma Accelerate now in General Availability"
metaDescription: "Supercharge your applications with Prisma Accelerate's scalable connection pooling and global edge caching. Plus, enjoy our exclusive launch offer."
-metaImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta-42554fa75736c00b0ca55e1e440dde26f43dcb3f-1266x711.png"
-heroImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero-de83f5f843f2a86abd05659c94c3069e7577a0f5-844x474.svg"
-heroImageAlt: "Prisma Accelerate now in General Availability"
+metaImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png"
+heroImagePath: "/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg"
+heroImageAlt: "The number 280+ above the labels cache locations worldwide and 16 connection pooling regions, the reach of Prisma Accelerate at general availability."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/accelerate-ipv6-first/index.mdx b/apps/blog/content/blog/accelerate-ipv6-first/index.mdx
index 14ce808005..8014530f76 100644
--- a/apps/blog/content/blog/accelerate-ipv6-first/index.mdx
+++ b/apps/blog/content/blog/accelerate-ipv6-first/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Tyler Benfield"
metaTitle: "We Transitioned Prisma Accelerate to IPv6 Without Anyone Noticing"
metaDescription: "In July 2023, AWS announced the decision to begin charging for IPv4 addresses beginning in February 2024. This move had a major impact on Prisma Accelerate for reasons we’ll get into, prompting us to go all-in on IPv6. Join us for a deep dive into how we approached our IPv6 migration, lessons learned, and the outcome for users of Prisma Accelerate."
-metaImagePath: "/accelerate-ipv6-first/imgs/meta-b5bac6d735ee17d003b0a06190a5fa5c0e3fcc15-1266x713.png"
-heroImagePath: "/accelerate-ipv6-first/imgs/hero-248d5719caeee73ee2c7f94a7d194de949af1524-844x475.svg"
+metaImagePath: "/accelerate-ipv6-first/imgs/meta.png"
+heroImagePath: "/accelerate-ipv6-first/imgs/hero.svg"
+heroImageAlt: "The figure $3.60 set in large type above the label: per public IPv4 address, per month, the AWS charge that pushed Prisma Accelerate to an IPv6-first architecture."
tags:
- "platform"
---
diff --git a/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx b/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx
index 5e735a2310..9d25717f0b 100644
--- a/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx
+++ b/apps/blog/content/blog/accelerate-preview-release-ab229e69ed2/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Accelerate in Preview: Global Database Cache & Scalable Connection Pool"
metaDescription: "Accelerate is going into Preview! Learn how to enable high-speed, scalable applications with a global cache and connection pooler."
-metaImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/meta-3a75c0ed5f8837980765d5b7589367216653d6b7-1266x711.png"
-heroImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/hero-587aeef34568af2258cd4e5f0453710b0b94259c-844x474.svg"
-heroImageAlt: "Accelerate in Preview"
+metaImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/meta.png"
+heroImagePath: "/accelerate-preview-release-ab229e69ed2/imgs/hero.svg"
+heroImageAlt: "A diagram routing an app through a Prisma Accelerate card listing a global cache in 300 locations and a connection pool in 16 regions, on to the database."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/accelerate-static-ip-support/index.mdx b/apps/blog/content/blog/accelerate-static-ip-support/index.mdx
index 9c5684e317..33e71e9e8a 100644
--- a/apps/blog/content/blog/accelerate-static-ip-support/index.mdx
+++ b/apps/blog/content/blog/accelerate-static-ip-support/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Increase Database Security With Static IP Support in Prisma Accelerate"
metaDescription: "Prisma Accelerate now supports Static IPs, ensuring secure database connections with predictable IPs for controlled access."
-metaImagePath: "/accelerate-static-ip-support/imgs/meta-9a5f27696242c051a689abed3d4b7099a8145301-1200x674.png"
-heroImagePath: "/accelerate-static-ip-support/imgs/hero-06da453a2597f2571d34972ec912ad3c32f37ba6-844x474.svg"
-heroImageAlt: "Enable Static IP in Prisma Accelerate"
+metaImagePath: "/accelerate-static-ip-support/imgs/meta.png"
+heroImagePath: "/accelerate-static-ip-support/imgs/hero.svg"
+heroImageAlt: "A comparison of dynamic and static IPs across address, firewall allowlist and database access, with the static IP column highlighted in a yellow panel."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx b/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx
index 3fd4e993ec..e80471051a 100644
--- a/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx
+++ b/apps/blog/content/blog/advanced-database-schema-management-with-atlas-and-prisma-orm/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Advanced Schema Management with Atlas & Prisma ORM"
metaDescription: "Use Atlas with Prisma ORM 7 for advanced schema management: CI/CD linting, schema monitoring, versioning, and low-level features like views and triggers."
-metaImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta-862a4191726cfb1bcc2e53bc83e377e1af47cd5d-1200x675.png"
-heroImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero-6ad0def91299fbf2a745f528d83a194350d0ee74-844x475.svg"
+metaImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png"
+heroImagePath: "/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg"
+heroImageAlt: "A diagram where prisma/schema.prisma and published_posts_index.sql both feed an 'atlas migrate diff' composite schema card, which writes to the atlas/migrations directory."
tags:
- "orm"
- "education"
diff --git a/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx b/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx
index f156abfae3..ad4c2a05dd 100644
--- a/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx
+++ b/apps/blog/content/blog/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "All you need to know about Apollo Client 2 | Prisma"
metaDescription: "Learn about Apollo Client 2.0, including Apollo Link, local state management, cache updates, and the biggest changes from earlier Apollo Client releases."
-metaImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero-ebd9548e6d9cfb33c4e35eac48e11a80532a8d30-1440x960.jpg"
-heroImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero-ebd9548e6d9cfb33c4e35eac48e11a80532a8d30-1440x960.jpg"
-heroImageAlt: "All you need to know about Apollo Client 2"
+metaImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png"
+heroImagePath: "/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg"
+heroImageAlt: "A comparison card showing the single react-apollo dependency of Apollo Client 1.x beside the four packages an Apollo Client 2.0 setup imports."
---
Apollo Client, a powerful and flexible GraphQL client library, just reached version 2.0. In this post, we want to
diff --git a/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx b/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx
index 7f5b07b157..1c47ab506a 100644
--- a/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx
+++ b/apps/blog/content/blog/ambassador-program-nxkWGcGNuvFx/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Announcing the Prisma Ambassador Program — Building A Community of Experts"
metaDescription: "We are thrilled to announce the launch of the Ambassador Program to empower the Prisma community, while also helping individual contributors build their own brand."
-metaImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/meta-de28b5e0df55c52078065ee2ae0b44d6cdf0da1e-1692x852.png"
-heroImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/hero-1bdf6237d95ded8d448f28db203012147fdcd39e-846x426.png"
-heroImageAlt: "Prisma Ambassador Program — Building A Community of Experts"
+metaImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/meta.png"
+heroImagePath: "/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg"
+heroImageAlt: "The word Ambassadors set large on paper, underlined by the Prisma spectrum gradient, above the line: open to Prisma community contributors."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx b/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx
index ed15579046..8ebad15fb6 100644
--- a/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx
+++ b/apps/blog/content/blog/amplication-customer-story-nmlkBNlLlxnN/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Emerich"
metaTitle: "How Prisma helps Amplication evolutionize backend development"
metaDescription: "How Prisma helps Amplication evolutionize backend development"
-metaImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/meta-4baa84e48a0da8e13e23367137d5a17515119aaf-2881x1620.png"
-heroImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/hero-b1fb9ec0c8fca054011688621bfe51ea1836af10-844x474.svg"
-heroImageAlt: "How Prisma helps Amplication evolutionize backend development"
+metaImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png"
+heroImagePath: "/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg"
+heroImageAlt: "A pull quote reading Prisma was a really good bet, attributed to Yuval Hazaz, CEO at Amplication, above the stack Amplication ships in every generated app."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx b/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx
index fd110547f9..dcf050b4e3 100644
--- a/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx
+++ b/apps/blog/content/blog/announcing-accelerate-usrvpi6sfkv4/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Andrew Carlson"
metaTitle: "Prisma | Introducing Accelerate in Early Access"
metaDescription: "Query up to 1000x faster on any Prisma-supported database with our new distributed cache and scalable connection pool for Serverless apps."
-metaImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/meta-25afee16878423e24c7aff2bb3fe49a433996d03-1200x631.png"
-heroImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/hero-9c6258461d73719cebc60136dd4e976d79306dcb-845x475.png"
-heroImageAlt: "Introducing Accelerate in Early Access"
+metaImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png"
+heroImagePath: "/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg"
+heroImageAlt: "The figure \"1000×\" set very large in ink with the multiplication sign in prism cyan, reading \"Up to 1000× faster queries, latency as low as 5 ms\", over a spectral wash in the bottom-right corner."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx b/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx
index 1db851102c..59f0b19334 100644
--- a/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx
+++ b/apps/blog/content/blog/announcing-discord-1LiAOpS7lxV9/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Jon Harrell"
metaTitle: "Building on an Established Community: Prisma Now on Discord"
metaDescription: "Prisma is excited to expand the established Prisma Community Discord and further collaborate with the Prisma community."
-metaImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/meta-388b596e6a40f7eeaf42604a4645c93dd051af6a-1267x712.png"
-heroImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/hero-7ae00282956a1f6a68f815b4cffee5ee1b1ce934-844x474.svg"
-heroImageAlt: "Prisma Now on Discord"
+metaImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/meta.png"
+heroImagePath: "/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg"
+heroImageAlt: "Two chat bubbles side by side: the Prisma Slack community with over 50,000 members, and the community-built Discord server Prisma has officially adopted."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx b/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx
index 345bd6f36e..e2067fe4a3 100644
--- a/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx
+++ b/apps/blog/content/blog/announcing-on-demand-cache-invalidation-for-prisma-accelerate/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "On-Demand Cache Invalidation Now Available in Prisma Accelerate"
metaDescription: "Boost app performance with precise control using Prisma's on-demand cache invalidation."
-metaImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta-40c9facc0c25985278c069ade326008e14baef9a-1266x711.png"
-heroImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero-4100fa47bccf0620564331dda7e0c65bcd069ef2-844x474.svg"
-heroImageAlt: "Prisma Accelerate's cache invalidation API in a code block"
+metaImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png"
+heroImagePath: "/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg"
+heroImageAlt: "A two-row card on light paper comparing a cached query that expires on a ttl timer with the $accelerate.invalidate call that refreshes tagged results on demand."
tags:
- "platform"
- "announcement"
diff --git a/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx b/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx
index d478344b68..2544bf1163 100644
--- a/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-2-n0v98rzc8br1/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Announcing Prisma 2: Confidence and productivity for your database"
metaDescription: "Prisma 2 introduced a type-safe database client and declarative migrations to make working with databases in Node.js and TypeScript faster and more reliable."
-metaImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/hero-11436ec45c7ccbc812212d1d6d7c8794d9514f2f-1692x852.jpg"
-heroImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/hero-11436ec45c7ccbc812212d1d6d7c8794d9514f2f-1692x852.jpg"
-heroImageAlt: " Ombre Prisma"
+metaImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png"
+heroImagePath: "/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg"
+heroImageAlt: "A giant 2.0 set in Sora, its zero filled with the Prisma spectrum gradient, beside the line Prisma Client is now generally available."
---
Accessing databases in Node.js and TypeScript can feel brittle and painful. Prisma removes the pain with an auto-generated and type-safe query builder that's tailored to your data! [Try it out!](https://www.prisma.io/docs/getting-started/quickstart)
diff --git a/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx b/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx
index fb309216b6..1cadd0440a 100644
--- a/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-2-zq1s745db8i5/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Type-safe Database Access & Declarative Migrations | Prisma 2 Preview"
metaDescription: "Prisma 2 Preview introduced a type-safe database client and declarative migrations to modernize database workflows for application developers."
-metaImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/hero-34a26858c7de3cad0d84a376d12b58b82ee10da0-1200x630.png"
-heroImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/hero-34a26858c7de3cad0d84a376d12b58b82ee10da0-1200x630.png"
-heroImageAlt: "Prisma 2 Preview: Type-safe Database Access & Declarative Migrations"
+metaImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/meta.png"
+heroImagePath: "/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg"
+heroImageAlt: "An ink code card on light paper showing a Photon query from src/script.ts that returns a typed Post array, with the Post[] type highlighted in cyan."
---
We are excited to share the Prisma 2 Preview today. It features a **type-safe database client** ([Photon](https://github.com/prisma/prisma/releases/tag/2.0.0-preview020)) and a **declarative migration system** ([Lift](https://github.com/prisma/prisma/releases/tag/2.0.0-preview020)). Help us improve Prisma 2 by trying it out and sharing your feedback!
diff --git a/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx b/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx
index d014cefbbe..7e9f62a55c 100644
--- a/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-6-18-0/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Mike Hartington"
metaTitle: "Prisma ORM 6.18.0, Postgres Database Metrics and Config Modernization"
metaDescription: "Catch up on the lates 6.18.0 release for Prisma ORM and Prisma Postgres."
-metaImagePath: "/announcing-prisma-6-18-0/imgs/meta-85fc09231b7180336b63d1da7fe47a2520db99f5-1266x711.png"
-heroImagePath: "/announcing-prisma-6-18-0/imgs/hero-6903d477604982ce17726b525221e1e1de6eb1a1-844x474.svg"
-heroImageAlt: "Prisma 6.18.0 Release "
+metaImagePath: "/announcing-prisma-6-18-0/imgs/meta.png"
+heroImagePath: "/announcing-prisma-6-18-0/imgs/hero.svg"
+heroImageAlt: "An ink code card on light paper showing the prisma.config.ts file with the engine 'classic' line highlighted in cyan, beside the words 'Config, not schema'."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx b/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx
index 79405118e1..bf1d9e4a65 100644
--- a/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-6-19-0/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Mike Hartington"
metaTitle: "Announcing Prisma 6.19.0"
metaDescription: "Prisma 6.19 release includes pooled Postgres connections and VS Code extension improvements"
-metaImagePath: "/announcing-prisma-6-19-0/imgs/meta-fab568a4879cfeb58a8405888c303ce5b6b279fb-1266x711.png"
-heroImagePath: "/announcing-prisma-6-19-0/imgs/hero-21b965afb8b247bc0f088a71d844d66b64d5da38-844x474.svg"
+metaImagePath: "/announcing-prisma-6-19-0/imgs/meta.png"
+heroImagePath: "/announcing-prisma-6-19-0/imgs/hero.svg"
+heroImageAlt: "A diagram titled 'Pooled direct connections' showing an app connecting through a connection pooling card carrying the pool=true parameter on to Prisma Postgres"
tags:
- "prisma-postgres"
- "orm"
diff --git a/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx b/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx
index 03490a6e1f..e3a56a569c 100644
--- a/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-day-50cg22nn40qk/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Etel Sverdlov"
metaTitle: "Prisma Day 2019 - community conference on modern app development"
metaDescription: "Prisma Day 2019 brought the Prisma community together in Berlin for talks on modern app development, databases, and Prisma in production."
-metaImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/meta-eeacc461f1965ed958af330fc9dc93f635920b43-1200x630.png"
-heroImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/hero-d719c9276cc4c57665d4a32cc5fdae5b5bfcad50-1200x630.png"
-heroImageAlt: "Announcing Prisma Day the future of data"
+metaImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/meta.png"
+heroImagePath: "/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg"
+heroImageAlt: "A soft coral light field on light paper with a single white card announcing Prisma Day on June 19, 2019 at the Pfefferberg Theatre in Berlin."
---
Announcing the first [Prisma Day](https://www.prisma.io/day), a one-day Prisma community conference on the
diff --git a/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx b/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx
index d639d43d28..798974d4e8 100644
--- a/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-orm-7-0-0/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Mike Hartington"
metaTitle: "Prisma 7 Release: Rust-Free, Faster, and More Compatible"
metaDescription: "Prisma ORM 7 delivers major performance gains, a Rust-free client, and a streamlined developer experience, plus deeper Prisma Postgres integration."
-metaImagePath: "/announcing-prisma-orm-7-0-0/imgs/meta-6b30aeef18d38ef00eb7b90286801660d84a9a0e-1266x711.png"
-heroImagePath: "/announcing-prisma-orm-7-0-0/imgs/hero-bbef45a84ff4bd03130bed3589b7d240c29ce325-844x474.svg"
+metaImagePath: "/announcing-prisma-orm-7-0-0/imgs/meta.png"
+heroImagePath: "/announcing-prisma-orm-7-0-0/imgs/hero.svg"
+heroImageAlt: "A giant Sora 7 filled with the Prisma spectrum gradient on paper, beside the two results of the Rust-free client: 90% smaller bundle output and 3x faster query execution."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx b/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx
index 27b79dfe2a..82c5b50195 100644
--- a/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-orm-7-2-0/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Mike Hartington"
metaTitle: "Prisma ORM 7.2.0 Released: CLI Improvements, Bug Fixes & Better Configs"
metaDescription: "Prisma ORM 7.2.0 is out with key improvements: the return of the --url flag, smarter prisma init configs for Node and Bun, better CLI errors, and fixes for @db.Money. Upgrade today."
-metaImagePath: "/announcing-prisma-orm-7-2-0/imgs/meta-e05db51030f5b58e706489c501174d1d00eb99ec-1266x711.png"
-heroImagePath: "/announcing-prisma-orm-7-2-0/imgs/hero-51b054f6d21361fc56212a05c7efd36b78e62ff3-844x474.svg"
+metaImagePath: "/announcing-prisma-orm-7-2-0/imgs/meta.png"
+heroImagePath: "/announcing-prisma-orm-7-2-0/imgs/hero.svg"
+heroImageAlt: "The numeral 7.2.0 set large in ink on light paper above a cyan rule and a one-line release summary: --url is back, runtime-aware prisma init, @db.Money fixed."
tags:
- "orm"
---
diff --git a/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx b/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx
index 23df80aa7d..31b4604288 100644
--- a/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-playground-xeywknkj0e1p/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma Playground: An Interactive Learning Experience for Prisma"
metaDescription: "Explore the Prisma Client API to send database queries and Prisma Migrate worklfows to evolve your database schema in an interactive environment."
-metaImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/meta-470fec1fa04cf5fccadfadd70b449d857ee62116-1688x948.png"
-heroImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/hero-1735a3ccb59d21fc0d32410b0b3ac83242fcd020-844x474.svg"
-heroImageAlt: "Prisma Playground: An Interactive Learning Experience for Prisma"
+metaImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png"
+heroImagePath: "/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg"
+heroImageAlt: "A dashed sandbox boundary holding the Prisma Playground's two tracks: Prisma Client queries and Prisma Migrate guides."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx b/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx
index 8ad80c1ae1..ec9d750377 100644
--- a/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-postgres-early-access/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma Postgres®: Building a Modern PostgreSQL Service Using Unikernels & MicroVMs"
metaDescription: "At Prisma, we believe that deploying a database should be as simple as adding a new page in Notion. Today, we are excited to share the first milestone towards this vision: Prisma Postgres® gives developers an always-on database with pay-as-you-go pricing, thanks to our unique architecture design."
-metaImagePath: "/announcing-prisma-postgres-early-access/imgs/meta-6796d74a842eae9429254e7ed11b483985ba4e50-1266x711.png"
-heroImagePath: "/announcing-prisma-postgres-early-access/imgs/hero-153cb5a3d4a5447955824c28ae43788e7c407adf-633x356.png"
+metaImagePath: "/announcing-prisma-postgres-early-access/imgs/meta.png"
+heroImagePath: "/announcing-prisma-postgres-early-access/imgs/hero.svg"
+heroImageAlt: "Three stacked bands showing the Prisma Postgres architecture: PostgreSQL as the application, a yellow-accented unikernel band described as the thinnest possible layer, and an ink band for the Firecracker microVM on bare metal."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx b/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx
index e6d3d3db93..473f3fa98b 100644
--- a/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-postgres-for-ai-coding-agents/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Announcing: Instant Prisma Postgres for AI Coding Agents"
metaDescription: "Prisma Postgres gives AI coding agents instant database provisioning so developers can build, test, and iterate on AI-powered apps much faster."
-metaImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta-24be732ef3e8f019820d370b8a5f74ab14170fdc-1266x711.png"
-heroImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero-6ad1b7b4a851a45e91418d443573f0c38accc78d-844x474.svg"
+metaImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png"
+heroImagePath: "/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg"
+heroImageAlt: "An ink code card showing the Prisma MCP server configuration from the post, with the npx prisma platform mcp arguments highlighted in prism yellow."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx b/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx
index f95456fcf9..d8cf1032ef 100644
--- a/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx
+++ b/apps/blog/content/blog/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Announcing Prisma’s MCP Server: Vibe Code with Prisma Postgres"
metaDescription: "With Prisma’s MCP server, Cursor, Windsurf and other AI tools, can now provision and manage Postgres databases for your apps.."
-metaImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta-0e15503386e31edce5fd389f4b2ee52b0f71a162-1266x711.png"
-heroImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero-7d96f16b30c6971db0da1e546a13a985ec47f6f3-844x474.svg"
+metaImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png"
+heroImagePath: "/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg"
+heroImageAlt: "A soft yellow mesh field on light paper carrying the command npx prisma init --vibe 'Cat meme generator' in one small white card, under the line that your AI tool provisions the database."
---
With AI-native IDEs, we are all developing apps with remarkable speed. So much so that managing infrastructure is becoming the bottleneck. With [Prisma’s MCP server](https://www.prisma.io/docs/postgres/mcp-server), Cursor, Windsurf and other AI tools, can now provision and manage Postgres databases for your apps, so you don’t have to spend time fiddling with infrastructure.
diff --git a/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx b/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx
index 04bf515ac3..2fb52cb6dd 100644
--- a/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx
+++ b/apps/blog/content/blog/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "Announcing Nexus 1.0: Type-Safe, Code-First GraphQL APIs | Prisma"
metaDescription: "Nexus, the library for building code-first, type-safe GraphQL APIs has just reached 1.0."
-metaImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta-29585f8afef1e4c94930404a027807ca6ec0c2e3-2398x1208.png"
-heroImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero-807c11a11df0567a4b2ac96a0cac738b916d7416-1692x852.png"
-heroImageAlt: "Nexus 1.0: A Major Release for Type-Safe, Code-First GraphQL APIs"
+metaImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png"
+heroImagePath: "/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg"
+heroImageAlt: "An ink code card showing the Nexus 1.0 objectType API with the explicit nonNull calls highlighted in cyan, beside the line 'One file, one language'."
---
Prisma is a core contributor to Nexus, a library for building code-first and type-safe GraphQL APIs. Nexus has just reached 1.0. In this post, we'll recap what Nexus is and the value it brings and what's new at 1.0.
diff --git a/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx b/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx
index 961a56d668..cfbb76a84c 100644
--- a/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx
+++ b/apps/blog/content/blog/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Nikolas Burk"
metaTitle: "TypedSQL: Type-Safe Raw SQL Queries in Prisma ORM"
metaDescription: "TypedSQL adds type-safe raw SQL to Prisma ORM: write queries in .sql files, generate typed functions, and run them with $queryRawTyped. Verified on Prisma 7."
-metaImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta-6212889ff7d56ad41636c0f7938159b1fd740651-1688x948.png"
-heroImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero-9d1c710f959ab75107576ad53720a7731c75797a-844x474.png"
+metaImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png"
+heroImagePath: "/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg"
+heroImageAlt: "A dark code card tabbed with the file prisma/sql/conversionByVariant.sql, showing the generated query imported and run through prisma.$queryRawTyped, with the inferred result type { variant: string; conversion: number | null }[] highlighted in cyan."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx b/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx
index 11154da246..3624009d8e 100644
--- a/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx
+++ b/apps/blog/content/blog/announcing-upcoming-course-8s41wdqrlgc7/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Mahmoud Abdelwahab"
metaTitle: "New Course: Fullstack App Using Next.js, GraphQL, TypeScript & Prisma TypeScript and Node.js ORM"
metaDescription: "We are working on a course, where you are going to learn how to build a fullstack app using Next.js, GraphQL, TypeScript and Prisma!"
-metaImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero-c4f6ff1ce0178636ddc08d50f408c042800bac92-1270x714.png"
-heroImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero-c4f6ff1ce0178636ddc08d50f408c042800bac92-1270x714.png"
-heroImageAlt: "New Course: Fullstack App Using Next.js, GraphQL, TypeScript & Prisma"
+metaImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png"
+heroImagePath: "/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg"
+heroImageAlt: "Four stacked plates naming the layers of the app built in the course, Next.js, GraphQL Yoga, Prisma and PostgreSQL, with the Prisma layer highlighted in cyan."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/aws-marketplace/index.mdx b/apps/blog/content/blog/aws-marketplace/index.mdx
index 602e233494..ba42b00b0b 100644
--- a/apps/blog/content/blog/aws-marketplace/index.mdx
+++ b/apps/blog/content/blog/aws-marketplace/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nitin Gupta"
metaTitle: "Prisma products are now available for purchase on AWS Marketplace"
metaDescription: "AWS Marketplace customers can purchase Prisma products through AWS Marketplace."
-metaImagePath: "/aws-marketplace/imgs/meta-328edbc9eaafbce2d4e09174ee22a13f77e758d3-1266x711.png"
-heroImagePath: "/aws-marketplace/imgs/hero-f97462343e60a5322d236b809eaf9555aa725651-844x474.svg"
-heroImageAlt: "Prisma on AWS Marketplace"
+metaImagePath: "/aws-marketplace/imgs/meta.png"
+heroImagePath: "/aws-marketplace/imgs/hero.svg"
+heroImageAlt: "The words 'Now on your AWS invoice' on light paper above the line 'Prisma products on AWS Marketplace'."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx
index 916c2725db..fc8014d669 100644
--- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx
+++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Daniel Norman"
metaTitle: "TypeScript, PostgreSQL, Prisma Backend | Authentication, Authorization"
metaDescription: "Secure a TypeScript and PostgreSQL backend with Prisma ORM 7, passwordless authentication, JWTs, and authorization rules using Hono."
-metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta-9eae0d75afddb1fce65c68320479268f4cdcffd3-1692x852.png"
-heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero-9f73d35216a42b2bb796a971053669fbc90e36ee-846x426.png"
-heroImageAlt: "Backend with TypeScript, PostgreSQL & Prisma: Authentication & Authorization"
+metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png"
+heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg"
+heroImageAlt: "A three-step flow on light paper: POST /login takes the user's email, an 8-digit token expires in 10 minutes, and /authenticate exchanges it for a JWT valid for 12 hours, drawn as the highlighted card."
series: backend-prisma-typescript-orm-with-postgresql
seriesIndex: 3
---
diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx
index eacb50b86a..1cb662efcb 100644
--- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx
+++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Daniel Norman"
metaTitle: "TypeScript, PostgreSQL, Prisma | Data Modeling, CRUD, Aggregates"
metaDescription: "Learn to design a PostgreSQL data model and run type-safe CRUD and aggregate queries with Prisma ORM 7 and TypeScript. Updated for the rust-free Prisma Client."
-metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero-df67ee11927bde800c1ba033b94e182ab3565110-1692x852.png"
-heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero-df67ee11927bde800c1ba033b94e182ab3565110-1692x852.png"
-heroImageAlt: "Backend with TypeScript PostgreSQL & Prisma: Data Modeling & CRUD"
+metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png"
+heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg"
+heroImageAlt: "A relation diagram from the grading-system data model: User and Course on either side of a highlighted CourseEnrollment relation table holding the userId and courseId foreign keys, captioned \"One m-n relation, two 1-n relations\"."
series: backend-prisma-typescript-orm-with-postgresql
seriesIndex: 1
---
diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx
index 1c6383cc5b..f2e7145694 100644
--- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx
+++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Daniel Norman"
metaTitle: "TypeScript, PostgreSQL, Prisma | Continuous Integration & Deployment"
metaDescription: "Set up CI/CD for a TypeScript, PostgreSQL, and Prisma ORM 7 backend with GitHub Actions, automated tests, and deployment to Prisma Compute."
-metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero-d3aa9c3e0b081fe4d675e11574d1bbcf8ea9de46-1692x852.png"
-heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero-d3aa9c3e0b081fe4d675e11574d1bbcf8ea9de46-1692x852.png"
-heroImageAlt: "Backend with TypeScript, PostgreSQL & Prisma: CI & Deployment"
+metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png"
+heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg"
+heroImageAlt: "A three-stage pipeline on a paper background: git push, GitHub Actions running npm test, and a red-outlined Prisma Compute card returning a live URL."
series: backend-prisma-typescript-orm-with-postgresql
seriesIndex: 4
---
diff --git a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx
index 75041b1c9d..bad75ad3e6 100644
--- a/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx
+++ b/apps/blog/content/blog/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Daniel Norman"
metaTitle: "TypeScript, PostgreSQL, Prisma Backend | REST API, Validation, Testing"
metaDescription: "Build a REST API with TypeScript, PostgreSQL, Prisma ORM 7, and Hono, then add Zod validation and Vitest tests for CRUD endpoints."
-metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero-21fe21324bb4e62111c88b37b71091676e29f616-1692x852.png"
-heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero-21fe21324bb4e62111c88b37b71091676e29f616-1692x852.png"
-heroImageAlt: "Backend with TypeScript, PostgreSQL & Prisma: REST, Validation & Tests"
+metaImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png"
+heroImagePath: "/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg"
+heroImageAlt: "The tutorial's five User endpoints set in mono type, with POST /users highlighted and annotated as validated with Zod."
series: backend-prisma-typescript-orm-with-postgresql
seriesIndex: 2
---
diff --git a/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx b/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx
index 8cc333f93b..853e8b0b67 100644
--- a/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx
+++ b/apps/blog/content/blog/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Database Caching: A Double-Edged Sword? Examining the Pros and Cons"
metaDescription: "Discover the advantages and hurdles of caching database query results. Learn how caching enhances performance, scalability, and resource utilization, while also delving into the associated challenges."
-metaImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta-72680f73691cdf86b51087621b4b0e79ac12fde7-1266x712.png"
-heroImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero-ce90e81e707c3b5735077783e1db72216b8a56dd-844x474.svg"
-heroImageAlt: "Database Caching"
+metaImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png"
+heroImagePath: "/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg"
+heroImageAlt: "Two columns headed What you gain and What you pay, listing caching's benefits and its costs on either side of a single spectrum-coloured dividing edge."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/bfg/index.mdx b/apps/blog/content/blog/bfg/index.mdx
index 3ebc85d882..195667bda3 100644
--- a/apps/blog/content/blog/bfg/index.mdx
+++ b/apps/blog/content/blog/bfg/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Nitin Gupta"
metaTitle: "Explanation of Prisma's Build, Fortify, Grow (BFG) Framework"
metaDescription: "An overview of how Prisma products interoperate at each stage and aid in enhancing data-driven application development."
-metaImagePath: "/bfg/imgs/meta-48f848dd9b8582c9e4ce13d14f2001a485d281d3-1266x711.png"
-heroImagePath: "/bfg/imgs/hero-9e46446f32d354d43e61580e8fc6f1855839e4e5-844x474.svg"
-heroImageAlt: "Build, Fortify, Grow Framework"
+metaImagePath: "/bfg/imgs/meta.png"
+heroImagePath: "/bfg/imgs/hero.svg"
+heroImageAlt: "The words Build, Fortify and Grow stacked in large type beside a spectrum rail, each annotated with the promise of that phase."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx b/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx
index 5af1d181d6..ae5d68b006 100644
--- a/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx
+++ b/apps/blog/content/blog/bringing-prisma-orm-to-react-native-and-expo/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Bringing Prisma ORM to React Native and Expo"
metaDescription: "Prisma ORM now provides Early Access support for React Native and Expo. The integration introduces reactive queries, using React hooks to auto-update the UI when the underlying data changes."
-metaImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/meta-289f00bdde5d5f308f3faa684d09f647974d77b6-1200x630.png"
-heroImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/hero-bbb1e7f6b0f7bef3d318fac96652548cad0ef0b5-844x474.svg"
+metaImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png"
+heroImagePath: "/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg"
+heroImageAlt: "Typographic cover on light paper: the words Reactive queries set large in Sora above the hook call prisma.transactions.useFindMany(), with useFindMany picked out in cyan."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx b/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx
index 1ed4efe7e2..ed8bbc5b7d 100644
--- a/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx
+++ b/apps/blog/content/blog/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "How to build an App With Svelte and TypeScript | Prisma"
metaDescription: "Learn how to build a Svelte app with TypeScript and improve developer ergonomics with stronger typing across your frontend codebase."
-metaImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta-711f2d3f2094907c22c0ef2dd88e69992f950026-2400x1256.png"
-heroImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero-0e8c20420d860a393f68694b8bab707306822df3-1692x852.png"
-heroImageAlt: "Build an App With Svelte and TypeScript"
+metaImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png"
+heroImagePath: "/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg"
+heroImageAlt: "An ink code card showing the same Svelte script block twice: without lang=\"ts\" the typed prop is an unexpected token, and with lang=\"ts\" highlighted in red it compiles."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx b/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx
index 96b0948a13..1bbd234e95 100644
--- a/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx
+++ b/apps/blog/content/blog/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Build Applications at the Edge with Prisma ORM & Cloudflare D1 (Preview)1"
metaDescription: "Prisma ORM now supports Cloudflare D1 databases. Read this article to learn how to query D1 from a Cloudflare Worker."
-metaImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta-9804cde42d974d63b5a3b8bc951c13aeb9187101-1266x711.png"
-heroImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero-66fc05379af15d65fd3dd6d792c9a575db648895-844x474.png"
+metaImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png"
+heroImagePath: "/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg"
+heroImageAlt: "A three-tile flow on light paper under the headline \"Query D1 from a Worker\": a Cloudflare Worker passes through the PrismaD1 driver adapter, highlighted in cyan, into the D1 database bound as env.DB."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx b/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx
index 5bc9107d79..8f8421db51 100644
--- a/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx
+++ b/apps/blog/content/blog/caching-database-queries-with-prisma-accelerate/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Jon Harrell"
metaTitle: "Caching Database Queries with Prisma Postgres"
metaDescription: "Cache database queries per query with Prisma Postgres's built-in TTL and SWR caching: faster reads, lower database load, and no separate caching infrastructure to run."
-metaImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/meta-959743e064c1771e65e078aa6ebee2b402c28578-1266x711.png"
-heroImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/hero-69cd8d277e2307eb14396450817be41bb1e7c305-844x474.svg"
-heroImageAlt: "The word \"caching\" with a starburst behind it, showing that it is important."
+metaImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/meta.png"
+heroImagePath: "/caching-database-queries-with-prisma-accelerate/imgs/hero.svg"
+heroImageAlt: "A freshness timeline for one cached query under the line \"cacheStrategy: { ttl: 300, swr: 120 }\": a solid yellow band labelled \"ttl · 5 min, served from cache as fresh\" followed by a fading band labelled \"swr · 2 min, served stale, revalidating\"."
---
Query caching stores the result of a database read so repeated requests are served from the cache instead of hitting your database: faster responses, lower database load, and infrastructure that survives traffic spikes. [Prisma Postgres](https://www.prisma.io/docs/postgres) builds this in at the query level: you add a `cacheStrategy` to an individual Prisma ORM query and choose how long results stay fresh, with no separate caching layer to deploy or invalidate. This post covers why and when to cache, and how per-query caching works in practice.
diff --git a/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx b/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx
index 6b163c2125..d0746bfe94 100644
--- a/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx
+++ b/apps/blog/content/blog/client-extensions-ga-4g4yIu8eOSbB/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Jon Harrell"
metaTitle: "Prisma Client Extensions Are Now Production Ready (4.16.0)"
metaDescription: "Make Prisma Client do even more with Client extensions, now Generally Available. Extend your client, models, queries, and results to tailor Prisma Client to your use case."
-metaImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/meta-50e7e57ea5967ad67ce89e682aca57f5e19fd65a-1266x712.png"
-heroImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/hero-b404c12ca7de2f9288368dacbce578b790bfd66d-844x474.svg"
-heroImageAlt: "Prisma Client Extensions"
+metaImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png"
+heroImagePath: "/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg"
+heroImageAlt: "A white prism on paper: a single $extends beam enters and refracts into four colored rays labelled model, client, query and result."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx b/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx
index e24bf3555f..24a6ffacdd 100644
--- a/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx
+++ b/apps/blog/content/blog/client-extensions-preview-8t3w27xkrxxn/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Stephen King"
metaTitle: "Prisma Client Extensions: 15 Practical Examples"
metaDescription: "Prisma Client extensions add type-safe custom behavior to Prisma ORM: computed fields, validation, RLS, retries and more, with 15 runnable examples."
-metaImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/meta-5ca8711a05c2f835cfce511739e46b5f6df982cd-1266x712.png"
-heroImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/hero-1b0474b02ed0759af1c6e3f3bcba5d4ebb1d970b-844x474.svg"
-heroImageAlt: "Prisma Client Extensions: extending Prisma ORM with custom behavior"
+metaImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png"
+heroImagePath: "/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg"
+heroImageAlt: "A giant numeral 15 beside the words extension patterns, above the prisma.$extends(myExtension) call set in mono type."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx b/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx
index 41f48400d4..953b9b270f 100644
--- a/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx
+++ b/apps/blog/content/blog/cloud-connectivity-report-2024/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Prisma's Cloud Connectivity Report 2024"
metaDescription: "The Prisma Cloud Connectivity Report 2024 analyzes AWS and Cloudflare latency, highlighting regions with the fastest and slowest connectivity."
-metaImagePath: "/cloud-connectivity-report-2024/imgs/meta-4081c40e88b18cc130df73ce6102d5154c7ad39c-1200x630.png"
-heroImagePath: "/cloud-connectivity-report-2024/imgs/hero-cb3b5906c2776d8457722f79222e915cd08aa6a3-844x474.svg"
+metaImagePath: "/cloud-connectivity-report-2024/imgs/meta.png"
+heroImagePath: "/cloud-connectivity-report-2024/imgs/hero.svg"
+heroImageAlt: "A bar chart of p50 latency from AWS regions to their nearest Cloudflare PoP: ap-south-1 (Mumbai) fastest at 10.9 ms in cyan, ap-southeast-1 (Singapore) 12.3 ms, ap-southeast-2 (Sydney) 15.8 ms, and us-east-2 (Columbus) about three times higher."
---
The Prisma Cloud Connectivity Report 2024 analyzes network latency between AWS regions and Cloudflare PoPs, identifying regions with the fastest and slowest connectivity. It highlights the impact of physical infrastructure and geographical distance on latency, providing insights for optimizing cloud connectivity and data exchange efficiency.
diff --git a/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx b/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx
index eb1ad9efb4..48c6208abf 100644
--- a/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx
+++ b/apps/blog/content/blog/cloudflare-partnership-qerefgvwirjq/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nitin Gupta"
metaTitle: "Developer Experience Redefined: Prisma & Cloudflare Lead the Way to Data DX"
metaDescription: "Prisma introduces Data DX and announces a partnership with Cloudflare"
-metaImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/meta-c3dfb4dc0d8bc7d99b379b6e68668c6135aca53c-1266x711.png"
-heroImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/hero-726190b9f3c5c097cc8cfa5dc08581458138758f-844x474.svg"
-heroImageAlt: "hero image prisma"
+metaImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/meta.png"
+heroImagePath: "/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg"
+heroImageAlt: "A flat flow on light paper: a query leaves a Your app tile along a cyan beam into a highlighted Accelerate edge cache tile labelled Cloudflare CDN and Workers, with a dashed line continuing to the database only on a cache miss."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx b/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx
index 4fc489c07c..d7e7c911bf 100644
--- a/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx
+++ b/apps/blog/content/blog/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Cloudflare, Unikernels & Bare Metal: Life of a Prisma Postgres Query"
metaDescription: "Take a look under the hood of the most innovative PostgreSQL database on the market and learn how a query travels through Cloudflare, unikernels and bare metal."
-metaImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta-b078a6114c23eb0c00322a230a463628f4799fb4-1266x711.png"
-heroImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero-e23d2415c9dce256ee6090919392141e9da30678-844x474.svg"
+metaImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png"
+heroImagePath: "/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg"
+heroImageAlt: "Four connected tiles trace a query from Prisma ORM through Cloudflare and the connection pool to a Prisma Postgres instance running as a unikernel on bare metal."
---
[Prisma Postgres](https://www.prisma.io/postgres) is the most innovative PostgreSQL database on the market. In this article, we dive deep into its technology stack, which enables lightning-fast queries, global caching, connection pooling, and more.
diff --git a/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx b/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx
index 3bf2bbff17..e08cdcb570 100644
--- a/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx
+++ b/apps/blog/content/blog/cockroach-ga-5JrD9XVWQDYL/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "Prisma support for CockroachDB is now in GA"
metaDescription: "Prisma's support for CockroachDB is now in production ready! Read this article to learn about the features and benefits of Prisma with CockroachDb."
-metaImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/meta-77148d314c74789939fb2b2af2bf3f82378cebc0-1920x1080.png"
-heroImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/hero-ebf53ec190dab44f271d4f0dd1ad658507f55b66-844x474.svg"
-heroImageAlt: "Prisma Support for CockroachDB Is Production Ready"
+metaImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png"
+heroImagePath: "/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg"
+heroImageAlt: "Three stacks of layered elliptical planes on a light background, representing nodes of a distributed database; the same plane in each stack is tinted cyan and joined by a thin cyan line."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/compliance-reqs-complete/index.mdx b/apps/blog/content/blog/compliance-reqs-complete/index.mdx
index de58286d91..68ea4e914e 100644
--- a/apps/blog/content/blog/compliance-reqs-complete/index.mdx
+++ b/apps/blog/content/blog/compliance-reqs-complete/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Josh McLeod"
metaTitle: "Prisma completes HIPAA, GDPR, ISO27001, SOC2 compliance requirements."
metaDescription: "Prisma completes the compliance requirements for GDPR, HIPAA, ISO27001 and SOC2-TypeII certifications"
-metaImagePath: "/compliance-reqs-complete/imgs/meta-457925aa50c548e3c000c94e5dab3874b4272046-1266x711.png"
-heroImagePath: "/compliance-reqs-complete/imgs/hero-d21f1c5e95d54f9016987dc7885b6b032c1bc140-844x474.svg"
-heroImageAlt: "Prisma completes compliance requirements for GDPR, HIPAA, ISO27001 and SOC2-TypeII certifications."
+metaImagePath: "/compliance-reqs-complete/imgs/meta.png"
+heroImagePath: "/compliance-reqs-complete/imgs/hero.svg"
+heroImageAlt: "A checked list of the four standards Prisma completed: SOC 2 Type II, HIPAA, GDPR and ISO 27001:2022."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx b/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx
index 9837651d94..6acc3e8759 100644
--- a/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx
+++ b/apps/blog/content/blog/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Announcing: Prisma Postgres Integration for Vercel Marketplace"
metaDescription: "We’re thrilled to announce that you can now create and manage Prisma Postgres instances without leaving your Vercel Dashboard."
-metaImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta-1e5148009a4294ebba377f758ce1139e3c46bcef-1266x711.png"
-heroImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero-b06562c14b921f9c72bd78bcd5b04717f20cf9e4-844x474.svg"
+metaImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png"
+heroImagePath: "/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg"
+heroImageAlt: "Large ink type on paper reading A database in your Vercel dashboard, lit by a soft Prisma Postgres yellow glow in the lower right."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx b/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx
index 9aba9c2ebe..76d2b42f7a 100644
--- a/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx
+++ b/apps/blog/content/blog/connections-edges-nodes-in-relay-758d358aa4c7/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Learn more about Connections, Edges & Nodes in Relay | Prisma"
metaDescription: "Learn how Relay uses connections, edges, and nodes to model relationships and pagination on top of GraphQL schemas."
-metaImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta-cc730c78d87244cb877764a6a4a850b2c9223871-1200x775.png"
-heroImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero-a86c8de527177e03b9e08b9f1f1522dc1debbc6d-559x361.png"
+metaImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png"
+heroImagePath: "/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg"
+heroImageAlt: "A diagram on light paper showing a movie node connecting into nested bars labelled actors(first: 10), edges, node and name."
---
The terminology of Relay can be quite overwhelming in the beginning. Relay introduces a handful of new concepts on top
diff --git a/apps/blog/content/blog/convergence/index.mdx b/apps/blog/content/blog/convergence/index.mdx
index 7a27f2dadb..218cb96f87 100644
--- a/apps/blog/content/blog/convergence/index.mdx
+++ b/apps/blog/content/blog/convergence/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nitin Gupta"
metaTitle: "The ORM Convergence: Convergence through experience"
metaDescription: "Why Drizzle's relational API v2 mirrors Prisma: production database problems at scale lead to similar patterns. A look at ORM convergence."
-metaImagePath: "/convergence/imgs/meta-3963296cdd515c9ae5cb17379fcff0da144c7b35-1266x711.png"
-heroImagePath: "/convergence/imgs/hero-532d75ec739a13ee528e8b2a085d47fc962a3ca7-840x472.png"
-heroImageAlt: "ORM Convergence"
+metaImagePath: "/convergence/imgs/meta.png"
+heroImagePath: "/convergence/imgs/hero.svg"
+heroImageAlt: "A comparison card mapping Prisma's relational query options to Drizzle's Relational API v2, joined by cyan equals signs: include = with, select = columns, take = limit."
---
Drizzle's relational API v2 adds migrations, object-based queries, and abstractions mirroring Prisma's architecture. Plot twist: this isn't copying, it's convergence. Production database problems at scale demand similar solutions. Seeing another team reach the same conclusions we did in 2020? Pretty validating.
diff --git a/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx b/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx
index ca5fb732c3..6a7f2961ae 100644
--- a/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx
+++ b/apps/blog/content/blog/coo-announcement-aer1fgviirjb/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Prisma Is Expanding Its Executive Team"
metaDescription: "Announcement about new COO joining Prisma"
-metaImagePath: "/coo-announcement-aer1fgviirjb/imgs/hero-c79e2c7b7f4cd64f5be9677d4fab38140809b0f9-1267x711.png"
-heroImagePath: "/coo-announcement-aer1fgviirjb/imgs/hero-c79e2c7b7f4cd64f5be9677d4fab38140809b0f9-1267x711.png"
-heroImageAlt: "Prisma Is Expanding Its Executive Team"
+metaImagePath: "/coo-announcement-aer1fgviirjb/imgs/meta.png"
+heroImagePath: "/coo-announcement-aer1fgviirjb/imgs/hero.svg"
+heroImageAlt: "A soft prism-red field on light paper carrying a single line of type: Nitin Gupta joins Prisma as COO."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/data-platform-static-ips/index.mdx b/apps/blog/content/blog/data-platform-static-ips/index.mdx
index 8e4d40ebf1..2098bab2e9 100644
--- a/apps/blog/content/blog/data-platform-static-ips/index.mdx
+++ b/apps/blog/content/blog/data-platform-static-ips/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Enabling static egress IPs in the Prisma Data Platform"
metaDescription: "Static egress IP support ensures that the Prisma Data Platform connects to your databases through public static IP addresses helping you keep your database secure."
-metaImagePath: "/data-platform-static-ips/imgs/meta-725058cd14e118302aa8e56bbaf31e46436bfc91-1269x640.png"
-heroImagePath: "/data-platform-static-ips/imgs/hero-f9991a96b6b8ce0fa61dead528141fa1e8b911be-844x474.svg"
-heroImageAlt: "Enabling static egress IPs in the Prisma Data Platform"
+metaImagePath: "/data-platform-static-ips/imgs/meta.png"
+heroImagePath: "/data-platform-static-ips/imgs/hero.svg"
+heroImageAlt: "Three red arrows leave a Prisma Data Platform card and pass through the single opening in a dashed firewall allow-list boundary that encloses a database."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx b/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx
index dacd7d1050..ee579bc951 100644
--- a/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx
+++ b/apps/blog/content/blog/database-access-in-react-server-components-r2xgk9aztgdf/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Mahmoud Abdelwahab"
metaTitle: "Send Database Queries in a React App Using Server Components"
metaDescription: "Learn how to query your database directly from React Server Components with Prisma, and why type-safe database access fits the server-rendered React model."
-metaImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta-8befd7df92cc32135332ef9c28b41e076e2c8998-1251x630.png"
-heroImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero-f388984fa1fe34f5d79d884f6f599c22a4107fa1-846x426.png"
-heroImageAlt: "Database Access in React Server Components"
+metaImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png"
+heroImagePath: "/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg"
+heroImageAlt: "The headline 'Skip the API layer' beside a dark code card showing the NoteList.server.js component calling prisma.note.findMany directly"
tags:
- "education"
---
diff --git a/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx b/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx
index c3c4bafd6b..7fa25bc242 100644
--- a/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx
+++ b/apps/blog/content/blog/database-access-on-the-edge-8F0t1s1BqOJE/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Database access on the Edge with Next.js, Vercel & Prisma Accelerate"
metaDescription: "Learn how you can query databases in Edge environments using Prisma and the Prisma Accelerate."
-metaImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/41eccd0c9a716384d9635415e90e434abfda6c58-1692x952.png"
-heroImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/1fc839965595779722b9fca14e1e517d94aa9726-844x474.svg"
-heroImageAlt: "Database access on the Edge with Next.js, Vercel & Prisma Accelerate"
+metaImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png"
+heroImagePath: "/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg"
+heroImageAlt: "Seven request lines from edge functions converge into a single Prisma Accelerate connection pool, which leaves as one pooled connection to a PostgreSQL database drawn as a cylinder."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx b/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx
index e19ac48052..8db63743d2 100644
--- a/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx
+++ b/apps/blog/content/blog/database-vs-application-demystifying-join-strategies/index.mdx
@@ -5,8 +5,9 @@ date: "2025-01-15"
authors:
- "Nikolas Burk"
metaDescription: "Joining data from multiple tables is a complicated topic. There are two main strategies: database-level and application-level joins. Prisma ORM offers both options. In this article you’ll learn the tradeoffs between the two so you can pick the best strategy."
-metaImagePath: "/database-vs-application-demystifying-join-strategies/imgs/meta-3dd1f6419862f57459fa70702fabf854946e6e13-1266x711.png"
-heroImagePath: "/database-vs-application-demystifying-join-strategies/imgs/hero-5fa4fcf8d00bbf21e0b169f955a09f79332fb75b-844x474.svg"
+metaImagePath: "/database-vs-application-demystifying-join-strategies/imgs/meta.png"
+heroImagePath: "/database-vs-application-demystifying-join-strategies/imgs/hero.svg"
+heroImageAlt: "A comparison table listing naive DB-level, application-level and smart DB-level join strategies against how much redundant data each returns and how many database round trips it takes."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx b/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx
index aeec6fe046..2cacbf0084 100644
--- a/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx
+++ b/apps/blog/content/blog/datadx-event-recap-z5pcp6hzbz5m/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Petra Donka"
metaTitle: "Key takeaways from the Discover Data DX virtual event"
metaDescription: "Highlights from the Discover Data DX virtual event hosted by Prisma on December 7th, 2023, where industry leaders discussed the significance and principles of Data DX."
-metaImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/meta-3155f43f9648d3e4eedd05759f69d6876b72d313-1265x711.png"
-heroImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/hero-23097a272172cd3791887b9664ecd25e4dc65cff-843x474.svg"
-heroImageAlt: "Key takeaways from the Discover Data DX virtual event"
+metaImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png"
+heroImagePath: "/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg"
+heroImageAlt: "A large pull quote on light paper reading 'I just want to fix bugs, build features, and ship.', attributed to Peter Pistorius of Snaplet, a panelist at the Discover Data DX event."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx b/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx
index 6613508725..9e0c98429d 100644
--- a/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx
+++ b/apps/blog/content/blog/datadx-manifesto-ikgyqj170k8h/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nitin Gupta"
metaTitle: "Data DX Manifesto: a new era in data-driven app development"
metaDescription: "Prisma introduces Data DX (Data Developer Experience) as a fresh approach for effortlessly building data-driven applications."
-metaImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/meta-96de5fd29833ae651da6ecc88c021bb9d84eba1b-1266x711.png"
-heroImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/hero-2e402be560690da1dd594236284a8efa71a8f82f-844x474.svg"
-heroImageAlt: "Data DX"
+metaImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/meta.png"
+heroImagePath: "/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg"
+heroImageAlt: "The words Data DX set large in ink on paper, with the three 45-degree Prisma prism bands bleeding off the bottom-right corner"
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx b/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx
index 529004708a..dd9cd42ed7 100644
--- a/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx
+++ b/apps/blog/content/blog/datadx-name-for-prismas-philosophy/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Dave Feldman"
metaTitle: "Data DX: The name for Prisma’s developer experience philosophy"
metaDescription: "Explore the evolution of Data DX at Prisma, from its inception before naming to the launch of a new category."
-metaImagePath: "/datadx-name-for-prismas-philosophy/imgs/meta-20adaa4799629b59c11ad00ea86bdc7cfbbd0ed5-1266x711.png"
-heroImagePath: "/datadx-name-for-prismas-philosophy/imgs/hero-6b87cc279c810d8c9af92e0bfc3e4a4b21dd9bf0-844x474.svg"
+metaImagePath: "/datadx-name-for-prismas-philosophy/imgs/meta.png"
+heroImagePath: "/datadx-name-for-prismas-philosophy/imgs/hero.svg"
+heroImageAlt: "The Prisma logo at the center of concentric yellow rings spreading outward across a light canvas."
---
Explore the evolution of [Data DX](https://www.datadx.io/) at Prisma, from its inception before naming to the launch of a new category. Learn more about our founder’s vision and how Data DX is integrated into Prisma's products, and join the industry-wide shift towards a new era in developer experience.
diff --git a/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx b/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx
index 4fdacd5128..05659b77dd 100644
--- a/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx
+++ b/apps/blog/content/blog/datamodel-v11-lrzqy1f56c90/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "New Datamodel Syntax: Improved Schema Control & Simpler Migrations"
metaDescription: "Prisma's new datamodel syntax gave developers more control over database schemas while simplifying migrations and reducing opinionated defaults."
-metaImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/hero-99f1530d6ebe62110fd2839ba4f0185795ee5db4-1200x630.png"
-heroImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/hero-99f1530d6ebe62110fd2839ba4f0185795ee5db4-1200x630.png"
-heroImageAlt: "New Datamodel Syntax: More Schema Control & Simpler Migration"
+metaImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/meta.png"
+heroImagePath: "/datamodel-v11-lrzqy1f56c90/imgs/hero.svg"
+heroImageAlt: "An ink code card showing the datamodel v1.1 syntax, with the @db directives that map the User model to a user table and the name field to a full_name column highlighted."
---
Prisma's latest release features an improved datamodel syntax. It removes many of the opinionated decisions Prisma used to make about the database layout and enables more control for developers.
diff --git a/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx b/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx
index 107e2ab09e..122120283f 100644
--- a/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx
+++ b/apps/blog/content/blog/documenting-apis-mjjpZ7E7NkVP/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Learn 5 Tools for Documenting Web APIs"
metaDescription: "Explore five tools and approaches for documenting web APIs so teams can ship clearer, more usable developer experiences."
-metaImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/hero-2982f7850de70f0c52daa613dae904b463342823-1692x852.png"
-heroImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/hero-2982f7850de70f0c52daa613dae904b463342823-1692x852.png"
-heroImageAlt: "5 Tools for Documenting Your Web API"
+metaImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png"
+heroImagePath: "/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg"
+heroImageAlt: "An editorial index listing the five tools the article covers - Swagger, Postman, GraphQL, Protocol buffers and JSON Schema - each paired with the format it documents, under a yellow rule."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx
index b4e00a981e..789f26778f 100644
--- a/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx
+++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: Frontend"
metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through building a type-safe React app that accesses a GraphQL API."
-metaImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta-dc0f147b1428391e4b3d0374523d45639d1318a6-1269x715.png"
-heroImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero-2f58c7e9701e7f9a0250db211bdf5284da11d2d8-844x474.svg"
-heroImageAlt: "hero image prisma"
+metaImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png"
+heroImagePath: "/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg"
+heroImageAlt: "An ink code card shows the tutorial's src/types.ts file with the Message and User types, the line messages: Message[] highlighted in cyan."
series: e2e-type-safety-graphql-react
seriesIndex: 1
tags:
diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx
index 021c529471..1ffe5db25e 100644
--- a/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx
+++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: API Prep"
metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through setting up a TypeScript project, a PostgreSQL database, and Prisma."
-metaImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta-06962f83ac8be93c511d0ef6cbc29e2cff49e387-1269x715.png"
-heroImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero-838c88ca3817165045cc051d8845880e5a313baf-844x474.svg"
-heroImageAlt: "hero image prisma"
+metaImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png"
+heroImagePath: "/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg"
+heroImageAlt: "A prism splitting a single beam labelled schema.prisma into three colored beams labelled Prisma Client, GraphQL schema and frontend types, under the words One source of truth."
series: e2e-type-safety-graphql-react
seriesIndex: 2
tags:
diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx
index 6f364d2324..e5b789f125 100644
--- a/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx
+++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: GraphQL API"
metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through building a type-safe GraphQL API"
-metaImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta-c8b654f7165277e7cf2cfde5311381d601463251-1269x715.png"
-heroImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero-78bb7b87f2bf7e691114b2768df5ddfe12e00934-844x474.svg"
-heroImageAlt: "hero image prisma"
+metaImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png"
+heroImagePath: "/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg"
+heroImageAlt: "A beam labeled 'Prisma schema' entering a glass prism and refracting into three colored rays labeled database, resolvers and responses"
series: e2e-type-safety-graphql-react
seriesIndex: 3
tags:
diff --git a/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx b/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx
index b8ccea27ec..6bac73fda8 100644
--- a/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx
+++ b/apps/blog/content/blog/e2e-type-safety-graphql-react-4-JaHA8GbkER/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "End-To-End Type-Safety with GraphQL, Prisma & React: Codegen & Deployment"
metaDescription: "Learn how to build a fully type-safe application with GraphQL, Prisma, and React. This article walks you through setting up code generation to allow you to keep your TypeScript types in sync across your frontend and API. You will also deploy your completed project."
-metaImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta-42c1cab53d152b8e3e634d75bc70b9d624431cf7-1269x715.png"
-heroImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero-b277fdcfbb2267b2f5a9b5d2bd7f06e053febf0f-844x474.svg"
-heroImageAlt: "hero image prisma"
+metaImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png"
+heroImagePath: "/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg"
+heroImageAlt: "Flow diagram on light paper: a GraphQL schema URL and a src/**/*.graphql glob merge into graphql-codegen, which outputs a highlighted src/graphql/generated.ts file."
series: e2e-type-safety-graphql-react
seriesIndex: 4
tags:
diff --git a/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx b/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx
index f14fd23792..204c6ad983 100644
--- a/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx
+++ b/apps/blog/content/blog/elsevier-customer-story-SsAASKagMHtN/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Emerich"
metaTitle: "How Elsevier piloted an innovative publication process with Prisma"
metaDescription: "Elsevier is a global leader in information and analytics in scientific publishing. Learn how they modernized the publication process efficiently and flexibly with Prisma."
-metaImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero-4eaa561121a703742d0016b7a60b69e0cc262dc8-1692x852.png"
-heroImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero-4eaa561121a703742d0016b7a60b69e0cc262dc8-1692x852.png"
-heroImageAlt: "Elsevier"
+metaImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png"
+heroImagePath: "/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg"
+heroImageAlt: "The figure 10 months set large in ink over a soft cyan field, captioned One tech lead built Elsevier's peer review MVP."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx b/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx
index 6d58729e85..cdba0a5fda 100644
--- a/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx
+++ b/apps/blog/content/blog/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Enabling CORS for Express-GraphQL & Apollo Server | Prisma"
metaDescription: "Learn how to enable CORS in Express-GraphQL and Apollo Server so browser clients can safely call your GraphQL API across origins."
-metaImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero-88be8d72c611e06bf0170f1e0416f589d50262dd-720x481.jpg"
-heroImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero-88be8d72c611e06bf0170f1e0416f589d50262dd-720x481.jpg"
-heroImageAlt: "Enabling CORS for Express-GraphQL & Apollo Server"
+metaImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png"
+heroImagePath: "/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg"
+heroImageAlt: "Two origin plates on light paper, a browser app on localhost:3000 and a GraphQL server on localhost:4000, separated by a dashed origin boundary that opens where app.use(cors()) lets the request cross."
---
Learn how to configure cross-origin resource sharing on your express-based GraphQL servers.
diff --git a/apps/blog/content/blog/esop-exercise-windows/index.mdx b/apps/blog/content/blog/esop-exercise-windows/index.mdx
index a43eec6958..fc21e51e80 100644
--- a/apps/blog/content/blog/esop-exercise-windows/index.mdx
+++ b/apps/blog/content/blog/esop-exercise-windows/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Martin Janse van Rensburg"
metaTitle: "Prisma | A Business Case for Extended ESOP Exercise Windows"
metaDescription: "Explore extending ESOPs to 10 years, considering fairness, economics, benefits, challenges with Prisma's example, and startup compensation."
-metaImagePath: "/esop-exercise-windows/imgs/meta-da1df6bc6f7afc4cf8f1620698c60d0c2a6cd768-1200x630.png"
-heroImagePath: "/esop-exercise-windows/imgs/hero-187cb6c0e9ac7a4c48892a3e196329e955984278-844x474.svg"
-heroImageAlt: "Extended ESOP Exercise Windows"
+metaImagePath: "/esop-exercise-windows/imgs/meta.png"
+heroImagePath: "/esop-exercise-windows/imgs/hero.svg"
+heroImageAlt: "Two exercise windows on the same ten-year scale: the standard 90 days is a thin grey sliver, while Prisma's ten-year window fills the full amber track."
---
As a progressive OSS SaaS company, we are expanding our commitment to transparency by sharing insights into our operational practices, starting with our approach to stock options.
diff --git a/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx b/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx
index 94c31feb54..50b3e4b1d8 100644
--- a/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx
+++ b/apps/blog/content/blog/formbricks-and-prisma-accelerate-solving-scalability-together/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Marc Hess"
metaTitle: "Formbricks' success story: Enhancing scalability with Prisma Accelerate"
metaDescription: "Learn how Formbricks tackled performance bottlenecks and enhanced server performance and user experience with Prisma Accelerate."
-metaImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta-e5f44f24630fabc28fd03092a220f9ad09fccc84-1800x945.png"
-heroImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero-2dedf610e6c3e1bfd7d7d262e086c9ced48412fa-804x474.svg"
-heroImageAlt: "Prisma Accelerate Logo and Formbricks Logo"
+metaImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png"
+heroImagePath: "/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg"
+heroImageAlt: "A grid of serverless function instances funnels into a single cyan Prisma Accelerate connection pool that carries one pooled connection to the database."
tags:
- "platform"
- "case-study"
diff --git a/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx b/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx
index b489c2a096..db6f1ca308 100644
--- a/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx
+++ b/apps/blog/content/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Jon Harrell"
metaTitle: "Prisma ORM Architecture Shift: Why We Moved from Rust to TypeScript"
metaDescription: "Why is Prisma ORM switching from Rust to TypeScript? Read the full architectural rationale and what the new Query Compiler means for your app's speed"
-metaImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta-ded124ddfa8412b0d678ab94a9804127188fde00-1266x711.png"
-heroImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero-0f2a3395d4395fe407ce7fb6b603bb7c5ff3e460-844x474.svg"
-heroImageAlt: "Prisma ORM Architecture Shift: Why We Moved from Rust to TypeScript"
+metaImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png"
+heroImagePath: "/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg"
+heroImageAlt: "A struck-through 14 MB for the Rust query engine above a large 1.6 MB for the new TypeScript query compiler."
series: rust-to-typescript-migration-journey
seriesIndex: 1
---
diff --git a/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx b/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx
index dd13a37912..3a849b5fdc 100644
--- a/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx
+++ b/apps/blog/content/blog/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "Full Stack Type Safety: Angular, NestJS, Nx, Prisma 2 (2021)"
metaDescription: "A 2021 tutorial on sharing Prisma 2 types across an Angular and NestJS app in an Nx monorepo. The technique still applies; commands and APIs have changed."
-metaImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta-6edf92a2f15ffb62ed50e0da3deed2b2908d0156-2398x1208.png"
-heroImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero-2e21e72be724fc37acc24f269c8b6a0628ad5a18-870x438.jpg"
-heroImageAlt: "Full Stack Type Safety with Angular, Nest, Nx, and Prisma"
+metaImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png"
+heroImagePath: "/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg"
+heroImageAlt: "A diagram showing the generated Product type from @prisma/client flowing into a NestJS ProductsController and an Angular ProductService."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx
index 7ffd894f53..b1de94b02c 100644
--- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx
+++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - GraphQL API"
metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL and Prisma. In this article you are going to create a GraphQL API'"
-metaImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero-3c25e8ccea9b86c6d7a625f95cd6b42f76c8c5e7-1269x714.png"
-heroImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero-3c25e8ccea9b86c6d7a625f95cd6b42f76c8c5e7-1269x714.png"
-heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: GraphQL API"
+metaImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png"
+heroImagePath: "/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg"
+heroImageAlt: "The REST paths /users and /favorites struck through above a large /api/graphql endpoint underlined in Postgres yellow."
series: fullstack-nextjs-graphql-prisma
seriesIndex: 2
diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx
index 99ed0327e6..7f9a6fbd3e 100644
--- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx
+++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - Authentication"
metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL, and Prisma. In this article, you will learn how to add authentication and authorization to your application using Auth0"
-metaImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta-91075c8f117cdbd825ecc504f44bf57d5916e0af-1269x714.png"
-heroImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero-6e7a91ceafb378a17154ba9cb238ed0953434c64-844x474.svg"
-heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Authentication"
+metaImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png"
+heroImagePath: "/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg"
+heroImageAlt: "An ink code card of graphql/context.ts reading the Auth0 session and returning the user and access token as the GraphQL context."
series: fullstack-nextjs-graphql-prisma
seriesIndex: 3
tags:
diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx
index c8a6e12a66..71b6d48737 100644
--- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx
+++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - Image upload "
metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL and Prisma. In this article you are going to learn how to add image upload using AWS S3"
-metaImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta-020d4caf40065aad2ab5d59cff56d2bec9470bd9-1269x714.png"
-heroImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero-0672449d4925722e1d058122cf3ef071ca3235e4-844x474.svg"
-heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Image upload"
+metaImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png"
+heroImagePath: "/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg"
+heroImageAlt: "A three-step flow: the admin.tsx upload form posts a file straight to an S3 bucket using a presigned POST from the /api/upload-image route, then the createLink mutation saves the imageUrl in Postgres."
series: fullstack-nextjs-graphql-prisma
seriesIndex: 4
tags:
diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx
index 6f0d9ab140..65843f5022 100644
--- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx
+++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Mahmoud Abdelwahab"
metaTitle: "Fullstack app with TypeScript, Next.js, Prisma & GraphQL - Deployment"
metaDescription: "Learn how to build a fullstack app using TypeScript, PostgreSQL, Next.js, GraphQL and Prisma. In this article you are going to deploy your app to Vercel"
-metaImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta-6b91985fb8bb4d0d06e95090aab1d8b0ede0696b-1269x714.png"
-heroImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero-487ed996090048a8225eec985d2ea001c5e1486b-844x474.svg"
-heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Deployment"
+metaImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png"
+heroImagePath: "/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg"
+heroImageAlt: "Three serverless function tiles fan into a highlighted connection pool node, which forwards a single connection to a PostgreSQL node labelled connection limit."
series: fullstack-nextjs-graphql-prisma
seriesIndex: 5
tags:
diff --git a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx
index 600557ace1..bd32546741 100644
--- a/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx
+++ b/apps/blog/content/blog/fullstack-nextjs-graphql-prisma-oklidw1rhw/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Mahmoud Abdelwahab"
metaTitle: "Fullstack Next.js, GraphQL & Prisma 4 Tutorial (2021)"
metaDescription: "Part 1 of a 2021 course building a fullstack app with Next.js (Pages Router), GraphQL, Prisma 4, and PostgreSQL: data modeling, migrations, and seeding."
-metaImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta-1ec6d4e3035143375360a59242258c3c93609907-1269x714.png"
-heroImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero-cf0efe94442ee755fc47d4c085a10f2b453c74a6-844x475.svg"
-heroImageAlt: "Fullstack App With TypeScript, PostgreSQL, Next.js, Prisma & GraphQL: Data Modeling"
+metaImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png"
+heroImagePath: "/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg"
+heroImageAlt: "Two Prisma schema cards, User and Link, joined by a cyan many-to-many relation line linking the bookmarks field to the users field."
series: fullstack-nextjs-graphql-prisma
seriesIndex: 1
tags:
diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx
index 7bde7d6f15..4d06e0e7c9 100644
--- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx
+++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Project Setup"
metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be setting up our project, the MongoDB instance, Prisma, and begin modeling out some of our data for the next section of this series."
-metaImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta-f24cae902752ee69692b9010216f2d207af37321-1920x1080.png"
-heroImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero-23f25185781fa115971071b951ef70832386640b-844x474.svg"
-heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Project Setup"
+metaImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png"
+heroImagePath: "/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg"
+heroImageAlt: "Three stacked planes on light paper labelled Remix (React framework), Prisma (object document mapper) highlighted in cyan, and MongoDB (Atlas cluster), beside the headline Building Kudos, step one."
series: fullstack-remix-prisma-mongodb
seriesIndex: 1
tags:
diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx
index 9fb599ccd0..224034c673 100644
--- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx
+++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Authentication"
metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be setting up authentication for our Remix application using session-based authentication."
-metaImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta-4b70ee51aee99eaddac2a48baa614189c5fa74c2-1920x1080.png"
-heroImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero-29016ded5a59403f81349c8247116f8f084a0ae2-844x474.svg"
-heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Authentication"
+metaImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png"
+heroImagePath: "/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg"
+heroImageAlt: "A flow of the article's session-based authentication: sign in, validate, login(), a kudos-session cookie, then the home route, with a dashed error path back to the form."
series: fullstack-remix-prisma-mongodb
seriesIndex: 2
diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx
index b29daf565f..14c6fde4b1 100644
--- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx
+++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB: CRUD, Filtering & Sorting"
metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be building the functionality that allows users to send kudos to each other along with some searching and sorting options."
-metaImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta-ec93dfa6d5929320447e9fa9610b276088e86dd8-1920x1080.png"
-heroImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero-45f6a2c1b0de348ea063b18dba5fb66f7dbb7594-844x474.svg"
-heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: CRUD, Filtering & Sorting"
+metaImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png"
+heroImagePath: "/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg"
+heroImageAlt: "A diagram of the kudos data model: a User as author points to a Kudo document holding message, createdAt and style, which points on to the recipient User."
series: fullstack-remix-prisma-mongodb
seriesIndex: 3
tags:
diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx
index 6422127d10..7ffa74f26c 100644
--- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx
+++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Referential Integrity & Image Uploads"
metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be building the profile settings section of the website and enhancing the data model to provide better referential integrity.'"
-metaImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta-fa4a72549e81768cec73ac357b0dacc1a4985cb6-1920x1080.png"
-heroImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero-a48a8ff2b7f60d0db82366f887ef868ba1ffe6ff-844x474.svg"
-heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Referential Integrity & Image Uploads"
+metaImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png"
+heroImagePath: "/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg"
+heroImageAlt: "A relation diagram of a deleted User record with three ghosted Kudo records fanning out from it, the edge labelled onDelete: Cascade."
series: fullstack-remix-prisma-mongodb
seriesIndex: 4
tags:
diff --git a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx
index 740cd6aed6..5de5e7e40f 100644
--- a/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx
+++ b/apps/blog/content/blog/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "Build A Fullstack App with Remix, Prisma & MongoDB - Deployment"
metaDescription: "Learn how to build and deploy a fullstack application using Remix, Prisma, and MongoDB. In this article, we will be deploying the application we have built throughout this series."
-metaImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta-0c44161122fc6096b266ce2463146d441aef52f4-1920x1080.png"
-heroImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero-a00a8da49b238e170ebeea1caa4d9a67fec1db3d-844x474.svg"
-heroImageAlt: "Build A Fullstack App with Remix, Prisma & MongoDB: Deployment"
+metaImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png"
+heroImagePath: "/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg"
+heroImageAlt: "A three-card flow on a light surface: GitHub project repo, a Vercel project using the Remix preset, and a highlighted MongoDB card labelled 'allow access from anywhere'."
series: fullstack-remix-prisma-mongodb
seriesIndex: 5
tags:
diff --git a/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx b/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx
index 7bb008ee38..f49a0e853a 100644
--- a/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx
+++ b/apps/blog/content/blog/getting-started-with-relay-modern-46f8de6bd6ec/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Getting Started with Relay Modern | Prisma"
metaDescription: "Follow a step-by-step tutorial for building an Instagram-style app with Relay Modern, GraphQL, and Create React App."
-metaImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero-703a89ee445ad7c79ca9de6acc53c27a8e49204f-900x482.png"
-heroImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero-703a89ee445ad7c79ca9de6acc53c27a8e49204f-900x482.png"
-heroImageAlt: "Getting Started with Relay Modern"
+metaImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png"
+heroImagePath: "/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg"
+heroImageAlt: "A dark code card holding the tutorial's GraphQL fragment Post_post on Post with the fields id, description and imageUrl."
---
This post is a step-by-step tutorial with the goal of building a simple Instagram application from scratch using
diff --git a/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx b/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx
index fe0cdb4746..46ec343988 100644
--- a/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx
+++ b/apps/blog/content/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Dennis Walsh"
metaTitle: "GraphQL Directive Permissions — Authorization Made Easy | Prisma"
metaDescription: "Learn how GraphQL directive permissions provide a declarative way to implement authorization rules and protect data in GraphQL servers."
-metaImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero-210b2d6ae4e602480f1fee9860018b83891660ee-900x482.png"
-heroImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero-210b2d6ae4e602480f1fee9860018b83891660ee-900x482.png"
-heroImageAlt: "GraphQL Directive Permissions — Authorization Made Easy"
+metaImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png"
+heroImagePath: "/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg"
+heroImageAlt: "An ink code card showing a GraphQL Vehicle type with the @hasRole and @isAuthenticated directives picked out in red."
---
Directive permissions are a declarative way of implementing authorization rules in GraphQL servers. In this article,
diff --git a/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx b/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx
index bd504bfda5..a751bfecb2 100644
--- a/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx
+++ b/apps/blog/content/blog/graphql-eu-18-eiw8bishe2di/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "GraphQL Europe 2018: the community comes together in Berlin"
metaDescription: "GraphQL Europe 2018 brought the community together in Berlin with talks, workshops, and discussions on the future of GraphQL."
-metaImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/hero-aa07614217b24348635532e5f06f7be6230c9077-1200x630.png"
-heroImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/hero-aa07614217b24348635532e5f06f7be6230c9077-1200x630.png"
-heroImageAlt: "GraphQL Europe 2018: The GraphQL community comes together in Berlin"
+metaImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/meta.png"
+heroImagePath: "/graphql-eu-18-eiw8bishe2di/imgs/hero.svg"
+heroImageAlt: "Six companies from the conference line-up (Facebook, GitHub, Twitter, Docker, Apollo, Shopify) joined by hairlines to a red disc labelled Berlin."
---
GraphQL Europe is happening in less than two weeks! This article reviews the highlights from our past GraphQL
diff --git a/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx b/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx
index 33d1f179a8..0fd8a2ae60 100644
--- a/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx
+++ b/apps/blog/content/blog/graphql-middleware-zie3iphithxy/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "GraphQL Middleware is Open Source - Library to Simplify Your Resolvers"
metaDescription: "GraphQL Middleware lets you run reusable logic around resolvers for cleaner authorization, logging, error handling, and code organization."
-metaImagePath: "/graphql-middleware-zie3iphithxy/imgs/hero-00450644ec19cc8a354555367848ee135f88561c-1200x630.png"
-heroImagePath: "/graphql-middleware-zie3iphithxy/imgs/hero-00450644ec19cc8a354555367848ee135f88561c-1200x630.png"
-heroImageAlt: "Open Sourcing GraphQL Middleware - Library to Simplify Your Resolvers"
+metaImagePath: "/graphql-middleware-zie3iphithxy/imgs/meta.png"
+heroImagePath: "/graphql-middleware-zie3iphithxy/imgs/hero.svg"
+heroImageAlt: "Three nested rounded panels labelled logInput, logResult and resolver, showing two middleware functions wrapping a GraphQL resolver at the cyan core."
---
[GraphQL Middleware](https://github.com/prismagraphql/graphql-middleware) lets you run arbitrary code before or after
diff --git a/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx b/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx
index 80bac854f4..bae316ea81 100644
--- a/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx
+++ b/apps/blog/content/blog/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "GraphQL Schema Stitching explained: Schema Delegation | Prisma"
metaDescription: "Understand GraphQL schema delegation and how schema stitching combines multiple services into a unified GraphQL API."
-metaImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero-b01f755cd26e943970fb26c0395027a491baa9a0-720x480.jpg"
-heroImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero-b01f755cd26e943970fb26c0395027a491baa9a0-720x480.jpg"
-heroImageAlt: "GraphQL Schema Stitching explained"
+metaImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png"
+heroImagePath: "/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg"
+heroImageAlt: "Two white schema cards on light paper, an application schema field “prismagraphql: Organization!” and the GitHub GraphQL API’s “repositoryOwner”, joined by a red arrow labelled delegateToSchema."
---
Understanding GraphQL schema stitching (Part II)
diff --git a/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx b/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx
index a054b490b4..9ea5284f5d 100644
--- a/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx
+++ b/apps/blog/content/blog/graphql-sdl-schema-definition-language-6755bcb9ce51/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Learn more about the GraphQL SDL — Schema Definition Language"
metaDescription: "Learn the GraphQL Schema Definition Language (SDL) and how it is used to define types, fields, arguments, and relationships in GraphQL schemas."
-metaImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero-5d02853f87e521b189e585083a6fa90709310007-900x482.png"
-heroImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero-5d02853f87e521b189e585083a6fa90709310007-900x482.png"
-heroImageAlt: "GraphQL SDL "
+metaImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png"
+heroImagePath: "/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg"
+heroImageAlt: "A dark code card showing a GraphQL SDL type definition for Post, with the blog relation field highlighted in red, on a paper background with a prism wash."
---
GraphQL has its own language to write GraphQL Schemas: The GraphQL Schema Definition Language (SDL). SDL is simple and
diff --git a/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx b/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx
index 31103c5491..35b31d8409 100644
--- a/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx
+++ b/apps/blog/content/blog/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "GraphQL Server Basics: Demystifying the `info` Argument in Resolvers"
metaDescription: "Learn what the `info` argument in GraphQL resolvers contains and how it helps with selection sets, execution context, and server internals."
-metaImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero-53626cca942e63310e547d4bc3575d78fad23c84-720x479.png"
-heroImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero-53626cca942e63310e547d4bc3575d78fad23c84-720x479.png"
-heroImageAlt: "GraphQL Basics"
+metaImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png"
+heroImagePath: "/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg"
+heroImageAlt: "The resolver signature (parent, args, context, info) set above the word info at display size, with the ten keys of GraphQLResolveInfo listed down the right side."
---
Structure and Implementation of GraphQL Servers (Part III)
diff --git a/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx b/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx
index 1572476287..9f63435476 100644
--- a/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx
+++ b/apps/blog/content/blog/graphql-server-basics-the-network-layer-51d97d21861/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "GraphQL Server Basics: The Network Layer | Prisma"
metaDescription: "Learn how the network layer controls request handling, transport, and execution flow in GraphQL server implementations."
-metaImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero-244004bc5e6c3eb9d27aacabfb68d51510ea275e-900x429.png"
-heroImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero-244004bc5e6c3eb9d27aacabfb68d51510ea275e-900x429.png"
-heroImageAlt: "GraphQL Server Basics"
+metaImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png"
+heroImagePath: "/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg"
+heroImageAlt: "A three-row card listing express-graphql, apollo-server and graphql-yoga under the line: Middleware is the glue, with the graphql-yoga row tinted in prism cyan."
---
Structure and Implementation of GraphQL Servers (Part II).
diff --git a/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx b/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx
index ab87676663..9918b7beb5 100644
--- a/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx
+++ b/apps/blog/content/blog/graphql-server-basics-the-schema-ac5e2950214e/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "GraphQL Server Basics: GraphQL Schemas, TypeDefs & Resolvers | Prisma"
metaDescription: "Learn the basics of GraphQL schemas, type definitions, and resolvers, and how they fit together in GraphQL server development."
-metaImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero-4b7f2edb1e23c9afd77908b058e6904ada648cc2-900x519.png"
-heroImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero-4b7f2edb1e23c9afd77908b058e6904ada648cc2-900x519.png"
-heroImageAlt: "GraphQL Server Basics"
+metaImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png"
+heroImagePath: "/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg"
+heroImageAlt: "A dark code card showing a GraphQL SDL schema with a Query root type and a User type, each of its three fields marked with a red dot beside the words One resolver per field."
---
Structure and implementation of GraphQL servers (Part I)
diff --git a/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx b/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx
index 27d4795f56..36a26994a5 100644
--- a/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx
+++ b/apps/blog/content/blog/graphql-vs-firebase-496498546142/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Comparing GraphQL and Firebase | Prisma"
metaDescription: "Compare GraphQL and Firebase across data modeling, realtime features, backend flexibility, and tradeoffs for modern app development."
-metaImagePath: "/graphql-vs-firebase-496498546142/imgs/hero-c257f8c747d9610f835954d2fe2601bda2b0bff3-720x385.png"
-heroImagePath: "/graphql-vs-firebase-496498546142/imgs/hero-c257f8c747d9610f835954d2fe2601bda2b0bff3-720x385.png"
-heroImageAlt: "GraphQL vs Firebase"
+metaImagePath: "/graphql-vs-firebase-496498546142/imgs/meta.png"
+heroImagePath: "/graphql-vs-firebase-496498546142/imgs/hero.svg"
+heroImageAlt: "The headline 'A type system, not a JSON tree' beside the article's GraphQL SDL data model for a Twitter-like app, with the relation field picked out in red."
---
With the variety of server-side technologies today, developers have a lot of choices when it comes to deciding what
diff --git a/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx b/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx
index 2416a1a983..9e7d97f899 100644
--- a/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx
+++ b/apps/blog/content/blog/grover-customer-success-story-nxkWGcGNuvFd/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "How Grover Moves Faster and is More Productive with Prisma"
metaDescription: "Grover has many individual development teams that each work in slightly different stacks. Prisma is catching on as a way to help their teams move faster and be more confident in their code."
-metaImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta-cb121051733205088c9beee9cc8b5b4553e3988a-1692x852.png"
-heroImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero-3fcd833a161c68af69d2c13eafb3369f343e0856-844x474.png"
-heroImageAlt: "How Grover Moves Faster with Prisma"
+metaImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png"
+heroImagePath: "/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg"
+heroImageAlt: "A diagram on a light background: tiles labelled TypeScript (marked prisma), Ruby and Python connect by arrows into one node labelled Federated GraphQL API, Apollo Federation, beside the words 14 services, one federated API."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx b/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx
index 2d69931b1b..683bd2abd2 100644
--- a/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx
+++ b/apps/blog/content/blog/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Justin Ellingwood"
metaTitle: "Learn how Prisma Helps Rapha Manage Their Mobile Application Data"
metaDescription: "Learn how Rapha uses Prisma to manage mobile application data and deliver consistent APIs across platforms and backend systems."
-metaImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero-b0f3d722a514f161e410fc12ccf0e00e562b5ecb-1692x852.jpg"
-heroImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero-b0f3d722a514f161e410fc12ccf0e00e562b5ecb-1692x852.jpg"
-heroImageAlt: "How Prisma Helps Rapha Manage Their Mobile Application Data"
+metaImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png"
+heroImagePath: "/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg"
+heroImageAlt: "A flow from a PostgreSQL database on Amazon RDS through Prisma and its schema file to a GraphQL API served by Apollo Server, feeding Rapha's iOS and Android apps."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx b/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx
index 56c72a2f64..652e14d7c6 100644
--- a/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx
+++ b/apps/blog/content/blog/how-bucket-uses-prisma-orm/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Aidan McAlister"
metaTitle: "How Bucket Uses Prisma ORM to Make Shipping Feature Releases Faster"
metaDescription: "Learn how Bucket uses Prisma"
-metaImagePath: "/how-bucket-uses-prisma-orm/imgs/meta-2912dd24525d0768088b7b6c6209b19bfba0d92f-1266x711.png"
-heroImagePath: "/how-bucket-uses-prisma-orm/imgs/hero-529b3d14590540555baed7e42696fe030fb8d435-855x480.png"
-heroImageAlt: "Prisma Logo and Bucket Logo"
+metaImagePath: "/how-bucket-uses-prisma-orm/imgs/meta.png"
+heroImagePath: "/how-bucket-uses-prisma-orm/imgs/hero.svg"
+heroImageAlt: "A three-step flow on light paper - define the models, run one migration, tables ready - the path Bucket follows to add new tables with Prisma ORM."
tags:
- "case-study"
- "orm"
diff --git a/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx b/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx
index aa316ac884..556786d826 100644
--- a/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx
+++ b/apps/blog/content/blog/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Marc Hess"
metaTitle: "How Co.dev Uses Prisma Postgres to Power AI-Driven App Development for Non-Developers"
metaDescription: "Discover why Co.dev chose Prisma Postgres: simple API & MCP integration, explicit schema support, and one-shot authentication in its AI-driven app creation flow."
-metaImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta-09f23372479a0a2b3a10304fc133043fa4d50948-1266x711.png"
-heroImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero-89282cc5e9c28bfbb3573c7bd396226f11b08089-844x474.svg"
-heroImageAlt: "On a dark teal-green gradient background, the Co.dev and Prisma logos appear side by side with a plus sign. Below, large white text reads ‘AI-Driven App Development for Non-Developers,’ and a curved teal arrow points right. On the right, two overlapping dark code editor panels show a teal header labeled ‘Let’s make an Instagram clone’ above blurred lines of text, and a front panel titled ‘Generating Instagram UI…’ with additional blurred code lines."
+metaImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png"
+heroImagePath: "/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg"
+heroImageAlt: "A three-step flow of white cards on light paper: Prompt, then a highlighted Prisma Postgres card labelled Partner API and MCP, then Full-stack app, connected by yellow arrows."
---
Co.dev (YC W23) lets non-developers build production-ready full-stack apps in minutes by combining AI-driven code generation with integrated tooling, all powered by a strategic partnership with **Prisma** via the **Prisma Postgres Partner API** and MCP server integration.
diff --git a/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx b/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx
index 535071d781..be3ba3dfe0 100644
--- a/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx
+++ b/apps/blog/content/blog/how-deno-and-prisma-partnered-to-power-per-branch-databases/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Marc Hess"
metaTitle: "How Deno and Prisma Partnered to Power Per-Branch Databases"
metaDescription: "Deno Deploy integrates Prisma Postgres for instant per-branch databases, enabling seamless full-stack deployment and modern developer workflows."
-metaImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta-b375e2f9e09737edda70601ea1d7094878822700-1200x630.png"
-heroImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero-45aa700bfa2da328ccb88b64d312672e25c2b263-844x474.svg"
-heroImageAlt: "Deno and Prisma Partnership"
+metaImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png"
+heroImagePath: "/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg"
+heroImageAlt: "A Deno Deploy node branching into three lines, each ending in its own Prisma Postgres database"
tags:
- "case-study"
- "prisma-postgres"
diff --git a/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx b/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx
index 84519b4c77..4b43b6d695 100644
--- a/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx
+++ b/apps/blog/content/blog/how-do-graphql-remote-schemas-work-7118237c89d7/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Learn how GraphQL remote schemas work? | Prisma"
metaDescription: "Learn how GraphQL remote schemas work and how schema stitching can combine data from multiple GraphQL services."
-metaImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero-da5c4b73a3fd5b55d0301343f2b5698eedc64f9e-900x545.jpg"
-heroImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero-da5c4b73a3fd5b55d0301343f2b5698eedc64f9e-900x545.jpg"
-heroImageAlt: "How do GraphQL remote schemas work?"
+metaImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png"
+heroImagePath: "/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg"
+heroImageAlt: "A diagram where a client query passes through a remote schema built with makeRemoteExecutableSchema and is forwarded to an existing GraphQL API, whose schema definition was obtained by introspection."
---
Understanding GraphQL schema stitching (Part I)
diff --git a/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx b/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx
index 79f6745ab1..7e59b73c4b 100644
--- a/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx
+++ b/apps/blog/content/blog/how-greatfrontend-supercharged-development-with-prisma-orm/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "How GreatFrontEnd Supercharged Development with Prisma ORM"
metaDescription: "Discover how GreatFrontEnd revolutionized their database operations by integrating Prisma ORM—achieving type safety, streamlined schema management, and a more efficient development pipeline."
-metaImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta-a323448cc92e5d106e51a671d0f1d07d8667e306-1266x711.png"
-heroImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero-ca1f358db8d06f5017b9d07ffb9d2dee6dac1197-844x474.svg"
+metaImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png"
+heroImagePath: "/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg"
+heroImageAlt: "A three-row comparison of raw SQL against Prisma ORM across type safety, schema changes and portability, with the Prisma ORM column tinted cyan."
---
Discover how GreatFrontEnd revolutionized their database operations by integrating Prisma ORM—achieving type safety, streamlined schema management, and a more efficient development pipeline.
diff --git a/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx b/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx
index d0f1accfcc..078c831914 100644
--- a/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx
+++ b/apps/blog/content/blog/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Marc Hess"
metaTitle: "How MasterBoard Simplified CI/CD Testing with Prisma Postgres"
metaDescription: "MasterBoard replaced AWS with Prisma Postgres to simplify infrastructure and streamline testing. Discover how they spin up fresh databases for every PR, test with real data, and ship faster with less setup, more speed, and top-tier support from Prisma."
-metaImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta-e680c2113c3e4838d591e4cac9d2889ea7317998-1266x711.png"
-heroImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero-1f23e9b31ddcd853665664a9c2039b7c413a587e-844x474.svg"
-heroImageAlt: "MasterBoard and Prisma logos side by side on a dark gradient background. The MasterBoard logo appears on the left with bold, stylized typography, and the Prisma logo with its geometric icon and wordmark appears on the right, separated by a vertical line."
+metaImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png"
+heroImagePath: "/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg"
+heroImageAlt: "Three cascading database plates, one per pull request, with the newest one outlined in Prisma Postgres yellow, beside the line \"A fresh database per pull request, seeded with six months of test data\"."
---
[MasterBoard](https://masterboardapp.com/), a startup building software for hydraulics repair shops, switched from AWS to Prisma Postgres to simplify their CI/CD workflows. The move reduced infrastructure overhead, simplified testing and deployment, and gave both developers and testers faster, hassle-free workflows.
diff --git a/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx b/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx
index 8c238ef40e..9e0935b1fb 100644
--- a/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx
+++ b/apps/blog/content/blog/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Vladi Stevanovic"
metaTitle: "The migration to Prisma was so smooth that none of their hundreds of agents and customers experienced any downtime."
metaDescription: "Invisible combines best-in-class, easy to implement, scalable automation solutions. Prisma was crucial in future proofing their stack and supporting its scale."
-metaImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta-86c169055f2cef3afec8529ac1a1f9d2feb2e9ec-1692x852.png"
-heroImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero-6c079320ad9b2a389f2419759abe8b2089f4b2d4-870x438.png"
-heroImageAlt: "How migrating from Sequelize to Prisma allowed Invisible to scale"
+metaImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png"
+heroImagePath: "/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg"
+heroImageAlt: "The words Zero downtime set very large in black on a light background, above two small chips reading sequelize and prisma joined by a cyan arrow."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx
index 09a2e07b84..8c1b1fa6e9 100644
--- a/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx
+++ b/apps/blog/content/blog/how-prisma-and-serverless-fit-together-iaSfcPQVi0/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "How Prisma & Serverless Fit Together"
metaDescription: "Learn about how Prisma views the evolution of deployment types, serverless and the edge, and the problems we want to solve in the space."
-metaImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta-16bd738ba008cf22a31f583608f1717f4dfffb34-1266x712.png"
-heroImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero-39edebe28834872f6ce4c951529f02ea55725adc-844x474.svg"
-heroImageAlt: "How Prisma & Serverless Fit Together"
+metaImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png"
+heroImagePath: "/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg"
+heroImageAlt: "A light cover listing four deployment eras, bare metal, virtual machines and containers in grey above 'Serverless & the edge' in black, with the note that databases didn't follow."
tags:
- "platform"
---
diff --git a/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx b/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx
index 1ec6850a74..0a1018dc7e 100644
--- a/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx
+++ b/apps/blog/content/blog/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma ORM: The Most Downloaded ORM for Node.js and TypeScript"
metaDescription: "Prisma ORM is the most downloaded ORM for Node.js, with roughly 55 million npm downloads per month as of July 2026. See the numbers, the story behind them, and what came next."
-metaImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta-1b20c9918f8c70edad559c02e68c2f0098514e92-1266x711.png"
-heroImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero-09a857300a35ccb0e825102b49c0477ce6a88d3c-844x474.svg"
-heroImageAlt: "A friendly prismanaut climbing the npm trends mountain to #1 in npm downloads"
+metaImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png"
+heroImagePath: "/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg"
+heroImageAlt: "A column chart of npm downloads for Node.js ORMs over the 30 days to 5 July 2026: prisma 55.3M highlighted in cyan, ahead of drizzle-orm 48.1M, typeorm 19.3M and sequelize 11.8M."
tags:
- "orm"
---
diff --git a/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx b/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx
index 912a7d88ae..3410f30988 100644
--- a/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx
+++ b/apps/blog/content/blog/how-prisma-supports-transactions-x45s1d5l0ww1/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Learn How Prisma Supports Database Transactions | Prisma"
metaDescription: "Learn how Prisma supports database transactions, the tradeoffs of different transaction patterns, and how Prisma's transaction capabilities have evolved."
-metaImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero-644cfd40037273136103e964bfde80be554c43a7-1692x852.png"
-heroImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero-644cfd40037273136103e964bfde80be554c43a7-1692x852.png"
-heroImageAlt: "How Prisma Supports Database Transactions"
+metaImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png"
+heroImagePath: "/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg"
+heroImageAlt: "The phrase All or nothing set large between two oversized cyan brackets, standing for a transaction whose grouped operations either all commit or all roll back."
---
Database transactions often are a major source of complexity in server-side applications. In this article, we'll examine how Prisma supports different types of database transactions _today_ as well as our plans for expanding transaction support _in the future_.
diff --git a/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx b/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx
index 529d647fce..7019f3f06a 100644
--- a/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx
+++ b/apps/blog/content/blog/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "How Solin Uses Prisma Accelerate to Serve 2.5M Database Queries per"
metaDescription: "Learn how Prisma Accelerate has contributed to Solin's success by enhancing performance and reliability with its scalable connection pool and global database cache."
-metaImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta-1ca84fbcd21cf4ba2965d4581c6b2e4ccbeba496-1688x948.png"
-heroImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero-501535574f7a2c835073bf096890b78dd3ee3490-844x474.svg"
+metaImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png"
+heroImagePath: "/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg"
+heroImageAlt: "The figure 2.5M set in oversized type beside the label database queries per day, captioned Solin, running on Prisma Accelerate."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx b/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx
index f95ebd35a3..ef7c489e9d 100644
--- a/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx
+++ b/apps/blog/content/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Building a Real-Time Chat with GraphQL Subscriptions and Apollo"
metaDescription: "Build a real-time chat app with GraphQL subscriptions, Apollo, and live location updates on a shared map."
-metaImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero-c189aafe68785bbb4ff4f8c3e303c7f1ced92ea9-720x385.png"
-heroImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero-c189aafe68785bbb4ff4f8c3e303c7f1ced92ea9-720x385.png"
-heroImageAlt: "How to build a Real-Time Chat with GraphQL Subscriptions and Apollo"
+metaImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png"
+heroImagePath: "/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg"
+heroImageAlt: "A dark code card showing a GraphQL subscription on the Message type, with the mutation field highlighted in cyan beside a comment reading CREATED, UPDATED, DELETED."
---
In this tutorial, we explain how to build a chat application where the users can see their own and the locations of
diff --git a/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx b/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx
index 10962cc163..b6a0d990a0 100644
--- a/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx
+++ b/apps/blog/content/blog/how-to-improve-startup-times-kdRB9MjPEv/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sabin Adams"
metaTitle: "Best Practices To Speed Up Your Serverless Applications"
metaDescription: "Learn about some best practices to speed up your serverless applications using Prisma."
-metaImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta-76ae590ec7affe2930cc868334e99844d136473b-1266x711.png"
-heroImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero-e09fcabd4fa41b7b452a43664dea361d78f10e82-844x474.svg"
-heroImageAlt: "Best Practices To Speed Up Your Serverless Applications"
+metaImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png"
+heroImagePath: "/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg"
+heroImageAlt: "A dark code card showing a Prisma Client instantiated and connected above a serverless handler, with the await prisma.$connect() line highlighted in cyan."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx b/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx
index c999fa84b0..a1707093fc 100644
--- a/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx
+++ b/apps/blog/content/blog/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Using `create-react-app` with GraphQL & Apollo | Prisma"
metaDescription: "Learn how to build an Instagram-style app with Create React App, GraphQL, and Apollo."
-metaImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero-d817c94b8e0c665d3296db3d2983002133e7a548-900x619.png"
-heroImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero-d817c94b8e0c665d3296db3d2983002133e7a548-900x619.png"
-heroImageAlt: "GraphQL & Apollo"
+metaImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png"
+heroImagePath: "/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg"
+heroImageAlt: "An ink code card on light paper showing the tutorial's allPosts GraphQL query from ListPage.js, with the allPosts(orderBy: createdAt_DESC) line highlighted in red, under the headline Wiring React to GraphQL."
---
The easiest way to get started with React apps that are using a GraphQL backend is with create-react-app and Apollo.
diff --git a/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx b/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx
index 8d406e1907..d0b85cbac9 100644
--- a/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx
+++ b/apps/blog/content/blog/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Wrap a REST API with GraphQL - A 3-step tutorial | Prisma"
metaDescription: "Learn how to wrap a REST API with GraphQL in three steps and expose a more flexible query interface for clients."
-metaImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero-bf82758030919645523931bf645440e96386e06f-720x385.png"
-heroImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero-bf82758030919645523931bf645440e96386e06f-720x385.png"
-heroImageAlt: "How to wrap a REST API with GraphQL - A 3-step tutorial"
+metaImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png"
+heroImagePath: "/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg"
+heroImageAlt: "A three-step flow on light paper: REST endpoints, a highlighted GraphQL schema tile, then resolvers."
---
REST APIs have been the standard for building web APIs for the past decade. In 2015, Facebook introduced a new and
diff --git a/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx b/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx
index ef364afa13..47a892fe23 100644
--- a/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx
+++ b/apps/blog/content/blog/improving-performance-with-apollo-query-batching-66455ea9d8b/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Johannes Schickling"
metaTitle: "How to Improve Performance with Apollo Query Batching | Prisma"
metaDescription: "Learn how Apollo query batching reduces network overhead and improves performance in complex GraphQL applications."
-metaImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero-f2e13f2e7910c8249ff5843c46423850eac4455d-1080x231.png"
-heroImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero-f2e13f2e7910c8249ff5843c46423850eac4455d-1080x231.png"
-heroImageAlt: "Improving Performance with Apollo Query Batching"
+metaImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png"
+heroImagePath: "/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg"
+heroImageAlt: "A request waterfall contrasting twelve GraphQL requests, six of them stalled, with a single batched request."
---
Learn about transport-level query batching, an advanced Apollo feature that enables you to significantly improve
diff --git a/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx b/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx
index 67fda7b949..3830437686 100644
--- a/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx
+++ b/apps/blog/content/blog/improving-prismas-release-process-yaey8deiwaex/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Improving the Release Process | Prisma"
metaDescription: "Learn how Prisma's release process uses dedicated beta periods to improve quality while keeping new features shipping quickly."
-metaImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/hero-d8dabd6ac06854c11615741cb43bbae8569cdd4e-1200x630.png"
-heroImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/hero-d8dabd6ac06854c11615741cb43bbae8569cdd4e-1200x630.png"
-heroImageAlt: "New Release Process for Prisma"
+metaImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png"
+heroImagePath: "/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg"
+heroImageAlt: "A three-stage flow on light paper - alpha, beta and stable - with the beta stage lit in yellow and labelled two weeks, no new features."
---
We're introducing an improved release process with a dedicated beta period to ensure high quality while shipping new
diff --git a/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx b/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx
index 72d5d6dbb7..4b1bbaa218 100644
--- a/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx
+++ b/apps/blog/content/blog/improving-query-performance-using-indexes-1-zuLNZwBkuL/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Database Indexes Explained: What They Are and When to Use Them"
metaDescription: "A database index is a secondary data structure that speeds up reads by reducing search scope. Learn the main index types, what they cost, and when to add one."
-metaImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta-c92a4afeb9d9b1df6f8104fced300d5e49233bd0-1269x714.png"
-heroImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero-1c62649f62f41f22d8a54c882cd24da906c51479-844x474.svg"
-heroImageAlt: "Improving Query Performance with Indexes using Prisma: Introduction"
+metaImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png"
+heroImagePath: "/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg"
+heroImageAlt: "Two rows of tick marks standing for table rows: the sequential-scan row is entirely grey because every row is read, while the index-scan row is pale with only three ticks lit in yellow."
series: improving-query-performance-using-indexes
seriesIndex: 1
tags:
diff --git a/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx b/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx
index 2b4b06b0ff..c0b9b17d3b 100644
--- a/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx
+++ b/apps/blog/content/blog/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Alex Ruheni"
metaTitle: "B-Tree Indexes in Prisma ORM: Make Slow Postgres Queries 80x Faster"
metaDescription: "Add a B-tree index in your Prisma schema with @@index and turn a 66ms sequential scan into a sub-millisecond lookup, an 80x improvement verified on Prisma ORM 7 and PostgreSQL 17 with EXPLAIN ANALYZE."
-metaImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta-f47ff182b4ce89e7dd52fb5ba19e0850dd24a8fa-1692x952.png"
-heroImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero-21765b1aeb13badff0117580a169a45609788d7e-844x474.svg"
-heroImageAlt: "Improving Query Performance with Indexes using Prisma: B-Tree Index"
+metaImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png"
+heroImagePath: "/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg"
+heroImageAlt: "A dark code card on a light background showing a Prisma schema User model with the line @@index([firstName]) highlighted in yellow, beside an execution time falling from a struck-through 66.5 ms to 0.8 ms."
series: improving-query-performance-using-indexes
seriesIndex: 2
tags:
diff --git a/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx b/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx
index ec9e182814..13f3952722 100644
--- a/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx
+++ b/apps/blog/content/blog/improving-query-performance-using-indexes-3-kduk351qv1/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Hash Indexes in Prisma ORM: Fast Equality Lookups in Postgres"
metaDescription: "Add a hash index in Prisma with @@index(type: Hash): a 64ms sequential scan becomes a 1.6ms lookup, verified on Prisma ORM 7 and PostgreSQL 17."
-metaImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta-a2babe32fc26290c3dee9a6d0cb09decc68fae6a-1269x714.png"
-heroImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero-f7add11b063d3376bf02a64092431ac5397e82ba-844x474.svg"
-heroImageAlt: "Improving Query Performance with Indexes using Prisma: Hash Indexes"
+metaImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png"
+heroImagePath: "/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg"
+heroImageAlt: "A diagram on light paper in which the value 'Wick' passes through hash() and a yellow arrow lands in a single lit bucket among eight, labelled 1.6 ms, above the schema line @@index([lastName], type: Hash)."
series: improving-query-performance-using-indexes
seriesIndex: 3
tags:
diff --git a/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx b/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx
index 7cbfd13fd3..976cbe6fb5 100644
--- a/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx
+++ b/apps/blog/content/blog/introducing-auto-scaling-for-prisma-accelerate/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Luan van der Westhuizen"
metaTitle: "Enhance your database connections with Prisma Accelerate's auto-scaling"
metaDescription: "Prisma Accelerate’s new auto-scaling feature improves connection pooling, ensuring efficient and scalable database management."
-metaImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/meta-10e47c310be4f5f4dadcdf9d7c80a79bffdbd80a-1266x711.png"
-heroImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/hero-6643cd3fa55e6b2554f2256149a7ea9e62df3258-844x474.svg"
-heroImageAlt: "Connection pooling using multiple instances of accelerate's connection poolers "
+metaImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png"
+heroImagePath: "/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg"
+heroImageAlt: "A flat diagram: an app sends queries into a connection pool holding two live instances and a dashed third being added on demand, up to your connection limit, then on to the database."
tags:
- "platform"
- "announcement"
diff --git a/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx b/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx
index 16320aa3e6..0be5d8795b 100644
--- a/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx
+++ b/apps/blog/content/blog/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Jon Harrell"
metaTitle: "Prisma ORM 5.16.0 allows global or local omitted fields in Prisma Client"
metaDescription: "Prisma ORM v5.16.0 allows you to omit fields globally or per-query. This blog post overviews the change and how to omit fields in your Prisma Client queries."
-metaImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta-1325214bfbabc8d99d4e2c312dcd142ad5a550d9-1200x630.png"
-heroImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero-88b194703cf6aa9c1e4010c7769d1ed078fce438-844x474.svg"
-heroImageAlt: "An image describing a new feature with Prisma ORM version 5.16.0. It shows a User model with a password field that is omitted. Text reads \"globally or locally omit fields returned by Prisma Client queries\""
+metaImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png"
+heroImagePath: "/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg"
+heroImageAlt: "A dark code card showing a Prisma Client initialized with a global omit, with the line omitting the user password highlighted in cyan, beside the words Never return a password."
---
Discover the powerful new feature in Prisma ORM 5.16.0 that lets you globally or locally omit specific fields from your queries. Whether you need to ensure sensitive information (like a password) is never exposed or you want to streamline data retrieval for a single query, Prisma ORM has you covered. In this blog post, learn how to enhance your data management with code examples and guidance.
diff --git a/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx b/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx
index 125c54457a..70e2b05d87 100644
--- a/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx
+++ b/apps/blog/content/blog/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Tim Griesser"
metaTitle: "GraphQL Nexus: Code-First GraphQL Server Development | Prisma"
metaDescription: "Meet GraphQL Nexus, a code-first library for building GraphQL servers with type-safe schemas and a better developer workflow."
-metaImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero-5fcd43415f21b9a4fc240fa2c5869f6b6fe2abe0-1200x630.png"
-heroImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero-5fcd43415f21b9a4fc240fa2c5869f6b6fe2abe0-1200x630.png"
-heroImageAlt: "Introducing GraphQL Nexus"
+metaImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png"
+heroImagePath: "/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg"
+heroImageAlt: "A two-row comparison: SDL-first runs from schema.graphql to resolvers, while the highlighted code-first row runs from makeSchema() to a generated schema.graphql and typings.ts."
series: graphql-nexus
seriesIndex: 2
---
diff --git a/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx b/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx
index 564af163c3..1a883c108e 100644
--- a/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx
+++ b/apps/blog/content/blog/introducing-instant-app-deployments-in-partnership-with-vercel/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nitin Gupta"
metaTitle: "Introducing Instant App Deployments in Partnership with Vercel"
metaDescription: "Instant App Deployment with Prisma Postgres and Vercel makes going from generated code to production effortless. Provision a Postgres database, deploy globally, and let users claim full ownership with a single API call. Perfect for AI coding platforms, no-code tools, and modern app builders."
-metaImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta-361d392f23fa013b8ba4f778b7727c0807fc1aca-1266x711.png"
-heroImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero-38b924b5e2a902a17211a9d7a9493153361dbc43-844x474.svg"
-heroImageAlt: "Promotional graphic with the text “Instant app deployments for AI” and “Vercel + Prisma.” The design shows UI elements like a chat box with “Build and deploy anything…,” a send button, generating text, and icons representing databases and deployment."
+metaImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png"
+heroImagePath: "/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg"
+heroImageAlt: "A four-step flow on a light background reading One API call, Prisma Postgres, Vercel deploy, User claims it, with a yellow arrow chain brightening into the final highlighted tile."
---
AI coding platforms let anyone create software from a prompt, but turning generated code into a deployed app is still a hard problem. Announcing **Instant App Deployment**, a new API built on [Prisma Postgres](https://prisma.io/postgres) and [Vercel](https://vercel.com), that solves this problem.
diff --git a/apps/blog/content/blog/introducing-platform-environments/index.mdx b/apps/blog/content/blog/introducing-platform-environments/index.mdx
index 971221d763..da22c77827 100644
--- a/apps/blog/content/blog/introducing-platform-environments/index.mdx
+++ b/apps/blog/content/blog/introducing-platform-environments/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Introducing Platform Environments"
metaDescription: "Introducing Platform Environments & Early Access Prisma Data Platform integration to Prisma CLI."
-metaImagePath: "/introducing-platform-environments/imgs/meta-5c40baf506e9ff75d2718b0a9f9906de8b417457-1800x945.png"
-heroImagePath: "/introducing-platform-environments/imgs/hero-aa4a9432e7742d1f7b3468e632869ef802833652-870x480.svg"
-heroImageAlt: "Introducing Platform Environments"
+metaImagePath: "/introducing-platform-environments/imgs/meta.png"
+heroImagePath: "/introducing-platform-environments/imgs/hero.svg"
+heroImageAlt: "A table listing how many environments each Prisma Data Platform project gets per plan: two on Starter, six on Pro and twelve on Business."
tags:
- "platform"
- "announcement"
diff --git a/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx b/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx
index f7f612a033..1a7079b45c 100644
--- a/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx
+++ b/apps/blog/content/blog/introducing-prisma-nuxt/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Introducing Prisma Nuxt: Simplifying Data Management for Nuxt Apps"
metaDescription: "Use Prisma ORM in your Nuxt.js app easily with the Prisma Nuxt module for type-safe queries and database management."
-metaImagePath: "/introducing-prisma-nuxt/imgs/meta-fa5d318365caa55c59c4977b9b552b45e68c19e5-1200x631.png"
-heroImagePath: "/introducing-prisma-nuxt/imgs/hero-c442fbbddd3bf0f1894047b3e87fad73d8c4c80c-870x480.png"
-heroImageAlt: "The logo of Nuxt and Prisma side-by-side"
+metaImagePath: "/introducing-prisma-nuxt/imgs/meta.png"
+heroImagePath: "/introducing-prisma-nuxt/imgs/hero.svg"
+heroImageAlt: "A dark terminal card on light paper showing npm install @prisma/nuxt above a checklist of the setup the module performs, beside the headline 'One module, whole setup'."
tags:
- "orm"
---
diff --git a/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx b/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx
index 7621774309..e35f7612b5 100644
--- a/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx
+++ b/apps/blog/content/blog/iopool-customer-success-story-uLsCWvaqzXoa/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "How iopool became more productive with Prisma"
metaDescription: "In 2020, iopool decided to rearchitect its app and use Prisma for their database needs. Doing so helped them move fast with confidence and has greatly simplified their development process."
-metaImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero-97ed1e5446a02b6a9c6be975ada9fd1d26f31173-1692x852.png"
-heroImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero-97ed1e5446a02b6a9c6be975ada9fd1d26f31173-1692x852.png"
-heroImageAlt: "How iopool refactored their app in less than 6 months with Prisma"
+metaImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png"
+heroImagePath: "/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg"
+heroImageAlt: "A white comparison card on light paper: 16 microservices, a release every 2 to 3 weeks and features in weeks on the left; Lambda and Postgres, two or more releases a week and features in days in a highlighted cyan panel on the right."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx b/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx
index 4f3673441d..0e927d8130 100644
--- a/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx
+++ b/apps/blog/content/blog/jamstack-with-nextjs-prisma-jamstackN3XT/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "The Jamstack with Next.js and Prisma"
metaDescription: "Learn how to build interactive Jamstack apps with Next.js and Prisma and incremental static re-generation."
-metaImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta-7a8c077c90bc739fc1f24dc165998b1bdd3ae30a-1692x852.png"
-heroImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero-22883cd828b088978a9224cbe939e35fa9e58056-870x438.png"
-heroImageAlt: "Jamstack with Next.js and Prisma"
+metaImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png"
+heroImagePath: "/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg"
+heroImageAlt: "A dark code card showing the post’s getStaticProps function with the “revalidate: 1” line highlighted in cyan, beside the words “Static pages, fresh data”."
---
Jamstack is a popular approach for building web apps. But it can be
diff --git a/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx b/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx
index 67faf2a95e..84c5cb953a 100644
--- a/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx
+++ b/apps/blog/content/blog/labelbox-simnycbotiok/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Etel Sverdlov"
metaTitle: "How Labelbox Supports Vast Machine Learning Needs | Prisma"
metaDescription: "Learn how Labelbox uses Prisma to support large-scale machine learning data workflows and manage millions of records more effectively."
-metaImagePath: "/labelbox-simnycbotiok/imgs/hero-4074c886a7303d113bad6cb6e96549dd817b8869-1200x630.png"
-heroImagePath: "/labelbox-simnycbotiok/imgs/hero-4074c886a7303d113bad6cb6e96549dd817b8869-1200x630.png"
-heroImageAlt: "Labelbox "
+metaImagePath: "/labelbox-simnycbotiok/imgs/meta.png"
+heroImagePath: "/labelbox-simnycbotiok/imgs/hero.svg"
+heroImageAlt: "A dense field of small cells, a scattered share of them marked in red, standing for millions of human-labeled machine learning records"
---
With a rapidly evolving product and millions of data points managed and stored, Labelbox, a machine learning
diff --git a/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx b/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx
index a8be0c3a0d..b0dd0eb461 100644
--- a/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx
+++ b/apps/blog/content/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "Learn TypeScript: A Pocketguide Tutorial | Prisma"
metaDescription: "Learn TypeScript's core features in a practical pocket guide covering types, interfaces, functions, and developer productivity."
-metaImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta-ea7367ba686030645338459b4feaf9733da97717-1692x852.png"
-heroImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero-ed0603d756c104c189e556f5a0a65cc59adde9b3-870x438.png"
-heroImageAlt: "Learn TypeScript: A Pocketguide Tutorial"
+metaImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png"
+heroImagePath: "/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg"
+heroImageAlt: "A dark code card showing the getWordLength example with its string and number type annotations picked out in yellow above the type error that calling it with 42 produces."
---
Type safety is important for building scalable and maintainable applications. TypeScript is a superset of JavaScript that makes it type-safe. Learn about TypeScript's most important features in this guide.
diff --git a/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx b/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx
index 328032eb72..ba67dc2aa1 100644
--- a/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx
+++ b/apps/blog/content/blog/make-your-applications-fast-globally/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Make Your Applications Fast Globally"
metaDescription: "Speed up edge and serverless apps by fixing database latency, cold starts, and slow queries."
-metaImagePath: "/make-your-applications-fast-globally/imgs/meta-804c14efc98c90c583f9e85df56105a3b6cb52e0-1266x711.png"
-heroImagePath: "/make-your-applications-fast-globally/imgs/hero-b39a1db6bced5d4927ad0e3215e309eaa4f944ae-844x474.svg"
-heroImageAlt: "Illustration of global servers and cloud connections with text 'Make your application fast globally'"
+metaImagePath: "/make-your-applications-fast-globally/imgs/meta.png"
+heroImagePath: "/make-your-applications-fast-globally/imgs/hero.svg"
+heroImageAlt: "Two comparison bars titled 'Latency is geography': a function in Tokyo querying a database in Virginia takes about 900 ms, while a function colocated with the database returns in under 90 ms"
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx b/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx
index 6cdf63f0a3..0f715070c2 100644
--- a/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx
+++ b/apps/blog/content/blog/metrics-tutorial-prisma-pmoldgq10kz/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "Database Metrics with Prisma, Prometheus & Grafana"
metaDescription: "This tutorial will help you to get started with Prisma's metrics feature. Learn how to integrate metrics into a web server using Prometheus and Grafana."
-metaImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta-f9d1d442f04a6301edbf164092172e4a4ea43981-1269x714.png"
-heroImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero-a497e6ffb8b0aa20963e60b3940d638c938adbf7-835x470.png"
-heroImageAlt: "Database Metrics with Prisma, Prometheus & Grafana"
+metaImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png"
+heroImagePath: "/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg"
+heroImageAlt: "A four-stage pipeline on light paper: a highlighted Prisma Client tile calling $metrics.prometheus() feeds a GET /metrics Express endpoint, which Prometheus collects from and Grafana visualizes."
tags:
- "education"
- "orm"
diff --git a/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx b/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx
index 9ae3e0fbc6..3bf6a1150a 100644
--- a/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx
+++ b/apps/blog/content/blog/mongodb-general-availability-pixnun6mffmu/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma Adds Support for MongoDB — Join Our Launch Week Celebrations (April 25-29) 🎉"
metaDescription: "Prisma now supports MongoDB! Read this article to learn more about the benefits developers get when using MongoDB with Prisma and join our one-week celebration at the end of April."
-metaImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/meta-53ef0fef7dc5c54c6cee0c4cce0f47682d09cdc3-1692x882.png"
-heroImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/hero-d05dec22b9afb5e6e91b3a8048677f4d4021f3ac-844x474.svg"
-heroImageAlt: "Prisma Adds Support for MongoDB "
+metaImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/meta.png"
+heroImagePath: "/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg"
+heroImageAlt: "A dark code card showing the article's Prisma schema for MongoDB, with the id field's _id mapping and ObjectId attributes picked out in cyan."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx b/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx
index bbef780076..d1825a15cb 100644
--- a/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx
+++ b/apps/blog/content/blog/monitoring-best-practices-monitor5g08d0b/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "What is monitoring, how to monitor, and tools for monitoring"
metaDescription: "Learn the best practices for monitoring your application and how it fits into the development cycle. "
-metaImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/meta-2155fd7fac7e6abb72bd7d0a6ae53725792e0a47-1692x852.png"
-heroImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/hero-89513c992a1f61ae2412fbeb17417bff9504b9ff-794x380.png"
-heroImageAlt: "Application Monitoring Best Practices"
+metaImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/meta.png"
+heroImagePath: "/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg"
+heroImageAlt: "A white card on light paper listing the five stages of a metric, from instrumentation through to alerting, with the alerting row highlighted in red."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx b/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx
index 26507a1b49..7ef86efaa6 100644
--- a/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx
+++ b/apps/blog/content/blog/nestjs-prisma-authentication-7D056s1s0k3l/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "JWT Authentication in a REST API with NestJS and Prisma 7"
metaDescription: "Learn how to implement JWT authentication in a NestJS REST API with Prisma ORM 7 and Passport: login endpoint, JWT strategy, auth guards, Swagger integration and bcrypt password hashing."
-metaImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta-425dd76be3dd7fa36e7051613296031be0344159-1920x1080.png"
-heroImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero-7c1df9404c5bc6f5047c3e3ba1972005f90ea2bb-843x474.svg"
-heroImageAlt: "Building a REST API with NestJS and Prisma: Authentication"
+metaImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png"
+heroImagePath: "/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg"
+heroImageAlt: "A NestJS controller in a dark code card with the @UseGuards(JwtAuthGuard) line highlighted, an arrow pointing from it to a 401 Unauthorized response card."
series: nestjs-prisma-rest-api
seriesIndex: 5
tags:
diff --git a/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx b/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx
index 145c27a4a4..4b0d79ca56 100644
--- a/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx
+++ b/apps/blog/content/blog/nestjs-prisma-error-handling-7D056s1kOop2/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "Error Handling in a REST API with NestJS and Prisma 7"
metaDescription: "Learn how to handle Prisma errors in a NestJS REST API: throw exceptions in controllers and build an exception filter for Prisma error codes like P2002. Updated for Prisma ORM 7 and NestJS 11."
-metaImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta-61137d012c97c0dc9c0a72557fe3a277a11700a4-1272x716.png"
-heroImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero-c86e8991069ead629ccc386f69880911bbb014c8-844x474.svg"
-heroImageAlt: "Building a REST API with NestJS and Prisma: Error Handling"
+metaImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png"
+heroImagePath: "/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg"
+heroImageAlt: "Three mapping rows: NotFoundException to 404 Not Found, the Prisma error code P2002 for a unique constraint to 409 Conflict highlighted in cyan, and default to 500 Internal server error."
series: nestjs-prisma-rest-api
seriesIndex: 3
tags:
diff --git a/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx b/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx
index ed7c0abe36..664b9f6d9b 100644
--- a/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx
+++ b/apps/blog/content/blog/nestjs-prisma-relational-data-7D056s1kOabc/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "Handling Relational Data in a REST API with NestJS and Prisma 7"
metaDescription: "Learn how to handle relational data in a REST API built with NestJS and Prisma ORM 7: model a one-to-many relation, build user CRUD endpoints, and exclude sensitive fields from responses."
-metaImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero-2d5ec1b2f38575e64a7ae28b6915e68d77e197f2-1920x1080.png"
-heroImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero-2d5ec1b2f38575e64a7ae28b6915e68d77e197f2-1920x1080.png"
-heroImageAlt: "Building a REST API with NestJS and Prisma: Handling Relational Data"
+metaImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png"
+heroImagePath: "/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg"
+heroImageAlt: "An ink code card on light paper showing prisma.article.findUnique with the include author line highlighted in cyan, beside the headline \"Article and author in one request\"."
series: nestjs-prisma-rest-api
seriesIndex: 4
tags:
diff --git a/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx b/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx
index d69aea3ca8..dab81066fa 100644
--- a/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx
+++ b/apps/blog/content/blog/nestjs-prisma-rest-api-7D056s1BmOL0/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "Build a REST API with NestJS, Prisma 7, PostgreSQL and Swagger"
metaDescription: "Learn how to build a backend REST API with NestJS, Prisma ORM 7, PostgreSQL and Swagger. Set up the project, model your data, build the API and document it with Swagger. Fully updated for Prisma 7 and NestJS 11."
-heroImagePath: "/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero-4bb8a42e7fe028072f5e7d90b2eff2435ad6dabb-844x474.svg"
-heroImageAlt: "Building a REST API with NestJS and Prisma"
+heroImagePath: "/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg"
+metaImagePath: "/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png"
+heroImageAlt: "Route list on light paper: the six /articles endpoints built in the tutorial set in mono with hairline rules, the POST /articles row tinted cyan."
series: nestjs-prisma-rest-api
seriesIndex: 1
tags:
diff --git a/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx b/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx
index 407c3bf780..775486bd7f 100644
--- a/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx
+++ b/apps/blog/content/blog/nestjs-prisma-validation-7D056s1kOla1/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "Input Validation in a REST API with NestJS and Prisma 7"
metaDescription: "Learn how to add input validation and transformation to a NestJS REST API with ValidationPipe, class-validator and ParseIntPipe. Fully updated for Prisma ORM 7 and NestJS 11."
-metaImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/meta-c114050a8b7a4eacbd9270a105ff912a0e91eec5-1272x716.png"
-heroImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/hero-adc0af7eb5b3f3e751cd795ba7e184ce98a3ed81-844x474.svg"
-heroImageAlt: "Building a REST API with NestJS and Prisma: Input Validation & Transformation"
+metaImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png"
+heroImagePath: "/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg"
+heroImageAlt: "A branching diagram on light paper: a POST /articles request enters a highlighted ValidationPipe node, which forks along a cyan arrow to a route handler and along a grey arrow to 400 Bad Request, under the headline “Validate before the handler”."
series: nestjs-prisma-rest-api
seriesIndex: 2
tags:
diff --git a/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx b/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx
index db0804bc16..577d26f3b0 100644
--- a/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx
+++ b/apps/blog/content/blog/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "New Tooling to Improve Your GraphQL Workflows | Prisma"
metaDescription: "Explore new GraphQL tooling like GraphQL Config and related libraries that improve project setup, tooling integration, and workflows."
-metaImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero-a61300c6ae647f6e566843a176ed58109da8e65c-900x509.png"
-heroImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero-a61300c6ae647f6e566843a176ed58109da8e65c-900x509.png"
-heroImageAlt: "New Tooling to Improve Your GraphQL Workflows"
+metaImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png"
+heroImagePath: "/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg"
+heroImageAlt: "A diagram in which ESLint, Language Service and IntelliJ merge along one connector into a single card labelled .graphqlconfig."
---
Together with many awesome contributors from the community including the GraphQL team at Facebook, we have developed
diff --git a/apps/blog/content/blog/operations-based-billing/index.mdx b/apps/blog/content/blog/operations-based-billing/index.mdx
index 329cad6a0e..6619cc1bf0 100644
--- a/apps/blog/content/blog/operations-based-billing/index.mdx
+++ b/apps/blog/content/blog/operations-based-billing/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Petra Donka"
metaTitle: "Operations-Based Billing: A Simpler Pricing Model for Modern Databases"
metaDescription: "Serverless pricing for databases is notoriously difficult to grok and predict accurately. When thinking of how to solve this pricing dilemma for Prisma Postgres, we wanted to make things easy. Our operations-based pricing model simplifies pricing and removes the need to think about resource sizes or abstract compute time metrics."
-metaImagePath: "/operations-based-billing/imgs/meta-3354519625f3caa95164b69d5b9418abd3b99059-1266x711.png"
-heroImagePath: "/operations-based-billing/imgs/hero-1d997b49de7986be043f844425adc9214c468725-844x474.svg"
+metaImagePath: "/operations-based-billing/imgs/meta.png"
+heroImagePath: "/operations-based-billing/imgs/hero.svg"
+heroImageAlt: "A white panel lists the eight SQL statements one prisma.user.create() call expands into, closed by a yellow chip reading 1 operation."
---
Serverless pricing for databases is notoriously difficult to grok and predict accurately. When thinking of how to solve this pricing dilemma for [Prisma Postgres](https://prisma.io/postgres), we wanted to make things easy. Our operations-based model simplifies pricing and removes the need to think about resource sizes or abstract compute time metrics.
diff --git a/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx b/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx
index 6c0d5b4aba..5bd8f921b1 100644
--- a/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx
+++ b/apps/blog/content/blog/optimizing-postgres-for-global-apps/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Tyler Benfield"
metaTitle: "Optimizing Postgres for Global Apps"
metaDescription: "Learn why the Postgres wire protocol struggles in serverless and multi-region apps, and what patterns can improve performance for globally deployed systems."
-metaImagePath: "/optimizing-postgres-for-global-apps/imgs/meta-2d60d46aec9dc44a8e90072330ce14346817df5b-1266x711.png"
-heroImagePath: "/optimizing-postgres-for-global-apps/imgs/hero-8633a2e3d0da7dccae76ab2597e841ac444cbe7a-844x474.svg"
+metaImagePath: "/optimizing-postgres-for-global-apps/imgs/meta.png"
+heroImagePath: "/optimizing-postgres-for-global-apps/imgs/hero.svg"
+heroImageAlt: "Metric cover on light paper: the figure ~460 ms for establishing a Postgres connection, beside a sequence diagram of five round trips between an app in Tokyo and a Postgres database in us-east-1."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx b/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx
index e32c9c3229..9984ad17f6 100644
--- a/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx
+++ b/apps/blog/content/blog/organize-your-prisma-schema-with-multi-file-support/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Jon Harrell"
metaTitle: "Organize Your Prisma Schema into Multiple Files"
metaDescription: "Prisma ORM supports splitting your schema into multiple .prisma files, Generally Available since v6.7.0. Learn the Prisma 7 setup with prisma.config.ts, best practices, and common pitfalls."
-metaImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/meta-26e729ad6c2082d921722ad482ef83992eb66f5f-1266x711.png"
-heroImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/hero-5df6e670b8b37555a5d3caf40521722d9613b705-844x474.svg"
-heroImageAlt: "An image showing several .prisma files with the text \"Split your schema!\""
+metaImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png"
+heroImagePath: "/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg"
+heroImageAlt: "A card showing the prisma directory tree — migrations, a models folder holding user.prisma and post.prisma, and schema.prisma — with a cyan arc linking the two model files, beside the headline \"Relations work across files\"."
tags:
- "orm"
- "education"
diff --git a/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx b/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx
index f9c46d1e97..94ea3f111f 100644
--- a/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx
+++ b/apps/blog/content/blog/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "ORM 6.10.0, New Features for Prisma Postgres, Remote MCP & More"
metaDescription: "This week comes packed with major improvements for Prisma Postgres & Prisma ORM. Read this article to learn more!"
-metaImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta-de9f763ec9416315426528e9b4bc429a2708acbb-1266x711.png"
-heroImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero-9eceabc4fd8dbe61ef0dc42bad3d44c0a002efcf-844x474.svg"
+metaImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png"
+heroImagePath: "/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg"
+heroImageAlt: "The release number 6.10.0 set in large type on light paper, with the Prisma prism stripe bleeding off the lower-right corner."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx b/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx
index 28e607c7ff..c6f22062c7 100644
--- a/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx
+++ b/apps/blog/content/blog/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "ORM 6.12.0: ESM-Compatible Generator in Preview & New Options for Prisma Config"
metaDescription: "Check out the latest Prisma release with our new ESM-compatible generator and New Options for Prisma Config!"
-metaImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta-dcedaa0abf8db7a6e8f8fa30b3a2493752251653-1266x711.png"
-heroImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero-59d3944084b95fb426e8f670cd3ee12ec2b6ef0e-844x474.svg"
+metaImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png"
+heroImagePath: "/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg"
+heroImageAlt: "The version number 6.12.0 set very large in ink on paper, underlined by a short spectral rule, above the line \"ESM-compatible prisma-client generator, now in Preview\"."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx b/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx
index 133caafece..603518556e 100644
--- a/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx
+++ b/apps/blog/content/blog/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "ORM 6.13.0, CI/CD Workflows & pgvector for Prisma Postgres"
metaDescription: "Prisma ORM v6.13.0 introduces Prisma Config & multi-schema support in GA, pgvector for Prisma Postgres, a new Management API for CI/CD, SQL view enhancements, and a redesigned Prisma Console UI."
-metaImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta-a34efcbd2a80c31abeee44c4c8da5452619d93c4-1266x711.png"
-heroImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero-bf92270c0f00a0ec6345ee27d0f6eba08a3a79a5-844x474.svg"
-heroImageAlt: "A promotional graphic for Prisma version 6.13.0 featuring a dark-themed UI preview. On the left, the Prisma logo and \"v6.13.0\" are displayed with a right-pointing arrow. Below are feature highlights in purple pill-shaped boxes with white text: \"MULTI-SCHEMA & PRISMA CONFIG IN GA,\" \"CI/CD & pgvector FOR PRISMA POSTGRES,\" \"NEW CONSOLE UI DESIGN,\" and \"+ MORE…\". On the right, there is a screenshot of the Prisma console showing sections like Dashboard, Studio, Accelerate, API Keys, and Settings, along with panels for Prisma Postgres, Accelerate, Studio, and Optimize."
+metaImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png"
+heroImagePath: "/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg"
+heroImageAlt: "A white card on light paper, topped by a spectrum-colored rule, listing what shipped in Prisma ORM 6.13.0: prisma.config.ts (highlighted in cyan) and multi-schema support as Generally Available, plus pgvector and a Management API for Prisma Postgres."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx b/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx
index b6bf347719..ba4207feaa 100644
--- a/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx
+++ b/apps/blog/content/blog/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "ORM 6.15.0, AI Safety Guardrails for Destructive Commands & More"
metaDescription: "Protect your DB from AI mishaps with Prisma ORM v6.15.0—new safety guardrails, ESM-first client updates & better Postgres tooling."
-metaImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta-5f2a233de0328436ce4a9b015a641f91c80610a3-1266x711.png"
-heroImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero-405ae53feaf2033d74021e5007c20467a7d1069c-844x474.svg"
+metaImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png"
+heroImagePath: "/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg"
+heroImageAlt: "A dark terminal card showing the prisma migrate reset command marked Confirmation required when it is run by an AI coding agent"
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx b/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx
index 0965eaaf74..ddc8c61b4d 100644
--- a/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx
+++ b/apps/blog/content/blog/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "ORM v6.11.0, Embedded Prisma Studio, Rust-free ORM for MySQL in Preview & More"
metaDescription: "What’s new: Prisma ORM without Rust in Preview for MySQL & Neon, embedded Prisma Studio for your React apps, new region for Prisma Postgres & more. "
-metaImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta-f3f4386ecb62981d836ac001e9ad7d7bf3983817-1266x711.png"
-heroImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero-3fe13fbc2fb282c40babce1bbdd9090f848862d9-844x474.svg"
+metaImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png"
+heroImagePath: "/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg"
+heroImageAlt: "A three-row list on light paper under the headline “Rust-free ORM in Preview”: MySQL / MariaDB with @prisma/adapter-mariadb, Neon with @prisma/adapter-neon, and CockroachDB with @prisma/adapter-pg."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx b/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx
index e494592975..179e851ae9 100644
--- a/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx
+++ b/apps/blog/content/blog/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "ORM v6.17.0, New Usage Metrics & Direct Connections in GA for Prisma Postgres "
metaDescription: "Prisma ORM v6.17.0 is out with fixes and improvements. Connecting to Prisma Postgres via your favorite ORM/DB tool is now GA. Read the full update."
-metaImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta-a3ea67dcf14e1e36633f24ff1630949e82d6552e-1266x711.png"
-heroImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero-b0ff1e8edfc2f3b242e88d1e7e9c068a4b4b50dc-844x474.svg"
-heroImageAlt: "Cover image for launch blog post"
+metaImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png"
+heroImagePath: "/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg"
+heroImageAlt: "A beam running from Drizzle, Kysely, TypeORM and psql into a Prisma Postgres database drawn as stacked planes, marking direct connections as generally available."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx b/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx
index a523a2102b..2d335d0087 100644
--- a/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx
+++ b/apps/blog/content/blog/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Jon Harrell"
metaTitle: "Overcoming Database Challenges in Serverless and Edge Applications"
metaDescription: "Learn best practices around deploying stateful apps in traditionally stateless environments."
-metaImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta-1547411ba0da83db1dd2d474906b3c9b36a0be05-1267x711.png"
-heroImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero-bb568fc69c26ec5a3d262e4e598ea35dd95aa7b0-844x474.svg"
-heroImageAlt: "Overcoming Database Challenges in Serverless & Edge Applications"
+metaImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png"
+heroImagePath: "/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg"
+heroImageAlt: "The headline \"Stateful data in stateless environments\" above a flat diagram: a stack of function instances labelled \"pool size 1\" connects by a cyan beam to a \"Connection pool / PgBouncer\" tile, which connects on to a \"Database / PostgreSQL\" tile."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx b/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx
index 5e220ba63b..0f3b1ca3ee 100644
--- a/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx
+++ b/apps/blog/content/blog/panther-customer-story-pdmdrrhtupsl/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Panther enables startups to acquire talented individuals without being hampered by geographical barriers, leveraging the microservices architecture with Prisma"
metaDescription: "Prisma plays a key role in the Panther's tech stack, allowing individual teams to have the freedom they need while also maintaining data consistency"
-metaImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/meta-5eae06d23538e0fc1c0ce19cd2f7d370baf9ba67-1692x852.png"
-heroImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/hero-c5d900fa6ca968fa3166f7d9faff39ee6df0fc04-846x426.png"
-heroImageAlt: "How Panther champions talent over geography with Prisma"
+metaImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/meta.png"
+heroImagePath: "/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg"
+heroImageAlt: "A typographic cover on light paper reading 'Payroll and compliance in 160+ countries', the reach of Panther's payroll platform, with the plus sign in prism cyan."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx b/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx
index 4e36894ada..b4adfed622 100644
--- a/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx
+++ b/apps/blog/content/blog/pearly-plan-customer-success-pdmdrRhTupve/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "How Pearly has scaled quickly as a startup by adopting Prisma"
metaDescription: "Pearly provides platforms for dentists to create better and reliable revenue streams and affordable care plans for their patients. Learn how Prisma has helped them scale quickly with Prisma with an ultra-lean team."
-metaImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta-d09ee96143ce418b222844b771f5b3ffcff456f4-1692x852.png"
-heroImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero-865b17cd27fdb1bc38c55016a41fd23b3ea650a0-870x439.png"
-heroImageAlt: "How Prisma Allowed Pearly to Scale Quickly with an Ultra-Lean Team"
+metaImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png"
+heroImagePath: "/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg"
+heroImageAlt: "The words 1 developer set large in ink with a cyan numeral, above the line built the first version of both Pearly products, on a soft cyan field."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx b/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx
index b3f9f518bd..01726b56f2 100644
--- a/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx
+++ b/apps/blog/content/blog/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Performance Benchmarks: Comparing Query Latency across TypeScript ORMs & Databases"
metaDescription: "Which ORM is the fastest? We have created open-source performance benchmarks to compare query latencies for Prisma ORM, TypeORM and Drizzle ORM. "
-metaImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta-1e353482cde67f1567e51f2a62e6c4129b120822-1688x948.png"
-heroImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero-4b8219d8c090b4183d9b4d7d70e6e4bd30f2933d-844x474.png"
+metaImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png"
+heroImagePath: "/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg"
+heroImageAlt: "A light cover reading 'Which ORM is fastest? It depends' above a table of median findMany latencies for Prisma ORM, Drizzle ORM and TypeORM on Supabase, AWS RDS and Neon."
tags:
- "orm"
---
diff --git a/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx b/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx
index 28ef0e6d27..b353483177 100644
--- a/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx
+++ b/apps/blog/content/blog/performance-engineering-aeduv0rei0jk/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "How We Constantly Improve the Performance of Prisma"
metaDescription: "See how Prisma's engineering team approaches performance with tooling, benchmarking, and practices for fast, predictable database workflows."
-metaImagePath: "/performance-engineering-aeduv0rei0jk/imgs/hero-e43f947aa769d0709b8e4af281e447028c0ec23e-1200x630.png"
-heroImagePath: "/performance-engineering-aeduv0rei0jk/imgs/hero-e43f947aa769d0709b8e4af281e447028c0ec23e-1200x630.png"
-heroImageAlt: "How We're Constantly Improving the Performance of Prisma"
+metaImagePath: "/performance-engineering-aeduv0rei0jk/imgs/meta.png"
+heroImagePath: "/performance-engineering-aeduv0rei0jk/imgs/hero.svg"
+heroImageAlt: "A FlameGraph with one wide highlighted frame labelled Calendar, beside the figure 40% — the memory saved in a hot Prisma 1 code path."
---
::::note[New: the Prisma 8 performance benchmark]
diff --git a/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx b/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx
index aa867a2e4f..6644935604 100644
--- a/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx
+++ b/apps/blog/content/blog/poppy-customer-success-story-swnWQcGRRvpd/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "Poppy adopted Prisma 2 in its early days and has seen enormous benefits from the type safety that Prisma Client provides."
metaDescription: "Poppy offers rides of all kinds through its mobile app. Whether it's a car, scooter, or e-step, Poppy has it. Prisma plays a vital role in helping Poppy ship quickly and confidently and is a big reason they've just hit 1.5 million total rides taken."
-metaImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero-e88c5bf7940e203a79d806c2f7ab3ff3d177b7ee-1692x852.png"
-heroImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero-e88c5bf7940e203a79d806c2f7ab3ff3d177b7ee-1692x852.png"
-heroImageAlt: "How Poppy Uses Prisma Client to Ship Confidently"
+metaImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png"
+heroImagePath: "/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg"
+heroImageAlt: "The figure 1.5M set large on light paper, labelled as the rides taken on Poppy's fleet served by Prisma Client, above the fleet's 500 shared cars, 400 e-scooters and 200 e-steps."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx b/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx
index 4c824416de..9564daaa78 100644
--- a/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx
+++ b/apps/blog/content/blog/prisma-2-beta-b7bcl0gd8d8e/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma 2.0 | Now in Beta: Type-safe Database Access with Prisma Client"
metaDescription: "Prisma 2 Beta introduced type-safe database access with Prisma Client, updated docs, and a clearer path toward production readiness."
-metaImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/meta-ef78167b288b460b14a81e0364434fc5c0caa204-1688x886.png"
-heroImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/hero-28cf1f43bc68b6f46097c6f654a0e77dfbf643ca-870x457.png"
-heroImageAlt: "Prisma 2.0 is now in beta"
+metaImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png"
+heroImagePath: "/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg"
+heroImageAlt: "A large 2.0 set in ink on paper, underlined by a thin Prisma spectrum rule, beside a Beta release label."
---
We introduced the first Preview version of Prisma 2.0 in June last year. Today, we are excited to launch the first official Beta along with a new [website](https://www.prisma.io) and updated [Prisma 2.0 documentation](https://www.prisma.io/docs).
diff --git a/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx b/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx
index 5bf13a44d4..ae2bd676cb 100644
--- a/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx
+++ b/apps/blog/content/blog/prisma-5-f66prwkjx72s/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Prisma 5: Faster by Default"
metaDescription: "Prisma 5.0.0 introduces new changes that make it significantly faster. These changes especially improve the experience using Prisma in serverless environments."
-metaImagePath: "/prisma-5-f66prwkjx72s/imgs/meta-a667db7e2c4cdc8b7bb1b5cde2903a0d0e78fe4a-1266x712.png"
-heroImagePath: "/prisma-5-f66prwkjx72s/imgs/hero-4d31da0f724c13e75aae400cb385bbd1da5f23e2-844x474.svg"
-heroImageAlt: "Prisma 5"
+metaImagePath: "/prisma-5-f66prwkjx72s/imgs/meta.png"
+heroImagePath: "/prisma-5-f66prwkjx72s/imgs/hero.svg"
+heroImageAlt: "Two horizontal bars under the headline \"Cut by two-thirds\": a long grey bar labelled Before and a cyan bar one third as long labelled Prisma 5, comparing Prisma Client response time in a serverless cold start."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/prisma-6-8-0-release/index.mdx b/apps/blog/content/blog/prisma-6-8-0-release/index.mdx
index a8497e1eec..8592e89dfa 100644
--- a/apps/blog/content/blog/prisma-6-8-0-release/index.mdx
+++ b/apps/blog/content/blog/prisma-6-8-0-release/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Prisma 6.8.0: VS Code Agent Mode, Local Prisma Postgres, Native Deno Support"
metaDescription: "With Prisma 6.8.0, spin up a local Postgres instance in seconds, create databases with VS Code Agent Mode, query docs via GitHub Copilot, and run Prisma ORM natively on Deno."
-metaImagePath: "/prisma-6-8-0-release/imgs/meta-ad55ab4fb3e73f6d3379697f1082600814e40c89-1266x711.png"
-heroImagePath: "/prisma-6-8-0-release/imgs/hero-b3ae90f7c076b2606757271bab4e04cffe8bb03d-844x474.svg"
-heroImageAlt: "Promotional graphic on a purple gradient background announcing “v6.8.0” of Prisma. On the left are three rounded-rectangle labels reading “LOCAL PRISMA POSTGRES,” “VS CODE AGENT SUPPORT,” and “COPILOT EXTENSION.” On the right is a mock VS Code Copilot Chat panel in Agent mode (GPT-4o) showing the user message “Create a new database for me.” Along the bottom are three glowing icons representing Prisma, VS Code, and GitHub Copilot."
+metaImagePath: "/prisma-6-8-0-release/imgs/meta.png"
+heroImagePath: "/prisma-6-8-0-release/imgs/hero.svg"
+heroImageAlt: "A dark terminal card on a warm light background shows the command npx prisma dev above three yellow checkmarks reading No Docker, No account and Zero latency, beside the headline “Local Postgres in one command”."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/prisma-6-9-0-release/index.mdx b/apps/blog/content/blog/prisma-6-9-0-release/index.mdx
index da604d558d..51276f1c37 100644
--- a/apps/blog/content/blog/prisma-6-9-0-release/index.mdx
+++ b/apps/blog/content/blog/prisma-6-9-0-release/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Prisma 6.9.0: Rust-Free ORM in Preview, Connect To Prisma Postgres With Any Tool, & More"
metaDescription: "Explore Prisma 6.9.0: Connect any tool to Prisma Postgres (Drizzle, Kysely, etc.), try the new Rust-free Prisma ORM for PostgreSQL & SQLite, run local Prisma Postgres with persistent data, and manage databases via a new VS Code UI."
-metaImagePath: "/prisma-6-9-0-release/imgs/meta-e89ea5cb6384d5ad92e1611a0ad373aa368018b0-1266x711.png"
-heroImagePath: "/prisma-6-9-0-release/imgs/hero-b471bc0c613d1100e7f62c052743300a08093d24-844x474.svg"
-heroImageAlt: "Prisma 6.9.0 release graphic showing key updates: connect to Prisma Postgres with any ORM, manage databases in VS Code, preview Prisma ORM without Rust engine, and more."
+metaImagePath: "/prisma-6-9-0-release/imgs/meta.png"
+heroImagePath: "/prisma-6-9-0-release/imgs/hero.svg"
+heroImageAlt: "A diagram on light paper showing tiles labelled Drizzle, Kysely, TypeORM and psql merging into a single connection that ends at a Prisma Postgres node."
series: rust-to-typescript-migration-journey
seriesIndex: 4
---
diff --git a/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx b/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx
index 30a951bdff..f6dddef1aa 100644
--- a/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx
+++ b/apps/blog/content/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma 6: Better Performance, More Flexibility & Type-Safe SQL"
metaDescription: "Today, we are releasing Prisma v6! Since the last major version, we have been hard at work incorporating user feedback, making Prisma ORM faster and more flexible, and adding amazing features like type-safe raw SQL queries."
-metaImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta-0bbe2e336e0bd55cb08133c81dc5cf297137b893-1200x630.png"
-heroImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero-1613e4843bb6239ae9f0e74962909b219dfafbc8-844x474.svg"
+metaImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png"
+heroImagePath: "/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg"
+heroImageAlt: "A large numeral 6 on light paper beside a hairline rule listing three v6 capabilities: pick the best JOIN strategy, edge support and serverless drivers, and Typed SQL for raw queries"
---
::::note[New: the Prisma 8 performance benchmark]
diff --git a/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx b/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx
index 43022c632c..1ca1b5ced7 100644
--- a/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx
+++ b/apps/blog/content/blog/prisma-7-performance-benchmarks/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Mike Hartington"
metaTitle: "Understanding Prisma 7 Performance Benchmarks"
metaDescription: "We reviewed community benchmarks comparing Prisma 6 and Prisma 7. Here’s what they measure, where regressions exist, and how we’re fixing them."
-metaImagePath: "/prisma-7-performance-benchmarks/imgs/meta-676ac79538b53ce030818a157ac592f29650e651-1266x711.png"
-heroImagePath: "/prisma-7-performance-benchmarks/imgs/hero-874c8984ae9b30a1245becadea327ddf82784916-844x474.svg"
+metaImagePath: "/prisma-7-performance-benchmarks/imgs/meta.png"
+heroImagePath: "/prisma-7-performance-benchmarks/imgs/hero.svg"
+heroImageAlt: "A diverging bar chart: large result sets run up to 3x faster in Prisma 7 while tiny queries in a tight loop show a regression being fixed"
tags:
- "orm"
---
diff --git a/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx b/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx
index a14be23eee..7ba8a480aa 100644
--- a/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx
+++ b/apps/blog/content/blog/prisma-adopts-semver-strictly/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Daniel Norman"
metaTitle: "Prisma Adopts Semantic Versioning (SemVer) in Future Releases"
metaDescription: "We are adjusting Prisma's release policy to adhere more strictly to Semantic Versioning. In the future, breaking changes in the stable development surface (General Availability) will only be rolled out in major version increments."
-metaImagePath: "/prisma-adopts-semver-strictly/imgs/hero-28e6751ef493d53d0decd3aa5c631c0214c2d578-1692x852.png"
-heroImagePath: "/prisma-adopts-semver-strictly/imgs/hero-28e6751ef493d53d0decd3aa5c631c0214c2d578-1692x852.png"
-heroImageAlt: "Prisma Adopts Semantic Versioning (SemVer)"
+metaImagePath: "/prisma-adopts-semver-strictly/imgs/meta.png"
+heroImagePath: "/prisma-adopts-semver-strictly/imgs/hero.svg"
+heroImageAlt: "The version string major.minor.patch set in large mono type, with the major segment in red and underlined."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx b/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx
index 53904dcdb9..b00c8eaa59 100644
--- a/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx
+++ b/apps/blog/content/blog/prisma-and-graphql-mfl5y2r7t49c/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Tim Suchanek"
metaTitle: "How Prisma and GraphQL fit together | Prisma"
metaDescription: "Learn how Prisma and GraphQL fit together, where Prisma goes beyond GraphQL use cases, and how Prisma simplifies database workflows across APIs."
-metaImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/meta-fa8e2859efa37829166cc290e4913124ad4a99a0-1200x630.png"
-heroImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/hero-a170d7e275c2b415bc159d86a7a0eacf7b92acef-870x457.png"
-heroImageAlt: "How Prisma and GraphQL fit together"
+metaImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png"
+heroImagePath: "/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg"
+heroImageAlt: "A prism on a light background: one grey beam from a database enters a triangle labelled Prisma client and leaves it as three coloured beams labelled GraphQL, REST and gRPC."
---
There are many confusions around the relationship Prisma has with GraphQL. In this article, we clarify how developers
diff --git a/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx b/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx
index e73fbca7fd..e498743cc2 100644
--- a/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx
+++ b/apps/blog/content/blog/prisma-and-serverless-73hbgKnZ6t/index.mdx
@@ -8,9 +8,9 @@ authors:
- "Jan Piotrowski"
metaTitle: "How We Sped Up Serverless Cold Starts with Prisma by 9x"
metaDescription: "Learn about the Prisma's goals, the hurdles we are overcoming, and how you can help."
-metaImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/73248ed5f8354b102c538279eae67bb1bb601991-1266x711.png"
-heroImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/e70e892329074189eda737c807804fda0b018a05-844x474.svg"
-heroImageAlt: "How We Sped Up Serverless Cold Starts with Prisma by 9x"
+metaImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png"
+heroImagePath: "/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg"
+heroImageAlt: "The numeral 9x set very large in ink on a paper background lit by a soft cyan field, labelled faster Prisma Client startup in serverless functions."
tags:
- "orm"
excerpt: "Cold starts are a huge roadblock for a fast user experience with serverless applications — but also inherently unavoidable. Let's explore what contributes to cold starts and how we made every serverless app built using Prisma ORM even faster."
diff --git a/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx b/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx
index b2ba58fe69..da5fc9f5ed 100644
--- a/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx
+++ b/apps/blog/content/blog/prisma-client-preview-ahph4o1umail/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma Client in Preview: Simplified & Type-safe Database Access"
metaDescription: "Prisma Client introduced type-safe, auto-generated database access for application code and marked an important step toward Prisma's modern developer workflow."
-metaImagePath: "/prisma-client-preview-ahph4o1umail/imgs/hero-5f01c71f75711647bda65187ba3679acd63a63da-1200x630.png"
-heroImagePath: "/prisma-client-preview-ahph4o1umail/imgs/hero-5f01c71f75711647bda65187ba3679acd63a63da-1200x630.png"
-heroImageAlt: "Prisma Client (Preview): Simplified & Type-safe Database Access"
+metaImagePath: "/prisma-client-preview-ahph4o1umail/imgs/meta.png"
+heroImagePath: "/prisma-client-preview-ahph4o1umail/imgs/hero.svg"
+heroImageAlt: "A datamodel beam entering a glass prism and refracting into four coloured rays labelled typescript-client, javascript-client, flow-client and go-client."
---
The Prisma client is an auto-generated library that can be used as an alternative to Prisma bindings to access data in
diff --git a/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx b/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx
index 2460121901..59fde98246 100644
--- a/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx
+++ b/apps/blog/content/blog/prisma-data-platform-now-generally-available-8D058s1BqOL1/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Michelle Greer"
metaTitle: "The Prisma Data Platform enables teams to collaborate using Prisma"
metaDescription: "The Prisma Data Platform solves problems developers face when working with databases in production, and is now generally available."
-metaImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta-ffc4c14399a711f25503a0a7af6f077b4ad57d2d-1266x711.png"
-heroImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero-4d76a71d16231a1a3c1958c52182a480a8e5f8f7-844x474.svg"
-heroImageAlt: "The Prisma Data Platform"
+metaImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png"
+heroImagePath: "/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg"
+heroImageAlt: "A three-tile flow on paper: several connections from a serverless app converge into a cyan Data Proxy tile labelled connection pooling, which sends one pooled connection on to the database."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx b/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx
index daf1886605..781047aa24 100644
--- a/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx
+++ b/apps/blog/content/blog/prisma-data-proxy-xb16ba0p21/index.mdx
@@ -8,9 +8,9 @@ authors:
- "Alberto Perdomo"
metaTitle: "Prisma Data Proxy (Discontinued): Serverless Database Access"
metaDescription: "The Prisma Data Proxy was Prisma's connection pooling service for serverless apps. It has been discontinued: Prisma Postgres now includes built-in connection pooling for serverless and edge apps."
-metaImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/meta-3fc1d1f448cde60bd38e28c64d061ce7fb171f81-2400x1254.png"
-heroImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/hero-bb301a00397c84e302d829b963462d00950d326e-870x455.png"
-heroImageAlt: "Database Access in Serverless Environments with the Prisma Data Proxy"
+metaImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/meta.png"
+heroImagePath: "/prisma-data-proxy-xb16ba0p21/imgs/hero.svg"
+heroImageAlt: "A diagram of five serverless functions converging on one external connection pool that holds the single path to the database."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx b/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx
index 9841f343fa..e7cd12c4c8 100644
--- a/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx
+++ b/apps/blog/content/blog/prisma-day-2022-announcement-v8t178dsf/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Jillian Winter"
metaTitle: "Announcing Prisma Day 2022 — Our First Hybrid (Berlin and online) Prisma Day!"
metaDescription: "We’re thrilled to announce that this summer, Prisma Day will feature both in-person and remote events and workshops. Prisma Day will take place June 15th and 16th'"
-metaImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/meta-fcbc836a3c01592b7833e91a41e62b29fbfc9adf-2538x1272.png"
-heroImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/hero-1a5bae00df77e3b700cef6601a86c94a9e1de572-844x474.svg"
-heroImageAlt: "Announcing Prisma Day 2022! Our First Hybrid Prisma Day."
+metaImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png"
+heroImagePath: "/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg"
+heroImageAlt: "A soft yellow band of light sweeping diagonally across light paper, beside the words “Berlin and online” and the dates June 15–16, 2022."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx b/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx
index d724bffb25..47fd956a20 100644
--- a/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx
+++ b/apps/blog/content/blog/prisma-foss-fund-announcement-XW9DqI1HC24L/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Emerich"
metaTitle: "Prisma announces the Prisma FOSS Fund to support free and open source software teams."
metaDescription: "Prisma has started a fund to support independent free and open source software (FOSS) teams. Each month, we will donate $5,000 to a selected project to maintain its work and continue its development."
-metaImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta-ab8f92c96761d5632f2170265bd9c63167d3f978-1268x721.png"
-heroImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero-1ece57b620fcf829b794355791d859059f7beb0b-844x474.svg"
-heroImageAlt: "Announcing the Prisma FOSS Fund"
+metaImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png"
+heroImagePath: "/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg"
+heroImageAlt: "The figure $5,000 set large in Sora above the line every month to an independent open source project, with Rust Analyzer, Open Source Community Africa and Pothos listed beneath."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-insider-program/index.mdx b/apps/blog/content/blog/prisma-insider-program/index.mdx
index 4d7dec994b..014b42788b 100644
--- a/apps/blog/content/blog/prisma-insider-program/index.mdx
+++ b/apps/blog/content/blog/prisma-insider-program/index.mdx
@@ -5,8 +5,9 @@ slug: "prisma-insider-program"
date: "2024-05-29"
authors:
- "Nitin Gupta"
-metaImagePath: "/prisma-insider-program/imgs/meta-587a4d7eeb559a4bdeb64d945c8abd1d2aa965e0-1266x711.png"
-heroImagePath: "/prisma-insider-program/imgs/hero-f876d2b949495eb13c451c52414fd1119f0be213-844x474.svg"
+metaImagePath: "/prisma-insider-program/imgs/meta.png"
+heroImagePath: "/prisma-insider-program/imgs/hero.svg"
+heroImageAlt: "A two-way loop between a card for products in development, Accelerate and Prisma Postgres, and a card for 15 insiders, with early access flowing out and feedback flowing back"
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx b/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx
index 82ba55642b..7db1852c50 100644
--- a/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx
+++ b/apps/blog/content/blog/prisma-microsoft-sql-server-azure-sql-production-ga/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Microsoft SQL Server Support in Prisma is Generally Available"
metaDescription: "Microsft SQL Server and Azure SQL support in Prisma is now Generally Available"
-metaImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta-897cff06aed6d6ab31ad6dea86c04ba77a03f0ed-1252x630.png"
-heroImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero-89857b3836a02963a6943bf9903eadb7f467452b-846x426.png"
-heroImageAlt: "Microsoft SQL Server Support in Prisma is Production-Ready"
+metaImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png"
+heroImagePath: "/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg"
+heroImageAlt: "A soft cyan mesh field on paper with one small white card naming the Prisma datasource provider sqlserver and its status, generally available in 3.0.1."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx b/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx
index ca6189f4ac..5b8211e668 100644
--- a/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx
+++ b/apps/blog/content/blog/prisma-migrate-dx-primitives/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Improving Prisma Migrate DX for resolving failed migrations with 2 new commands"
metaDescription: "Learn how the new Prisma Migrate commands, migrate diff and db execute help troubleshooting schema migrations."
-metaImagePath: "/prisma-migrate-dx-primitives/imgs/meta-b291800991f4a03d10765a87a3fbc6d0e036564c-1270x639.png"
-heroImagePath: "/prisma-migrate-dx-primitives/imgs/hero-e6a865656b510a2942651367168029c0be4b650c-844x474.svg"
-heroImageAlt: "Improving Prisma Migrate DX with two new commands"
+metaImagePath: "/prisma-migrate-dx-primitives/imgs/meta.png"
+heroImagePath: "/prisma-migrate-dx-primitives/imgs/hero.svg"
+heroImageAlt: "A white panel headed prisma migrate diff listing the four schema sources it can compare, with the live database schema and migration history rows tinted cyan and tagged from and to."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx b/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx
index 4c52a3bc1d..61fa0a0dba 100644
--- a/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx
+++ b/apps/blog/content/blog/prisma-migrate-ga-b5eno5g08d0b/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Prisma Migrate is Production Ready - Hassle-Free Database Migrations"
metaDescription: "Prisma Migrate is ready for use in production - Database schema migration tool with declarative data modeling and auto-generated, customizable SQL migrations"
-metaImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/meta-434780a05dbd2e625fda9fe791c5ad5952bda69d-2400x1256.png"
-heroImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/hero-32d0c4e15bdc25944dcbcfbe7064746f94cef116-1692x852.png"
-heroImageAlt: "Hassle-Free Database Migrations with Prisma Migrate"
+metaImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png"
+heroImagePath: "/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg"
+heroImageAlt: "The headline Schema in, SQL out beside a dark code card holding a generated CREATE TABLE migration, with a comment noting the SQL can be edited prior to execution."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx b/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx
index 4e5555ca32..a1f5d37b16 100644
--- a/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx
+++ b/apps/blog/content/blog/prisma-migrate-preview-b5eno5g08d0b/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Database Migrations Simplified | Prisma Migrate Preview"
metaDescription: "Prisma Migrate Preview - database schema migrations simplified with declarative data modeling and auto-generated and customizable SQL migrations"
-metaImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/meta-8cce83b629d0e1fe925d32bdf2a73f80d4c4bc9f-1200x628.png"
-heroImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/hero-f5df6cdfa8c8cca04b7efca43a15f111cb1789b7-1692x852.png"
-heroImageAlt: "Prisma Migrate Preview - Database Migrations Simplified"
+metaImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png"
+heroImagePath: "/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg"
+heroImageAlt: "A three-row ledger of the Preview workflow: create the migration SQL without applying it, edit migration.sql in a highlighted cyan row, then apply it and generate Prisma Client."
---
Prisma Migrate helps developers evolve their database schema at every step of development, from prototyping to production. Today we are excited to announce a Preview version of Prisma Migrate. [Try it out](https://www.prisma.io/docs/getting-started/setup-prisma/start-from-scratch/relational-databases-typescript-postgresql) and share your feedback!
diff --git a/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx b/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx
index 8e2218a9f5..637fa7ab20 100644
--- a/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx
+++ b/apps/blog/content/blog/prisma-mongodb-preview-release/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Announcing Preview Support for MongoDB in Prisma 2.27"
metaDescription: "Prisma support for MongoDB - bringing the power of type safety in Prisma to MongoDB"
-metaImagePath: "/prisma-mongodb-preview-release/imgs/meta-60df4c09d5d1951a4fc6425644d652161e5aa9a1-1269x640.png"
-heroImagePath: "/prisma-mongodb-preview-release/imgs/hero-0ba86c703ae4de5651fe3afa7a2a181b0cacdb24-865x436.png"
-heroImageAlt: "Prisma 2.27 Adds Preview Support for MongoDB"
+metaImagePath: "/prisma-mongodb-preview-release/imgs/meta.png"
+heroImagePath: "/prisma-mongodb-preview-release/imgs/hero.svg"
+heroImageAlt: "Two panels side by side: MongoDB documents with uneven field sets, and the same documents given one consistent, typed shape by a Prisma schema."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx b/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx
index 025b0b87c9..5ec2345ca7 100644
--- a/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx
+++ b/apps/blog/content/blog/prisma-online-data-browser-ejgg5c8p3u4x/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Spiros Martzoukos"
metaTitle: "A Collaborative Data Browser for Your Database on the Web (Early Access)"
metaDescription: "Prisma's online data browser allows you to easily collaborate with your team on your data. Try the Early Access version and share your feedback with us!"
-metaImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero-fe681554d217f3015ae0203b3b01a4830f6ca327-1692x852.png"
-heroImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero-fe681554d217f3015ae0203b3b01a4830f6ca327-1692x852.png"
-heroImageAlt: "A Collaborative Data Browser for Your Database on the Web"
+metaImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png"
+heroImagePath: "/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg"
+heroImageAlt: "A table of the four project roles in the online data browser — Admin, Developer, Collaborator and Viewer — with what each one may do, and the Collaborator row highlighted."
tags:
- "education"
- "platform"
diff --git a/apps/blog/content/blog/prisma-optimize-early-access/index.mdx b/apps/blog/content/blog/prisma-optimize-early-access/index.mdx
index 85057ad23b..14df6c5839 100644
--- a/apps/blog/content/blog/prisma-optimize-early-access/index.mdx
+++ b/apps/blog/content/blog/prisma-optimize-early-access/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Introducing Prisma Optimize in Early Access "
metaDescription: "Explore insights into your database operations to diagnose performance problems and enhance your application's performance and user experience."
-metaImagePath: "/prisma-optimize-early-access/imgs/meta-a56f096666836c7d8e6671d0b4e910c1a0c2cb62-1200x630.png"
-heroImagePath: "/prisma-optimize-early-access/imgs/hero-4d64d1524a5186d98e489b0aa2d0b884ceff3ef0-844x474.svg"
-heroImageAlt: "Prisma Optimize in Early Access"
+metaImagePath: "/prisma-optimize-early-access/imgs/meta.png"
+heroImagePath: "/prisma-optimize-early-access/imgs/hero.svg"
+heroImageAlt: "A dark code card on a warm yellow-lit paper surface showing Prisma Client extended with the Optimize extension, with the withOptimize() call highlighted."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx b/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx
index 536f019ded..d720501987 100644
--- a/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx
+++ b/apps/blog/content/blog/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma ORM 6.6.0: ESM Support, D1 Migrations & Prisma MCP Server"
metaDescription: "The v6.6.0 Prisma ORM release is packed with exciting features: ESM support, migrations on Cloudflare D1, an MCP server to manage DBs & a lot more."
-metaImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta-5f4d224e4d334fff70c4eadb8b2cbef237acd3ba-1266x711.png"
-heroImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero-836040fb8ba1449adfeb3b608ae710d2bd2d6449-844x474.svg"
+metaImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png"
+heroImagePath: "/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg"
+heroImageAlt: "The version number 6.6.0 set at display size on light paper over a cyan bloom, with the release's three headline features named beneath it: ESM, D1 migrations and MCP server."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/prisma-orm-manifesto/index.mdx b/apps/blog/content/blog/prisma-orm-manifesto/index.mdx
index a686517b79..f36ff60490 100644
--- a/apps/blog/content/blog/prisma-orm-manifesto/index.mdx
+++ b/apps/blog/content/blog/prisma-orm-manifesto/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Will Madden"
metaTitle: "Prisma ORM Manifesto: Clarity and Collaboration"
metaDescription: "Refocusing Prisma on what matters most: clear governance, better issue management, timely feature releases, and community collaboration"
-metaImagePath: "/prisma-orm-manifesto/imgs/meta-0b66108483565f432dc3f83253879dc12818ab99-1266x711.png"
-heroImagePath: "/prisma-orm-manifesto/imgs/hero-39eefe70bf535b97c35ecbc14b17c382ccb1644c-844x474.svg"
-heroImageAlt: "Prisma ORM Manifesto title with image of scroll with official looking seal"
+metaImagePath: "/prisma-orm-manifesto/imgs/meta.png"
+heroImagePath: "/prisma-orm-manifesto/imgs/hero.svg"
+heroImageAlt: "The sentence Preview now means progress set across a soft cyan field, with the word progress in deep cyan."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx b/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx
index 3336d1e2dd..29f09126d3 100644
--- a/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx
+++ b/apps/blog/content/blog/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Choosing the Best Join Strategy in Prisma ORM: join vs query"
metaDescription: "Prisma ORM loads relations with database-level joins (a single SQL query with JSON aggregation) or application-level joins (one query per table). Learn how both work and when to use which."
-metaImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta-0fff8d25a4c84741b32994979eb8ff448d60d4fe-1266x711.png"
-heroImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero-cb8e59a2cadf127ac984a9913e7742e59a169fc1-844x474.svg"
+metaImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png"
+heroImagePath: "/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg"
+heroImageAlt: "Under the label \"Statements sent for one relation query\", a grey numeral 2 labelled \"query, one query per table\" points by arrow to a large black numeral 1 labelled \"join, one statement, merged in the database\"."
tags:
- "orm"
- "education"
diff --git a/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx b/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx
index 0575921169..d82e0717a8 100644
--- a/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx
+++ b/apps/blog/content/blog/prisma-orm-support-for-edge-functions-is-now-in-preview/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma ORM Support for Edge Functions is Now in Preview"
metaDescription: "We're thrilled to share that you can now access your database with Prisma ORM from Vercel Edge Functions and Cloudflare Workers."
-metaImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta-937f91566465c5ea1d23ce3f243d06a14f138693-2000x1123.png"
-heroImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero-d5c2d5f06095314aeceda56c7bd867e5859e468f-844x474.svg"
-heroImageAlt: "Prisma ORM Support for Edge Functions (Preview)"
+metaImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png"
+heroImagePath: "/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg"
+heroImageAlt: "An ink code card showing three lines from the article's Cloudflare Worker: creating the PlanetScale client, wrapping it in the PrismaPlanetScale driver adapter, and passing that adapter to a new PrismaClient, with the last line highlighted."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx b/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx
index 53d41d887d..a110c43fda 100644
--- a/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx
+++ b/apps/blog/content/blog/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma ORM v6.14.0, Relationships for SQL Views, More Robust Management API & More"
metaDescription: "We just released Prisma ORM v6.14.0 with the ability to define relations across views, a robust API for programmatically provisioning Prisma Postgres & more."
-metaImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta-20e5d5b2879055d3aba22acf59aaa6c37933050a-1266x711.png"
-heroImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero-72c1a4cbd495ed6f219e870b19056a529c5e03c7-844x474.svg"
+metaImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png"
+heroImagePath: "/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg"
+heroImageAlt: "An ink schema.prisma code card showing a view UserInfo block whose email field carries the @unique attribute, highlighted in cyan beside the headline 'Relations across SQL views'."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx b/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx
index 8f5149932f..c1b93eb847 100644
--- a/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx
+++ b/apps/blog/content/blog/prisma-orm-without-rust-latest-performance-benchmarks/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma ORM without Rust: Latest Performance Benchmarks"
metaDescription: "See the latest benchmarks for Prisma ORM's Rust-free architecture, including faster queries, smaller bundles, and what the TypeScript/WASM Query Compiler changes."
-metaImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta-8d83e1420faca85afbc7a1cf78f660374577d3f3-1266x711.png"
-heroImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero-be74183d9d749c0b17c850334f376711d8a44d22-844x474.svg"
+metaImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png"
+heroImagePath: "/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg"
+heroImageAlt: "A light cover showing the benchmark result for a findMany with a many-to-many include: 1539 ms on the Rust query engine struck through, and 136 ms Rust-free set in large type."
series: rust-to-typescript-migration-journey
seriesIndex: 5
tags:
diff --git a/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx b/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx
index 3f96c1a691..b5dca968df 100644
--- a/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx
+++ b/apps/blog/content/blog/prisma-postgres-free-during-early-access/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Shane Neubauer"
metaTitle: "Prisma Postgres is completely free during Early Access"
metaDescription: "We decided to make Prisma Postgres free to use during Early Access so everyone can try it"
-metaImagePath: "/prisma-postgres-free-during-early-access/imgs/meta-d6dcf60dd017e2368e87d826024499f7211d4ded-1200x630.png"
-heroImagePath: "/prisma-postgres-free-during-early-access/imgs/hero-c87f24556cf1217e813a4a9a08c62d7917484283-844x474.svg"
-heroImageAlt: "Prisma Postgres is completely free during Early Access"
+metaImagePath: "/prisma-postgres-free-during-early-access/imgs/meta.png"
+heroImagePath: "/prisma-postgres-free-during-early-access/imgs/hero.svg"
+heroImageAlt: "A timeline on light paper: the word Free above a solid yellow bar labelled Early Access, ending at a tick where a grey segment labelled Pricing arrives at GA, early 2025 begins."
---
Today we're making Prisma Postgres completely free during the Early Access period. We recognized from the community feedback that our pricing could be clearer. We want you to be able to try Prisma Postgres with no hesitations or concerns - so now you can!
diff --git a/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx b/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx
index 9b5e4aee12..6020f2bfbe 100644
--- a/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx
+++ b/apps/blog/content/blog/prisma-postgres-now-in-your-favorite-environment/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma Postgres: Now in Your Favorite Environment"
metaDescription: "Integrate Prisma Postgres in your Netlify site in less 5 minutes or quickly try it out without leaving your browser using the official Project IDX template."
-metaImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/meta-12d6d371f827870b3696b4175ace7b5f387987e0-1266x711.png"
-heroImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/hero-cd58c3a37787f4b995d9fad1134e4f51e697175d-844x474.svg"
+metaImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png"
+heroImagePath: "/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg"
+heroImageAlt: "A diagram where a Prisma Postgres card connects with yellow arrows to three environment tiles: Netlify, Project IDX, and a dashed Vercel Marketplace tile labeled coming soon."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx b/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx
index a41023233a..910d02a064 100644
--- a/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx
+++ b/apps/blog/content/blog/prisma-postgres-the-future-of-serverless-databases/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma Postgres: The Future of Serverless Databases"
metaDescription: "Prisma Postgres is finally ready for production! Built on unikernels, it enables a unique set of benefits like no cold starts, connection pooling, edge caching, & more!"
-metaImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/meta-53a4a10eec49b801af6538901c44b870e7d83404-1266x711.png"
-heroImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/hero-8c5b6c03a60ac2704f65689abf686ff4adfd6e67-844x474.svg"
+metaImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png"
+heroImagePath: "/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg"
+heroImageAlt: "Three stacked elliptical planes standing for a Prisma Postgres database, the top rim traced with the Prisma spectrum, beside the words No cold starts."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx b/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx
index 16ae92c4a7..822ceb31b7 100644
--- a/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx
+++ b/apps/blog/content/blog/prisma-preview-cockroach-db-release/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Prisma support for CockroachDB is now in Preview"
metaDescription: "Learn about the Preview release of the Prisma CockroachDB connector and the benefits of using Prisma with CockroachDB."
-metaImagePath: "/prisma-preview-cockroach-db-release/imgs/meta-77148d314c74789939fb2b2af2bf3f82378cebc0-1920x1080.png"
-heroImagePath: "/prisma-preview-cockroach-db-release/imgs/hero-ebf53ec190dab44f271d4f0dd1ad658507f55b66-844x474.svg"
-heroImageAlt: "Prisma support for CockroachDB is now in Preview"
+metaImagePath: "/prisma-preview-cockroach-db-release/imgs/meta.png"
+heroImagePath: "/prisma-preview-cockroach-db-release/imgs/hero.svg"
+heroImageAlt: "The Prisma schema datasource provider value cockroachdb set in oversized monospace type above the caption Preview in Prisma 3.9.0."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx b/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx
index e9cfb0c190..df5cb3e452 100644
--- a/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx
+++ b/apps/blog/content/blog/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Johannes Schickling"
metaTitle: "Prisma raises $4.5M to build a GraphQL access layer for all databases"
metaDescription: "Prisma raised $4.5M to build a GraphQL data layer for databases and shared the vision behind the company's next phase of product development."
-metaImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero-73c2e03277f2cceb9f6cc435356d4a7ab822ed5b-1200x630.png"
-heroImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero-73c2e03277f2cceb9f6cc435356d4a7ab822ed5b-1200x630.png"
-heroImageAlt: "Prisma raises $4.5M to build the GraphQL data layer for all databases"
+metaImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png"
+heroImagePath: "/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg"
+heroImageAlt: "The figure $4.5M set as a giant numeral on light paper lit by a soft red bloom, above the line “Seed round led by Kleiner Perkins”."
---
Today, we have some very exciting news to share: **We've raised a $4.5 million** seed round led by Kleiner Perkins and
diff --git a/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx b/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx
index 1f40dc167e..acf4cb0417 100644
--- a/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx
+++ b/apps/blog/content/blog/prisma-raises-series-a-saks1zr7kip6/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Prisma Raises $12M Series A to Build Next Generation of Database Tools"
metaDescription: "Prisma raised $12M in Series A funding to keep building the next generation of database tools for application developers."
-metaImagePath: "/prisma-raises-series-a-saks1zr7kip6/imgs/meta-c3234082c86092e77a0b0a840c32a3c9a44f3754-1252x630.png"
-heroImageAlt: "Building construction"
+metaImagePath: "/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png"
+heroImagePath: "/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg"
+heroImageAlt: "The figure $12M set large on a light paper surface, the dollar sign in prism yellow, captioned 'Led by Amplify Partners'."
---
With [Prisma 2.0 ready for production](https://www.prisma.io/blog/announcing-prisma-2-n0v98rzc8br1), we are excited to continue pursuing our mission of building the next generation of database tools for application developers. In this post, we'll share details about the funding and what it means for our community.
diff --git a/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx b/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx
index 251a5a0130..0a604c57c2 100644
--- a/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx
+++ b/apps/blog/content/blog/prisma-schema-language-the-best-way-to-define-your-data/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Jon Harrell"
metaTitle: "Prisma Schema Language: The Best Way to Define Your Data"
metaDescription: "Prisma Schema Language (PSL) is a declarative language for defining data models and relations. See how it compares to TypeScript-based schemas and why it works so well with AI coding tools."
-metaImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta-1da35c49cd47b8676c043fdaf86754f6c724f31e-1266x711.png"
-heroImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero-efd7f9391222815cdf5c0bb4d17f05ad6b649f70-844x474.svg"
+metaImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png"
+heroImagePath: "/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg"
+heroImageAlt: "A dark schema.prisma card on a light surface showing the User model in Prisma Schema Language, with the posts Post[] relation field highlighted in cyan."
---
Prisma Schema Language (PSL) is a declarative, domain-specific language for defining database schemas. You describe your models, fields, and relations in one readable schema, and Prisma ORM generates the migrations and a fully type-safe client from it. This post explains how PSL works and compares it to TypeScript-based schema definitions across simplicity, relationship modeling, collaboration, productivity, consistency, and AI integration.
diff --git a/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx b/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx
index d3c107db6e..ea578c5e59 100644
--- a/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx
+++ b/apps/blog/content/blog/prisma-sql-server-support-preview-a4anl2gd8d3a/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Preview Support for Microsoft SQL Server | Prisma 2.10"
metaDescription: "Prisma 2.10 added preview support for Microsoft SQL Server, expanding Prisma's database coverage for teams building with SQL Server."
-metaImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero-a14944906d95712a04317e2c17e35cef35fac770-846x426.png"
-heroImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero-a14944906d95712a04317e2c17e35cef35fac770-846x426.png"
-heroImageAlt: "Prisma 2.10 Adds Preview Support for Microsoft SQL Server"
+metaImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png"
+heroImagePath: "/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg"
+heroImageAlt: "A white card listing the databases Prisma Client supported at 2.10, PostgreSQL, MySQL, SQLite and MariaDB marked GA, with Microsoft SQL Server highlighted in prism cyan and marked Preview."
---
Today we are excited to expand the range of supported database providers with preview support of **Microsoft SQL Server**. [Try it out](https://github.com/prisma/prisma-examples/tree/latest/databases/sql-server) and let us know what you think!
diff --git a/apps/blog/content/blog/prisma-startup-program/index.mdx b/apps/blog/content/blog/prisma-startup-program/index.mdx
index 7a966e797f..a21cf4d116 100644
--- a/apps/blog/content/blog/prisma-startup-program/index.mdx
+++ b/apps/blog/content/blog/prisma-startup-program/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Shane Neubauer"
metaTitle: "Helping Founders Scale Faster and Build Smarter"
metaDescription: "The Prisma Startups Program gives early-stage teams credits, guidance, and support to build faster with Prisma Postgres and scalable database workflows."
-metaImagePath: "/prisma-startup-program/imgs/meta-63addacd981bca37aca44f2cb8e46109fb7f00ce-1266x711.png"
-heroImagePath: "/prisma-startup-program/imgs/hero-8e11313115c9b81a2482973c2046e817f6a0b101-844x474.svg"
-heroImageAlt: "Announcing the Prisma Startup Program"
+metaImagePath: "/prisma-startup-program/imgs/meta.png"
+heroImagePath: "/prisma-startup-program/imgs/hero.svg"
+heroImageAlt: "A large $10,000 numeral on light paper lit by a yellow bloom, labelled as Prisma Postgres credits for early-stage teams covering the database bill for up to a year."
---
At Prisma, we know that building a startup is an intense journey—one that requires focus, speed, and the right tools to scale. That’s why we’re excited to introduce the Prisma Startups Program, designed to help early-stage companies move fast, stay lean, and build scalable applications with ease.
diff --git a/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx b/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx
index 252577d99b..e41317c5a7 100644
--- a/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx
+++ b/apps/blog/content/blog/prisma-studio-3rtf78dg99fe/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Hervé Labas"
metaTitle: "A Visual Interface for Your Database | Prisma Studio"
metaDescription: "Prisma Studio is a visual database browser for viewing and editing application data, with filtering, pagination, and relation-aware workflows for Prisma projects."
-metaImagePath: "/prisma-studio-3rtf78dg99fe/imgs/meta-6c7061054a1005d0cdfebd5dd8e353b56091beb9-1692x852.png"
-heroImagePath: "/prisma-studio-3rtf78dg99fe/imgs/hero-cdf9e7b1b90248dde0b35f13b0f30afdf859edeb-870x439.png"
-heroImageAlt: "Prisma Studio - A Visual Interface for Your Database"
+metaImagePath: "/prisma-studio-3rtf78dg99fe/imgs/meta.png"
+heroImagePath: "/prisma-studio-3rtf78dg99fe/imgs/hero.svg"
+heroImageAlt: "A white data-grid card with the columns id, email, name and posts, where one cell in the name column is in edit focus with a cyan ring and a caret."
---
[Prisma Studio](https://github.com/prisma/studio) helps developers manage their application data. We're excited to share that it is now part of the stable Prisma release. Try out the [online demo](http://prisma.studio/) or connect it to your existing database.
diff --git a/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx b/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx
index 94c6a20f44..63a0ec8b33 100644
--- a/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx
+++ b/apps/blog/content/blog/prisma-the-complete-orm-inw24qjeawmb/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Prisma – The Complete ORM for Node.js & TypeScript"
metaDescription: "After more than two years of development, we are excited to share that all Prisma tools are ready for production."
-metaImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/meta-67f18c89e81a4b74c9be5ee10cee19de1033a62e-1692x852.png"
-heroImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/hero-b1d4c8cd672457585505b61a7d6a73c0d6a9c37e-870x438.png"
-heroImageAlt: "The Complete ORM for Node.js & TypeScript"
+metaImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png"
+heroImagePath: "/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg"
+heroImageAlt: "One schema.prisma file enters a prism and is refracted into three labelled beams: Prisma Client, Prisma Migrate and Prisma Studio."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx b/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx
index 158a5bea09..cacefdb2ec 100644
--- a/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx
+++ b/apps/blog/content/blog/prisma-turso-ea-support-rXGd_Tmy3UXX/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "SQLite on the Edge: Prisma Support for Turso is in Early Access"
metaDescription: "Prisma support for Turso is now in Early Access, enabling you to bring SQLite closer to your users. Try it out!"
-metaImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta-c9c3aaf0efdf8abb7b2e576e7da9e728058bf1bd-1200x675.png"
-heroImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero-95bd2c2570955da7f55308c6531d0e28e6ed262d-844x475.svg"
-heroImageAlt: "SQLite on the Edge: Prisma Support for Turso is in Early Access"
+metaImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png"
+heroImagePath: "/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg"
+heroImageAlt: "A three-step flow on light paper reading Prisma Client, then the highlighted PrismaLibSQL driver adapter, then Turso's edge-hosted libSQL, with the adapter-to-Turso hop labelled over HTTP."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx b/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx
index 52b61fe4b1..b59b170351 100644
--- a/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx
+++ b/apps/blog/content/blog/read-replicas-prisma-client-extension-f66prwk56wow/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Introducing the Read Replicas Extension for Prisma Client"
metaDescription: "Distribute read traffic across replicas using the new read replicas extension for Prisma Client."
-metaImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta-c31e5ccdacb3cf0cffd480480c7d6f19950f8eca-1266x711.png"
-heroImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero-a717625cf0bcb939c62e28aa934c650dfb597df6-844x474.svg"
-heroImageAlt: "Introducing the Read Replicas Extension for Prisma Client"
+metaImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png"
+heroImagePath: "/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg"
+heroImageAlt: "A diagram in which Prisma Client sends read queries along two cyan arrows to two replica cards and write queries along a grey arrow to a primary database card."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx b/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx
index a67654c483..10f650300c 100644
--- a/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx
+++ b/apps/blog/content/blog/relay-moderns-connection-directive-1ecd8322f5c8/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Relay Modern’s @connection directive | Prisma"
metaDescription: "Learn how Relay Modern's @connection directive works and how it helps manage pagination and cache behavior in client apps."
-metaImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero-d77cd8556b1e37826824d5a4feb83f16ea5b35b7-720x385.png"
-heroImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero-d77cd8556b1e37826824d5a4feb83f16ea5b35b7-720x385.png"
-heroImageAlt: "Relay Modern"
+metaImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png"
+heroImagePath: "/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg"
+heroImageAlt: "A dark code card showing two lines from Relay Modern's Todo example: the todos field annotated with @connection(key: \"TodoList_todos\") in TodoList.js, and ConnectionHandler.getConnection(userProxy, 'TodoList_todos') in AddTodoMutation.js, with the shared cache key highlighted in both."
---
The @connection directive is new to Relay Modern and unfortunately doesn’t have any official documentation. In this
diff --git a/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx b/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx
index 052535cb0c..24ddf26f2a 100644
--- a/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx
+++ b/apps/blog/content/blog/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Relay vs Apollo - Comparison of GraphQL clients for React apps"
metaDescription: "Compare Relay and Apollo for React GraphQL apps, including their tradeoffs in caching, tooling, and developer experience."
-metaImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero-bec4b18f6f63be54e12c792608ca39e7793a9216-900x482.png"
-heroImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero-bec4b18f6f63be54e12c792608ca39e7793a9216-900x482.png"
-heroImageAlt: "Relay vs Apollo "
+metaImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png"
+heroImagePath: "/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg"
+heroImageAlt: "A comparison card contrasting Relay and Apollo across flexibility, difficulty, frameworks and subscriptions, with the flexibility row highlighted in yellow."
---
Relay and Apollo are the most popular and sophisticated GraphQL clients available at the moment. But how do you know
diff --git a/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx b/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx
index 9eca623ee0..bf2e4522ed 100644
--- a/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx
+++ b/apps/blog/content/blog/restructure-announcement-1a9ek279du8j/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Søren Bramer Schmidt"
metaTitle: "Restructuring Prisma"
metaDescription: "Restructuring Prisma"
-metaImagePath: "/restructure-announcement-1a9ek279du8j/imgs/meta-8f493f2942862133572d5da0ff85cfc0f6980c42-1266x712.png"
-heroImagePath: "/restructure-announcement-1a9ek279du8j/imgs/hero-6cee39353188494b1c1877524e073b4f7c27f4b7-844x474.svg"
-heroImageAlt: "Restructuring Prisma"
+metaImagePath: "/restructure-announcement-1a9ek279du8j/imgs/meta.png"
+heroImagePath: "/restructure-announcement-1a9ek279du8j/imgs/hero.svg"
+heroImageAlt: "The full-colour Prisma lockup centred on paper above a hairline rule, with a soft prism wash along the lower edge."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx b/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx
index 5988533df5..7c835633ca 100644
--- a/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx
+++ b/apps/blog/content/blog/rust-free-prisma-orm-is-ready-for-production/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Rust-free Prisma ORM is Ready for Production, ORM v16.6.0 & More"
metaDescription: "The future of Prisma ORM is here: The Rust-free version of Prisma ORM and the ESM-first prisma-client generator are both Generally Available in v6.16.0."
-metaImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/meta-9c1f5eb2a51fc9c54ed069779bcc76e5eb0af5d4-1266x711.png"
-heroImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/hero-a6f1588362b51200aac9693f9c331101d6b397d1-844x474.svg"
-heroImageAlt: "Visual for 6.16.0"
+metaImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png"
+heroImagePath: "/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg"
+heroImageAlt: "The figure ~90% set large, labelled as the bundle-size reduction from removing the Rust engine from Prisma ORM"
series: rust-to-typescript-migration-journey
seriesIndex: 6
tags:
diff --git a/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx b/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx
index 0ba80e374c..e8d98217f4 100644
--- a/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx
+++ b/apps/blog/content/blog/rust-to-typescript-update-boosting-prisma-orm-performance/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Will Madden"
metaTitle: "Rust to TypeScript Update: Boosting Prisma ORM Performance"
metaDescription: "A blog post showing how the new Query Compiler project, where the Prisma query engine is being re-written from Rust to TypeScript, is improving performance."
-metaImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta-a0def58926eae703ce0eccf28d5df589a2c5bc05-1266x711.png"
-heroImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero-508e044038cf37bd9138323288a3d8b5be57ca63-844x474.svg"
+metaImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png"
+heroImagePath: "/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg"
+heroImageAlt: "A two-column chart comparing the same findMany benchmark over 25,000 records: 185 ms on the Rust query engine against 55 ms on the Query Compiler, 3.4 times faster."
series: rust-to-typescript-migration-journey
seriesIndex: 2
---
diff --git a/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx b/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx
index 3a7e31ed7d..370fce5317 100644
--- a/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx
+++ b/apps/blog/content/blog/satisfies-operator-ur8ys8ccq7zb/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Stephen King"
metaTitle: "How TypeScript 4.9 `satisfies` Your Prisma Workflows"
metaDescription: "Learn how TypeScript 4.9''s new `satisfies` operator can help you write type-safe code with Prisma"
-metaImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/meta-5c8b99ea1a4d8c800d3bdeb71a4734c95d56d6c4-1270x715.png"
-heroImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/hero-2bc010b9062230164bcd686cf3416266fd0ece1f-843x474.svg"
-heroImageAlt: "How TypeScript 4.9 `satisfies` Your Prisma Workflows"
+metaImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png"
+heroImagePath: "/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg"
+heroImageAlt: "An ink code card showing a Prisma select object typed with the TypeScript 4.9 satisfies operator, with the satisfies keyword picked out in cyan."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx b/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx
index af4e55f716..119095235d 100644
--- a/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx
+++ b/apps/blog/content/blog/saving-black-friday-with-connection-pooling/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Handle high load on Black Friday with Prisma Accelerate"
metaDescription: "Ensure stability and performance during high traffic periods with Prisma Accelerate's connection pooling"
-metaImagePath: "/saving-black-friday-with-connection-pooling/imgs/meta-6d20845cc06f6ca9bb7babc20be49a42b22c3dd0-1200x630.png"
-heroImagePath: "/saving-black-friday-with-connection-pooling/imgs/hero-038b90e253764d69963a9b4ef3891d95fe6bbaa2-844x474.svg"
-heroImageAlt: "Chart displaying peak load on servers during Black Friday"
+metaImagePath: "/saving-black-friday-with-connection-pooling/imgs/meta.png"
+heroImagePath: "/saving-black-friday-with-connection-pooling/imgs/hero.svg"
+heroImageAlt: "A diagram of seven serverless function tiles fanning into a single connection pool card labelled Prisma Accelerate, which sends one pooled connection on to a PostgreSQL volume."
tags:
- "platform"
---
diff --git a/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx b/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx
index e1da87bbaf..1f0b3bada2 100644
--- a/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx
+++ b/apps/blog/content/blog/securely-access-prisma-postgres-from-the-frontend-early-access/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Securely Access Prisma Postgres from the Frontend (Early Access)"
metaDescription: "Define security rules for Prisma Postgres in TypeScript and securely talk to your database directly from your React, Vue, Svelte, or any other frontend apps."
-metaImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta-386582d6124851db648d76377cab73647fcd1fdb-1266x711.png"
-heroImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero-13e2df77207c89a8c1ef8564e21b5efca86a55a3-844x474.svg"
+metaImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png"
+heroImagePath: "/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg"
+heroImageAlt: "An ink code card holding the defineRules configuration from the post, with the line returning isAuthenticated(context.userId) highlighted in Postgres yellow, beside the words Rules, not secrets."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx b/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx
index ebebcc5885..82661e4799 100644
--- a/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx
+++ b/apps/blog/content/blog/series-b-announcement-v8t12ksi6x/index.mdx
@@ -8,9 +8,9 @@ authors:
- "Hervé Labas"
metaTitle: "Prisma Raises $40M to Build the Application Data Platform for Development Teams & Organizations"
metaDescription: "We are excited to announce that we have raised our Series B funding. Read this article to learn more about our vision of an Application Data Platform built for development teams and organizations."
-metaImagePath: "/series-b-announcement-v8t12ksi6x/imgs/meta-d0fb3a031df9c776e2ca156ac0a8a297c9340574-1267x711.png"
-heroImagePath: "/series-b-announcement-v8t12ksi6x/imgs/hero-947eaa8ea58c544f00d8eff50fa587e2e10932cb-844x474.svg"
-heroImageAlt: "Prisma Raises $40M to Build the Application Data Platform"
+metaImagePath: "/series-b-announcement-v8t12ksi6x/imgs/meta.png"
+heroImagePath: "/series-b-announcement-v8t12ksi6x/imgs/hero.svg"
+heroImageAlt: "The Series B round size, $40M, set as a giant numeral on paper with the label led by Altimeter, and the Prisma logo's three prism stripes crossing the bottom-right corner."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx b/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx
index 5debf9c8c8..09c0b7b76c 100644
--- a/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx
+++ b/apps/blog/content/blog/serverless-database-drivers-KML1ehXORxZV/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Jon Harrell"
metaTitle: "Support for Serverless Database Drivers in Prisma ORM Is Now in Preview"
metaDescription: "Prisma support for JavaScript-based serverless database drivers is now in Preview, enabling you to connect to Neon and PlanetScale via HTTP and WebSockets."
-metaImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/meta-216c379698ad6fde0769ab278a33890eecc24240-1266x711.png"
-heroImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/hero-57908d058c349573b2f17ef889d25a23a427b0e2-844x474.svg"
-heroImageAlt: "Support for Serverless Database Drivers in Prisma ORM Is Now in Preview"
+metaImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png"
+heroImagePath: "/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg"
+heroImageAlt: "A three-node flow running from Prisma Client through a driver adapter to Neon and PlanetScale, with the final hop labelled HTTP / WebSocket."
tags:
- "orm"
- "announcement"
diff --git a/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx b/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx
index dc2c23162d..14cd9e7af8 100644
--- a/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx
+++ b/apps/blog/content/blog/state-of-prisma-2-december-rcrwcqyu655e/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Update on the State of Prisma 2 (December 2019)"
metaDescription: "Get the December 2019 Prisma 2 roadmap update, including timeline changes and expected production-ready releases."
-metaImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero-9f370997d51d3a43686ee7fc9e492dc1d54d197c-1200x630.png"
-heroImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero-9f370997d51d3a43686ee7fc9e492dc1d54d197c-1200x630.png"
-heroImageAlt: "State of Prisma 2 (December 2019)"
+metaImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png"
+heroImagePath: "/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg"
+heroImageAlt: "A roadmap card listing Photon.js for Q1 2020, Lift for Q2 2020, and Prisma 2 tooling for mid 2020."
---
We introduced the first Preview version of Prisma 2 in June earlier this year. Today, we are excited to share an updated timeline for Prisma 2 and the expected production-ready releases.
diff --git a/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx b/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx
index 75fc3c4c1a..ab42605f1b 100644
--- a/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx
+++ b/apps/blog/content/blog/studio-for-prisma-postgres-view-and-edit-your-data-online/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Studio for Prisma Postgres: View and Edit Your Data Online"
metaDescription: "Prisma Studio is now available in the Platform Console for Prisma Postgres databases. It’s the easiest way to explore and manipulate the data in your Prisma Postgres instance."
-metaImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta-ad1ac68a3b55942c10ba0e35763322f77a8173cd-1266x711.png"
-heroImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero-b9eb48224460d3dd63221a55e6322efd9f81e833-844x474.svg"
+metaImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png"
+heroImagePath: "/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg"
+heroImageAlt: "A stack of white database planes with its top plane lifted away and tinted Postgres yellow, carrying three record bars, beside the line 'Your data, in the browser'."
tags:
- "announcement"
- "platform"
diff --git a/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx b/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx
index ba11b3ecd1..1b3b44f268 100644
--- a/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx
+++ b/apps/blog/content/blog/sveltekit-prisma-kvCOEoeQlC/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sonia Lomo"
metaTitle: "Adding Database Access to your SvelteKit App with Prisma"
metaDescription: "Learn how you can interact with a database from a SvelteKit application using Prisma."
-metaImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/meta-b2a7a9354acfb2927aec03119e98cf6e5c04271b-1266x712.png"
-heroImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/hero-b3ac03355cfac30be65afcc3da2556f9cb07cbdd-844x478.svg"
-heroImageAlt: "Adding Database Access to your SvelteKit App with Prisma"
+metaImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png"
+heroImagePath: "/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg"
+heroImageAlt: "A dark code card on light paper showing a SvelteKit +page.server.ts load function that queries published posts with Prisma Client."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx b/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx
index e364fd5cb6..4b5d5768f4 100644
--- a/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx
+++ b/apps/blog/content/blog/testing-series-1-8eRB5p0Y8o/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Sabin Adams"
metaTitle: "Mock Prisma Client for Unit Tests (Prisma 7 + Vitest)"
metaDescription: "How to mock Prisma Client with Vitest and vitest-mock-extended so you can unit test database code without a real database. Verified on Prisma ORM 7.8."
-metaImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/meta-4fe84c71772f90f758778c5a9f5e6db96af0efd2-1266x712.png"
-heroImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/hero-c96c41c8c5f42d2c52751fac51563dbc8f01b52c-844x474.svg"
-heroImageAlt: "The Ultimate Guide to Testing with Prisma: Mocking Prisma Client"
+metaImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/meta.png"
+heroImagePath: "/testing-series-1-8eRB5p0Y8o/imgs/hero.svg"
+heroImageAlt: "An ink code card showing the manual Prisma Client mock file, with the mockDeep call that returns the deep-mocked client highlighted in cyan."
series: testing-with-prisma
seriesIndex: 1
tags:
diff --git a/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx b/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx
index d342874ed4..07ec02723d 100644
--- a/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx
+++ b/apps/blog/content/blog/testing-series-2-xPhjjmIEsM/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Sabin Adams"
metaTitle: "Unit Testing Prisma Code with Vitest (Prisma 7)"
metaDescription: "How to unit test functions that use Prisma ORM with Vitest: what to test, what to skip, and how to use a mocked client. Verified on Prisma 7.8 and Vitest 4."
-metaImagePath: "/testing-series-2-xPhjjmIEsM/imgs/meta-5b092626852ebeccdc7962534c6e45d87869900d-1266x712.png"
-heroImagePath: "/testing-series-2-xPhjjmIEsM/imgs/hero-c9711528e68bdd2e62b432a8fad0f7e6f4859ede-844x474.svg"
-heroImageAlt: "The Ultimate Guide to Testing with Prisma: Unit Testing"
+metaImagePath: "/testing-series-2-xPhjjmIEsM/imgs/meta.png"
+heroImagePath: "/testing-series-2-xPhjjmIEsM/imgs/hero.svg"
+heroImageAlt: "A two-column ledger on light paper: tags.service.ts sits under a cyan-ruled Unit test heading, while quotes.router.ts and quotes.service.ts sit under Skip."
series: testing-with-prisma
seriesIndex: 2
tags:
diff --git a/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx b/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx
index 91323d55a1..0d26510f5a 100644
--- a/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx
+++ b/apps/blog/content/blog/testing-series-3-aBUyF8nxAn/index.mdx
@@ -7,8 +7,9 @@ authors:
- "Sabin Adams"
metaTitle: "Integration Testing Prisma with Vitest & Postgres"
metaDescription: "How to integration test a Prisma ORM API against a real database with Vitest and Supertest, using a local Prisma Postgres. Verified on Prisma 7.8, Vitest 4."
-heroImagePath: "/testing-series-3-aBUyF8nxAn/imgs/hero-d60da664991c33bbb498244fe0303813fad6a657-844x474.svg"
-heroImageAlt: "The Ultimate Guide to Testing with Prisma: Integration Testing"
+metaImagePath: "/testing-series-3-aBUyF8nxAn/imgs/meta.png"
+heroImagePath: "/testing-series-3-aBUyF8nxAn/imgs/hero.svg"
+heroImageAlt: "A database drawn as stacked planes inside a cyan loop arrow, labelled resetDb() runs before every test."
series: testing-with-prisma
seriesIndex: 3
tags:
diff --git a/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx b/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx
index a7e97572ce..8a5325e498 100644
--- a/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx
+++ b/apps/blog/content/blog/testing-series-4-OVXtDis201/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Sabin Adams"
metaTitle: "End-to-End Testing Prisma Apps with Playwright"
metaDescription: "How to write end-to-end tests for a Prisma ORM app with Playwright, using page objects, fixtures, and Prisma Client for cleanup. Verified on Prisma 7.8."
-metaImagePath: "/testing-series-4-OVXtDis201/imgs/meta-b984941339322c22e27db8dae8010454522fba88-1266x712.png"
-heroImagePath: "/testing-series-4-OVXtDis201/imgs/hero-205e6248fbc41a4e2b56b77d5a68ccc8e67742db-844x474.svg"
-heroImageAlt: "The Ultimate Guide to Testing with Prisma: End-To-End Testing"
+metaImagePath: "/testing-series-4-OVXtDis201/imgs/meta.png"
+heroImagePath: "/testing-series-4-OVXtDis201/imgs/hero.svg"
+heroImageAlt: "A Playwright reporter panel listing the five passing end-to-end authentication tests the article writes in auth.spec.ts."
series: testing-with-prisma
seriesIndex: 4
tags:
diff --git a/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx b/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx
index a8a27dd926..4fe5cfe686 100644
--- a/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx
+++ b/apps/blog/content/blog/testing-series-5-xWogenROXm/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Sabin Adams"
metaTitle: "CI for Prisma Tests with GitHub Actions (Prisma 7)"
metaDescription: "How to run Prisma ORM unit, integration, and end-to-end tests in a GitHub Actions CI pipeline with a Postgres service. Verified with current action versions."
-metaImagePath: "/testing-series-5-xWogenROXm/imgs/meta-1688da94cebe335c8252420b638b7dfa43b135f2-1267x712.png"
-heroImagePath: "/testing-series-5-xWogenROXm/imgs/hero-1f810a93209524174c2aefb95145a831d4c0fd34-844x474.svg"
-heroImageAlt: "The Ultimate Guide to Testing with Prisma: CI Pipelines"
+metaImagePath: "/testing-series-5-xWogenROXm/imgs/meta.png"
+heroImagePath: "/testing-series-5-xWogenROXm/imgs/hero.svg"
+heroImageAlt: "A flow diagram under the headline \"Tested before merge\": a pull_request node fans out into three GitHub Actions job tiles — unit-tests with no database, integration-tests on postgres:17, and e2e-tests on postgres:17 with Playwright."
series: testing-with-prisma
seriesIndex: 5
tags:
diff --git a/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx b/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx
index 02c881774e..e3c8e29cd2 100644
--- a/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx
+++ b/apps/blog/content/blog/the-guild-takes-over-oss-libraries-vvluy2i4uevs/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Uri Goldshtein"
metaTitle: "Prisma Hands The Guild the Maintenance of the GraphQL CLI"
metaDescription: "The Guild took over development of GraphQL CLI and related libraries, helping ensure their continued growth and maintenance."
-metaImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero-9955207df52f4ccd9dd7985866c84af54806940a-1200x630.png"
-heroImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero-9955207df52f4ccd9dd7985866c84af54806940a-1200x630.png"
-heroImageAlt: "The Guild Takes over Development of the GraphQL CLI & Other Libraries"
+metaImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png"
+heroImagePath: "/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg"
+heroImageAlt: "The package names graphql-cli, graphql-config, graphql-import and graphql-binding bracketed together with an arrow pointing to their new maintainer, The Guild"
---
[The Guild](http://the-guild.dev) is known for their GraphQL expertise. We are excited that they're taking over development of our open source libraries [`graphql-cli`](https://github.com/graphql-cli/graphql-cli/), [`graphql-config`](https://github.com/prisma/graphql-config), [`graphql-import`](https://github.com/prisma/graphql-import) and [`graphql-binding`](https://github.com/graphql-binding/graphql-binding).
diff --git a/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx b/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx
index 5a5f35d095..a4a5c16e11 100644
--- a/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx
+++ b/apps/blog/content/blog/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "The Problems of \"Schema-First\" GraphQL Server Development | Prisma"
metaDescription: "Explore the limitations of schema-first GraphQL server development and the case for code-first alternatives like GraphQL Nexus."
-metaImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta-72943771e4be50e26d645130d640c20a4deb48ee-1200x630.png"
-heroImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero-91c07e1fd19a7c0ebdd6e970c354bb8d7630a23c-870x457.png"
-heroImageAlt: "The Problems of \"Schema-First\" GraphQL Server Development"
+metaImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png"
+heroImagePath: "/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg"
+heroImageAlt: "A two-row card contrasting SDL-first, where schema.graphql is written first and resolvers must match it, with code-first, where resolver code comes first and schema.graphql is a generated artifact."
series: graphql-nexus
seriesIndex: 1
---
diff --git a/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx b/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx
index bcc1314f08..f05aaa977a 100644
--- a/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx
+++ b/apps/blog/content/blog/top-5-myths-about-prisma-orm/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Top 5 Myths about Prisma ORM"
metaDescription: "Discover the truth behind five common misconceptions about Prisma ORM. In this article, we debunk the myths, explore their origins, and separate fact from fiction."
-metaImagePath: "/top-5-myths-about-prisma-orm/imgs/meta-7dcace1c4f6f1438c4416c8452417872dafe3b1c-1266x711.png"
-heroImagePath: "/top-5-myths-about-prisma-orm/imgs/hero-24e01331d58f1130f12dd51ee84be1895a19a847-844x474.svg"
+metaImagePath: "/top-5-myths-about-prisma-orm/imgs/meta.png"
+heroImagePath: "/top-5-myths-about-prisma-orm/imgs/hero.svg"
+heroImageAlt: "A numbered list of the five myths the article debunks, each line struck through with a cyan rule on light paper."
tags:
- "education"
- "orm"
diff --git a/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx b/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx
index 0ecc829706..4eeb031297 100644
--- a/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx
+++ b/apps/blog/content/blog/top-5-reasons-to-use-graphql-b60cfa683511/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "5 Top Reasons Why and How to Use GraphQL | Prisma"
metaDescription: "Learn five reasons to use GraphQL and how it can improve flexibility, developer experience, and API efficiency."
-metaImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero-646eacc9490ba67cda9493f1e1c959da2090a2ee-1350x900.png"
-heroImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero-646eacc9490ba67cda9493f1e1c959da2090a2ee-1350x900.png"
-heroImageAlt: "Reasons to use GraphQL | Top 5 Reasons Why and How to use GraphQL"
+metaImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png"
+heroImagePath: "/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg"
+heroImageAlt: "A white card standing in for a REST profile endpoint: name and birthday are kept in ink while address and billing are struck through in prism red as overfetched data."
---
GraphQL is becoming the new standard for API development — learn the top reasons why in this article.
diff --git a/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx b/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx
index a736f69dac..308d443f5d 100644
--- a/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx
+++ b/apps/blog/content/blog/tracing-launch-announcement-pmk4rlpc0ll/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "Prisma Support for Tracing and Metrics Is Now in Preview"
metaDescription: "We are excited to launch two new features in Preview: Tracing and Metrics. Try them out and let us know what you think!"
-metaImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta-3de44ed88cad8c1704a9b1a43f9f355478c23714-1692x952.png"
-heroImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero-e70fb09d875e161b9445bd00b298b6264d85362a-844x474.svg"
-heroImageAlt: "Prisma Support for Tracing and Metrics Is Now in Preview"
+metaImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png"
+heroImagePath: "/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg"
+heroImageAlt: "A trace waterfall on light paper: a 10 ms Prisma query bar above a nested 7 ms Prisma engine bar and two cyan-outlined 3 ms database query bars."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx b/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx
index 8a2ef725ca..a36d91960d 100644
--- a/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx
+++ b/apps/blog/content/blog/tracing-tutorial-prisma-pmkddgq1lm2/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Tasin Ishmam"
metaTitle: "Monitor Your Server with Tracing Using OpenTelemetry & Prisma"
metaDescription: "This tutorial will help you to get started with Prisma's tracing feature and OpenTelemetry in Node.js. Learn how to integrate tracing and OpenTelemetry into a web server built with Express and Prisma."
-metaImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta-5d370d0add518302e58ef25004916ad409e53ac8-2538x1428.png"
-heroImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero-fd54935bd567302a6c1d9764d103fbe9d691fe99-844x474.svg"
-heroImageAlt: "Monitor Your Server with Tracing Using OpenTelemetry & Prisma"
+metaImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png"
+heroImagePath: "/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg"
+heroImageAlt: "A three-row span waterfall showing the root span GET /users/random, the nested prisma.user.findmany span highlighted in cyan, and its prisma:engine child."
tags:
- "education"
- "orm"
diff --git a/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx b/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx
index 2b65e682b3..eb50021327 100644
--- a/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx
+++ b/apps/blog/content/blog/try-prisma-announcment-Kv6bwRcdjd/index.mdx
@@ -8,7 +8,7 @@ metaTitle: "Try Prisma: The Fastest Way to Explore Prisma Examples"
metaDescription: "Announcing: Try Prisma. A CLI utility that allows you to easily set up and try out an example projects using Prisma."
metaImagePath: "/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png"
heroImagePath: "/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg"
-heroImageAlt: "Try Prisma: The Fastest Way to Explore Prisma Examples"
+heroImageAlt: "The command npx try-prisma set in large monospace type on light paper with a cyan cursor block, above three prisma-examples project paths: javascript/graphql, typescript/rest-nestjs and typescript/grpc."
tags:
- "announcement"
- "orm"
diff --git a/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx b/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx
index 102325bd2e..b7d05a79f9 100644
--- a/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx
+++ b/apps/blog/content/blog/try-the-new-rust-free-version-of-prisma-orm-early-access/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Try the New \"Rust-free\" Version of Prisma ORM (Early Access)"
metaDescription: "Try the early-access Rust-free version of Prisma ORM and learn how the new TypeScript/WASM architecture improves performance, deployments, and runtime compatibility."
-metaImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta-ff0b26daee0a92c1135e8397f9af50c91aec798c-1266x711.png"
-heroImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero-72705c07c42651a759db9aab07ea8a062c671a46-844x474.svg"
+metaImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png"
+heroImagePath: "/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg"
+heroImageAlt: "Two squares scaled by area compare the Prisma ORM bundle: a large pale square labelled 14 MB with Rust engines, and a small cyan square inside it labelled 1.6 MB with the query compiler."
series: rust-to-typescript-migration-journey
seriesIndex: 3
tags:
diff --git a/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx b/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx
index 10a1e69ac2..40a8d4a7db 100644
--- a/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx
+++ b/apps/blog/content/blog/tryg-customer-story-pdmdrRhTupvd/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Vladi Stevanovic"
metaTitle: "How Tryg transforms billions of records from different data sources, and expose a single data model via GraphQL and Prisma."
metaDescription: "Prisma was a critical technology that enabled Tryg to democratize billions of records from different data sources, through the Tryg 360 platform."
-metaImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/meta-4b9d0487846e751fc30531dc46b2e3edb1700df1-1692x852.png"
-heroImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/hero-efb10e8cb1102a57b7c9d1b71e7120cf47a8f068-846x426.png"
-heroImageAlt: "How Tryg has leveraged Prisma to democratize data"
+metaImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png"
+heroImagePath: "/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg"
+heroImageAlt: "A merge diagram under the words 'Many sources, one data model': five hairline streams labelled 'Billions of records' converge into a cyan card reading 'Canonical model / schema.prisma', which feeds one arrow into a card reading 'GraphQL API / generated resolvers'."
tags:
- "case-study"
---
diff --git a/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx b/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx
index d2cd15f868..a7dc5d513f 100644
--- a/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx
+++ b/apps/blog/content/blog/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Build a Realtime GraphQL Server with Subscriptions | Prisma"
metaDescription: "Learn how to build a realtime GraphQL server with subscriptions so clients can receive live event updates."
-metaImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero-781be5bd42b889008892c3564dc6bc915c33581f-2000x1050.png"
-heroImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero-781be5bd42b889008892c3564dc6bc915c33581f-2000x1050.png"
-heroImageAlt: "Tutorial: Building a Realtime GraphQL Server with Subscriptions"
+metaImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png"
+heroImagePath: "/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg"
+heroImageAlt: "Two diagrams on light paper: in the query or mutation lane a client and server exchange a request and a single response; in the subscription lane a dashed long-lived connection stays open while red event markers are pushed back to the client, labelled CREATED, UPDATED, DELETED."
---
GraphQL subscriptions allow clients to receive realtime updates from a GraphQL API upon specific events.
diff --git a/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx b/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx
index 6558681b7d..68f560b5c2 100644
--- a/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx
+++ b/apps/blog/content/blog/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "How to Render Props in React Apollo 2.1 | Prisma"
metaDescription: "Learn how to use the React Apollo 2.1 render props API in a full-stack GraphQL tutorial."
-metaImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta-e2111dc3b582d8715d9835a48db4976a57f2b859-1200x630.png"
-heroImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero-f130ef1313ac6bbb52267050f3cbc5bc83839911-870x457.svg"
-heroImageAlt: "Tutorial: Render Props in React Apollo 2.1"
+metaImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png"
+heroImagePath: "/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg"
+heroImageAlt: "Large type on a light background reading “A prop whose value is a function”, with “a function” in red, above a mono line listing the Query, Mutation and Subscription components."
---
A new version of the React Apollo client has been released. Learn how to use the new API in this fullstack tutorial.
diff --git a/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx b/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx
index 45efb4465e..971c79ba0d 100644
--- a/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx
+++ b/apps/blog/content/blog/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Using `create-react-native-app` with GraphQL & Apollo | Prisma"
metaDescription: "Learn how to build an Instagram-style React Native app with Create React Native App, GraphQL, and Apollo."
-metaImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero-a83dd1e60398f33faecaec5abe5adc37027f5811-400x711.png"
-heroImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero-a83dd1e60398f33faecaec5abe5adc37027f5811-400x711.png"
-heroImageAlt: "GraphQL & Apollo"
+metaImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png"
+heroImagePath: "/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg"
+heroImageAlt: "An ink code card holding the tutorial's Apollo feed query, allPosts sorted by createdAt_DESC returning id, imageUrl and description."
---
The easiest way to get started with React Native apps that are using a GraphQL backend is with create-react-native-app
diff --git a/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx b/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx
index 5b2df73d1e..b445872a6a 100644
--- a/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx
+++ b/apps/blog/content/blog/tweets-for-trees-arboreal/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Etel Sverdlov"
metaTitle: "Planting trees from tweets about Prisma in April"
metaDescription: "With Earth Day coming up on the 22nd, Prisma will be planting a tree for every tweet about Prisma we see in April"
-metaImagePath: "/tweets-for-trees-arboreal/imgs/meta-f097a759f1bb95dac6e0f9d1eda6ce54cfa3ff6d-1688x845.png"
-heroImagePath: "/tweets-for-trees-arboreal/imgs/hero-ab93d4111f5adff9a31064f60ab98d64c16d07ad-844x423.svg"
-heroImageAlt: "Announcing Tweets for Trees"
+metaImagePath: "/tweets-for-trees-arboreal/imgs/meta.png"
+heroImagePath: "/tweets-for-trees-arboreal/imgs/hero.svg"
+heroImageAlt: "A geometric tree of three stacked triangles in the Prisma prism colours stands on a ground line beside the line \"One tweet, one tree\"."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx b/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx
index ed9b0b778d..2a3b1bcc3c 100644
--- a/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx
+++ b/apps/blog/content/blog/type-safe-js-with-jsdoc-typeSaf3js/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "Type-safe JavaScript with JsDoc"
metaDescription: "JsDoc is a great tool for documenting code and providing type-safety in your JavaScript project without any additional configuration. Learn what JsDoc is, how it works, the benefits it provides, and how to use it in your project."
-metaImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta-e05807a6755ea2fc83cd43cbab1505eb11f517be-1692x852.png"
-heroImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero-98db3908d18a149cca2bec7d980182d69a7d540c-870x438.png"
-heroImageAlt: "Type-safe JavaScript with JsDoc"
+metaImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png"
+heroImagePath: "/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg"
+heroImageAlt: "A single JsDoc annotation set as large mono type: /** @type {string} */ above a plain let firstName declaration, with @type in prism cyan."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx b/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx
index 80b8dd10b0..2e16a5d13f 100644
--- a/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx
+++ b/apps/blog/content/blog/using-graphql-nexus-with-a-database-pmyl3660ncst/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "How to Use GraphQL Nexus with a Database | Prisma"
metaDescription: "Learn how to connect GraphQL Nexus to a database with Prisma Client and the Nexus Prisma plugin."
-metaImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero-d5d2d2a170d84629937a237d833679a49653a117-1200x630.png"
-heroImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero-d5d2d2a170d84629937a237d833679a49653a117-1200x630.png"
-heroImageAlt: "Using GraphQL Nexus with a Database"
+metaImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png"
+heroImagePath: "/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg"
+heroImageAlt: "An ink code card on paper showing the article's nexus-prisma snippet, with the line 'definition: t => t.prismaFields([*])' picked out by a prism-red highlight row."
series: graphql-nexus
seriesIndex: 3
---
diff --git a/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx b/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx
index 8d1cb03e17..2b5b24d6d4 100644
--- a/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx
+++ b/apps/blog/content/blog/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "Vibe Coding with Limits — How to Build Apps in the Age of AI"
metaDescription: "Discover how developers can use AI coding tools to build robust, maintainable software without sacrificing quality."
-metaImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta-636ed67ba959f1fcdac2f9a90eea7d34d0f1c73a-1266x711.png"
-heroImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero-08d54d27c0d490c7c307f17867861478d442505f-844x474.svg"
+metaImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png"
+heroImagePath: "/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg"
+heroImageAlt: "A horizontal scale of AI coding tools running from AI-assisted coding through prompt-first tools to no-code platforms, with the cyan accent fading as abstraction rises."
---
Software development is evolving fast with the rise of AI coding tools. This article explores how developers can harness their speed and power without losing control — and why understanding your code still matters.
diff --git a/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx b/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx
index 59db4e4ab9..47d6a43ced 100644
--- a/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx
+++ b/apps/blog/content/blog/vibe-coding-with-prisma-mcp-and-nextjs/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Aidan McAlister"
metaTitle: "Vibe Coding an E-commerce App with Prisma MCP and Next.js"
metaDescription: "Learn how we used Prisma MCP and Next.js to rapidly build an e-commerce app through vibe coding."
-heroImagePath: "/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero-11982eebff8afea06f840a2c8b8b974a6681cbc5-844x474.svg"
-heroImageAlt: "Vibe Coding an E-commerce App with Prisma MCP and Next.js"
+metaImagePath: "/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png"
+heroImagePath: "/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg"
+heroImageAlt: "An ink code card of the AI-generated Prisma schema from the article, with the Product model's one-to-many category relation highlighted."
tags:
- "education"
---
diff --git a/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx b/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx
index 9648472c00..7e64e1c55a 100644
--- a/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx
+++ b/apps/blog/content/blog/vscode-extension-prisma-rust-webassembly/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Daniel Norman"
metaTitle: "Improving the Prisma VS Code Extension with WebAssembly"
metaDescription: "Learn about the Prisma schema and how we improved reliability and simplified the Prisma Visual Studio Extension with Rust and WebAssembly."
-metaImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/meta-494b96fe117ed31d3b18fd98f4bfde023db89522-1801x941.png"
-heroImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/hero-aa75a645380cd5b1759ad90ed111c2889eb1d5a8-870x454.png"
-heroImageAlt: "Improving the Prisma Visual Studio Code Extension with WebAssembly"
+metaImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/meta.png"
+heroImagePath: "/vscode-extension-prisma-rust-webassembly/imgs/hero.svg"
+heroImageAlt: "A grey numeral 22 labelled “compilation targets” with an arrow pointing to a large black numeral 1 labelled “Wasm module”, lit by a soft cyan glow."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx b/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx
index 117d205ecb..33267b7a2f 100644
--- a/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx
+++ b/apps/blog/content/blog/watch-prisma-day-talks-z11sg6ipb3i1/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Etel Sverdlov"
metaTitle: "Watch recordings of the talks from Prisma Day 2019 | Prisma"
metaDescription: "Watch the Prisma Day 2019 talks and explore videos and photos from Prisma's conference on databases and modern app development."
-metaImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta-fea8ecef646b6bf26d0612835a9125136d5d1b90-1200x630.png"
-heroImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero-e1f0832d806403801afbd482ec812d046bfcf8a5-870x457.png"
-heroImageAlt: "Prisma Day videos available"
+metaImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png"
+heroImagePath: "/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg"
+heroImageAlt: "A large numeral 13 on light paper beside the words “talks, now online” and the line “Berlin · June 19, 2019”."
---
Prisma Day was Prisma's one day, single-track conference in Berlin on databases and modern app development. Today we are excited to share all of the videos and photos from the event!
diff --git a/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx b/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx
index f0f5417a44..436e84a5d9 100644
--- a/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx
+++ b/apps/blog/content/blog/we-made-prisma-studio-even-better/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ryan Chenkie"
metaTitle: "We Made Prisma Studio Even Better"
metaDescription: "Prisma Studio has just received some great new UX/DX upgrades and is now available in the Prisma Console. Read to find out how you can be more productive in Prisma Studio!"
-metaImagePath: "/we-made-prisma-studio-even-better/imgs/meta-d6de7a02e965c619c2490a14a32f8aa97b8cc43b-1266x711.png"
-heroImagePath: "/we-made-prisma-studio-even-better/imgs/hero-1d76f11db26fa90ab318e6eaac176951f309e904-844x474.svg"
-heroImageAlt: "Better DX in Prisma Studio"
+metaImagePath: "/we-made-prisma-studio-even-better/imgs/meta.png"
+heroImagePath: "/we-made-prisma-studio-even-better/imgs/hero.svg"
+heroImageAlt: "An abstracted data table with one row picked out in cyan, and a taller record panel sliding in over it from the right."
---
Prisma Studio is used and loved by thousands of developers but it hasn’t changed much since its initial release. We’ve just launched some great new DX improvements to Prisma Studio and it’s now fully available within the Prisma Data Platform.
diff --git a/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx b/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx
index c068eb50b4..5e03b2cd1d 100644
--- a/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx
+++ b/apps/blog/content/blog/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "What's new in Prisma? (Q1/2021)"
metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from January to March 2021."
-metaImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero-d9d93ef80b0722fa2c50737272fd764619c66972-1692x852.png"
-heroImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero-d9d93ef80b0722fa2c50737272fd764619c66972-1692x852.png"
-heroImageAlt: "What's new in Prisma? (Q1/21)"
+metaImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png"
+heroImagePath: "/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg"
+heroImageAlt: "The word Migrate set very large in ink on light paper, underscored by a full-width spectral rule and the note that Prisma Migrate is generally available."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx b/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx
index e7206cf005..152d38123a 100644
--- a/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx
+++ b/apps/blog/content/blog/whats-new-in-prisma-q2-2021-z70muetl386d/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Mahmoud Abdelwahab"
metaTitle: "What's new in Prisma? (Q2/2021)"
metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from April to June 2021."
-metaImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta-63928bca38d21b517118716dd18909da219644be-1692x852.png"
-heroImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero-05546705b2ebe131d6a20b897c7bcb5616a60495-844x474.svg"
-heroImageAlt: "What's new in Prisma? (Q2/21)"
+metaImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png"
+heroImagePath: "/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg"
+heroImageAlt: "A white release panel on paper listing what Prisma shipped in Q2 2021: Data Browser in Early Access, referential actions in Preview, prisma db push generally available (highlighted in yellow), and JSON filtering in Preview."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/why-prisma-2024/index.mdx b/apps/blog/content/blog/why-prisma-2024/index.mdx
index 6f37c6dbda..4fbe7f99ff 100644
--- a/apps/blog/content/blog/why-prisma-2024/index.mdx
+++ b/apps/blog/content/blog/why-prisma-2024/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Marc Hess"
metaTitle: "Why Use Prisma to Build Your Data Layer in 2024?"
metaDescription: "Discover how Prisma's powerful tools help you build a scalable, secure, and high-performing data layer. From the popular TypeScript and Node.js ORM to advanced features like connection pooling, caching, and query optimization, Prisma equips you to scale your app to millions of users."
-metaImagePath: "/why-prisma-2024/imgs/meta-c9f26242397df35ac3957bac087e408f3b68ebf3-1200x630.png"
-heroImagePath: "/why-prisma-2024/imgs/hero-a1ecc2ab21f5c90ec0fcaefa8b6edcb76568bd2f-844x474.svg"
-heroImageAlt: "Why Use Prisma to Build Your Data Layer in 2024?"
+metaImagePath: "/why-prisma-2024/imgs/meta.png"
+heroImagePath: "/why-prisma-2024/imgs/hero.svg"
+heroImageAlt: "The words Beyond the ORM set large on paper, with ORM filled by the Prisma spectrum gradient, beside a short list of Accelerate, Optimize and Studio."
tags:
- "orm"
- "platform"
diff --git a/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx b/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx
index 71587e4854..acb9bcf608 100644
--- a/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx
+++ b/apps/blog/content/blog/why-prisma-orm-checks-types-faster-than-drizzle/index.mdx
@@ -7,9 +7,9 @@ authors:
- "Ankur Datta"
metaTitle: "Why Prisma ORM Checks Types Faster Than Drizzle"
metaDescription: "Discover why Prisma ORM outperforms Drizzle ORM in TypeScript type checking. Our benchmarks show Prisma checks queries 72% faster on average, thanks to code generation that keeps editors snappy and CI runs smooth."
-metaImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta-08ce54c475608dac96f99cf51d330a6c724b8415-1266x711.png"
-heroImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero-2a6e0cf3a5949295b175404698d43c7ce6539dcc-844x474.svg"
-heroImageAlt: "Graphic with the headline 'Prisma checks query types faster than Drizzle.' A comparison table shows Prisma with 428 type instantiations versus Drizzle with 41,150, a difference of +9514%. Check time is listed as 101ms for Prisma and 219ms for Drizzle, a difference of +117%. The design includes an upward arrow line graph in the background, emphasizing performance gains."
+metaImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png"
+heroImagePath: "/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg"
+heroImageAlt: "A comparison card on a light background showing type instantiations of 428 for Prisma ORM against 41,150 for Drizzle ORM and check time of 205 ms against 602 ms, with the Prisma ORM column tinted cyan."
tags:
- "education"
- "orm"
diff --git a/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx b/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx
index 569f5232e6..b8582cced1 100644
--- a/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx
+++ b/apps/blog/content/blog/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/index.mdx
@@ -8,8 +8,9 @@ authors:
- "Will Madden"
metaTitle: "Where Prisma ORM Generates Client Code (and Why)"
metaDescription: "Prisma ORM v7 generates Prisma Client into your project source via the prisma-client generator and a required output path. Learn why earlier versions used node_modules, what changed, and how to migrate."
-metaImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta-3524d5ed551401d4e4299f6573888377675d62c9-1266x711.png"
-heroImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero-790371627d3721ca4217827e0f291f31d7345fa4-844x474.svg"
+metaImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png"
+heroImagePath: "/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg"
+heroImageAlt: "Two path rows on a light background: node_modules/.prisma/client struck through and labelled “before v7”, above a cyan-outlined row reading src/generated/prisma labelled “Prisma ORM v7”."
tags:
- "orm"
- "education"
diff --git a/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx b/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx
index 8224c7a479..351b7cfd6e 100644
--- a/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx
+++ b/apps/blog/content/blog/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Marc Hess"
metaTitle: "Why SiteGPT Chose Prisma Postgres for Scalable AI-Powered Chatbots"
metaDescription: "Learn why SiteGPT migrated from their previous database to Prisma Postgres. Discover how transparent pricing, zero server management, and seamless ORM integration provided the simplicity and confidence they needed to build and scale."
-metaImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta-891a52655ec10ed0229b3c3bf715dcd1d96e56c6-1266x711.png"
-heroImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero-2181220b1ae360c736c90ddb97f4e218d9c29d7b-844x474.svg"
-heroImageAlt: "A blog post banner with a dark background and teal text that reads, \"Prisma Postgres: How SiteGPT Scaled to Millions of Operations\". To the right, a glowing chatbot icon branches out into multiple conversation threads, symbolizing scale."
+metaImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png"
+heroImagePath: "/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg"
+heroImageAlt: "The figure 10M+ set very large in black on a light background with a soft yellow glow, captioned database operations a day."
---
SiteGPT helps businesses create AI-powered chatbots trained on their own content, websites, documentation, or internal data. These chatbots act as the first line of support for customers, handling requests with contextual accuracy.
diff --git a/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx b/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx
index 47892ca29c..9266d71707 100644
--- a/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx
+++ b/apps/blog/content/blog/why-the-prisma-cli-asks-for-your-feedback/index.mdx
@@ -6,8 +6,9 @@ authors:
- "Will Madden"
metaTitle: "Why the Prisma CLI Asks for Your Feedback"
metaDescription: "To capture the voice of our community we’ve started prompting for feedback directly in the CLI—an unconventional choice that deserves a short explanation."
-metaImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/meta-276249e7efd9d25f732dfedf5f3cd739d8ed696b-1266x711.png"
-heroImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/hero-b14ae5c0100b00da2e109d1b583bd2a2fee55a09-844x474.svg"
+metaImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png"
+heroImagePath: "/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg"
+heroImageAlt: "An ink terminal card showing the Prisma CLI survey prompt asking how likely you are to recommend Prisma, with a cyan input caret and a note that pressing Enter skips it."
tags:
- "orm"
---
diff --git a/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx b/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx
index 924b306e5a..54ca8e9118 100644
--- a/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx
+++ b/apps/blog/content/blog/wnip-q1-dsk0golh8v/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "What's new in Prisma? (Q1/22)"
metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from January to March 2022."
-metaImagePath: "/wnip-q1-dsk0golh8v/imgs/meta-e22bcc2581574927cdd406404700fda3e9efb665-1692x852.png"
-heroImagePath: "/wnip-q1-dsk0golh8v/imgs/hero-ca96e8f08146b21676bd4faa9978dc1a2cd9a2c5-870x438.png"
-heroImageAlt: "What's new in Prisma? (Q1/22)"
+metaImagePath: "/wnip-q1-dsk0golh8v/imgs/meta.png"
+heroImagePath: "/wnip-q1-dsk0golh8v/imgs/hero.svg"
+heroImageAlt: "A release panel listing the MongoDB connector as generally available, highlighted in cyan, above CockroachDB and MySQL full-text search in Preview."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx b/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx
index ade82fb5b6..2f810b5008 100644
--- a/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx
+++ b/apps/blog/content/blog/wnip-q2-2022-pmn7rulcj8x/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Alex Ruheni"
metaTitle: "What's new in Prisma? (Q2/22)"
metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from April to July 2022."
-metaImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/meta-299642e5f461a1e5ef5ef3b5171f8b36dec08ae9-1692x852.png"
-heroImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/hero-fa9e8efd5bfc7d38784f178886df9098cfd402e9-870x438.png"
-heroImageAlt: "What's new in Prisma? (Q2/22)"
+metaImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png"
+heroImagePath: "/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg"
+heroImageAlt: "\"Q2 2022\" set large in dark type on light paper, above a cyan rule and the line \"Promoted to General Availability\" followed by Indexes, JSON filtering, Raw queries and CockroachDB."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx b/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx
index d4f006f42a..fe1e8a0d5e 100644
--- a/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx
+++ b/apps/blog/content/blog/wnip-q3-hpk7pyth8v/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Mahmoud Abdelwahab"
metaTitle: "What's new in Prisma? (Q3/2021)"
metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from July to September 2021.'"
-metaImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero-0bf3438608c28b9ef3150de53f989a640c833311-1692x852.png"
-heroImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero-0bf3438608c28b9ef3150de53f989a640c833311-1692x852.png"
-heroImageAlt: "What's new in Prisma? (Q3/21)"
+metaImagePath: "/wnip-q3-hpk7pyth8v/imgs/meta.png"
+heroImagePath: "/wnip-q3-hpk7pyth8v/imgs/hero.svg"
+heroImageAlt: "A release ledger card listing four Prisma features from Q3 2021 with their stage: the MongoDB connector highlighted in cyan as Preview, Interactive transactions in Preview, and Microsoft SQL Server and Referential actions generally available."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx b/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx
index bc248cc7a3..7c8180e2a2 100644
--- a/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx
+++ b/apps/blog/content/blog/wnip-q4-2022-f66prwkjx72s/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Sonia Lomo"
metaTitle: "What's new in Prisma? (Q4/22)"
metaDescription: "Here’s all you need to know about the Prisma ecosystem and community from August to December 2022."
-metaImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero-2a1d85280674d8ee68aa0122190539f17f9774fd-2230x1124.png"
-heroImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero-2a1d85280674d8ee68aa0122190539f17f9774fd-2230x1124.png"
-heroImageAlt: "What's new in Prisma? (Q4/22)"
+metaImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/meta.png"
+heroImagePath: "/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg"
+heroImageAlt: "A giant Sora “Q4/22” set on light paper, the “/22” in deep cyan, above the line “Interactive transactions and relation mode reach GA”."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx b/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx
index 76a88c375b..34059332da 100644
--- a/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx
+++ b/apps/blog/content/blog/wnip-q4-dsk0golh8v/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Nikolas Burk"
metaTitle: "What's new in Prisma? (Q4/2021)"
metaDescription: "Learn about everything that has happened in the Prisma ecosystem and community from October to December 2021"
-metaImagePath: "/wnip-q4-dsk0golh8v/imgs/meta-ff86a30923498fa56a5cbddf6750801a5cc9eda2-1692x852.png"
-heroImagePath: "/wnip-q4-dsk0golh8v/imgs/hero-a3f37c182ad811688a9551cfdf4a3ded6e129c85-844x474.svg"
-heroImageAlt: "What's new in Prisma? (Q4/21)"
+metaImagePath: "/wnip-q4-dsk0golh8v/imgs/meta.png"
+heroImagePath: "/wnip-q4-dsk0golh8v/imgs/hero.svg"
+heroImageAlt: "A large Q4 numeral over a spectrum rule beside a ledger of the quarter's releases: MongoDB connector in preview, SQL Server and Azure SQL generally available, interactive transactions in preview."
tags:
- "announcement"
---
diff --git a/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx b/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx
index 9ba01640d9..af2fc8234e 100644
--- a/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx
+++ b/apps/blog/content/blog/working-with-data-in-large-teams/index.mdx
@@ -6,9 +6,9 @@ authors:
- "Ankur Datta"
metaTitle: "Working With Data in Large Teams"
metaDescription: "Scale your data workflows without slowing down your team. This guide helps engineering leads adopt CI for database changes, define clear ownership, and balance velocity with safety using proven patterns like expand-contract and schema validation."
-metaImagePath: "/working-with-data-in-large-teams/imgs/meta-22576a7f1d6f518c9a4f0c317c5952374add63e6-1266x711.png"
-heroImagePath: "/working-with-data-in-large-teams/imgs/hero-3d53c303fc2f5c1cb3e19f10a0f6522f093d6291-844x474.svg"
-heroImageAlt: "Illustration showing a large team of diverse people collaborating on a shared data dashboard. Individuals are interacting with charts, tables, and code snippets displayed on floating UI panels. The environment suggests an organized, collaborative workspace with digital tools and version control systems. Arrows and icons represent data flows, edits, and teamwork across roles like engineers, analysts, and product managers."
+metaImagePath: "/working-with-data-in-large-teams/imgs/meta.png"
+heroImagePath: "/working-with-data-in-large-teams/imgs/hero.svg"
+heroImageAlt: "A customer table card split into an Expand step that adds firstName and lastName and a Contract step where the old name column is struck through."
---
When multiple teams share a database, things break. Migrations conflict, queries start to bloat, or ownership gets murky.
diff --git a/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg
new file mode 100644
index 0000000000..0b7ae26252
--- /dev/null
+++ b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/hero.svg
@@ -0,0 +1,82 @@
+
diff --git a/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png
new file mode 100644
index 0000000000..5afafb3c31
Binary files /dev/null and b/apps/blog/public/about-mcp-servers-and-how-we-built-one-for-prisma/imgs/meta.png differ
diff --git a/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg
new file mode 100644
index 0000000000..0d68ef60b6
--- /dev/null
+++ b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/hero.svg
@@ -0,0 +1,59 @@
+
diff --git a/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png
new file mode 100644
index 0000000000..346e829b6a
Binary files /dev/null and b/apps/blog/public/accelerate-ga-release-I9cQM6bSf2g6/imgs/meta.png differ
diff --git a/apps/blog/public/accelerate-ipv6-first/imgs/hero.svg b/apps/blog/public/accelerate-ipv6-first/imgs/hero.svg
new file mode 100644
index 0000000000..3c06f395a6
--- /dev/null
+++ b/apps/blog/public/accelerate-ipv6-first/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/accelerate-ipv6-first/imgs/meta.png b/apps/blog/public/accelerate-ipv6-first/imgs/meta.png
new file mode 100644
index 0000000000..0db776efd3
Binary files /dev/null and b/apps/blog/public/accelerate-ipv6-first/imgs/meta.png differ
diff --git a/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero.svg b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero.svg
new file mode 100644
index 0000000000..b7fde265cd
--- /dev/null
+++ b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta.png b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta.png
new file mode 100644
index 0000000000..6a3f82b5a8
Binary files /dev/null and b/apps/blog/public/accelerate-preview-release-ab229e69ed2/imgs/meta.png differ
diff --git a/apps/blog/public/accelerate-static-ip-support/imgs/hero.svg b/apps/blog/public/accelerate-static-ip-support/imgs/hero.svg
new file mode 100644
index 0000000000..9dc022a2d9
--- /dev/null
+++ b/apps/blog/public/accelerate-static-ip-support/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/accelerate-static-ip-support/imgs/meta.png b/apps/blog/public/accelerate-static-ip-support/imgs/meta.png
new file mode 100644
index 0000000000..7fcbf29adf
Binary files /dev/null and b/apps/blog/public/accelerate-static-ip-support/imgs/meta.png differ
diff --git a/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg
new file mode 100644
index 0000000000..be8c9c46fc
--- /dev/null
+++ b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/hero.svg
@@ -0,0 +1,74 @@
+
diff --git a/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png
new file mode 100644
index 0000000000..4ea064909f
Binary files /dev/null and b/apps/blog/public/advanced-database-schema-management-with-atlas-and-prisma-orm/imgs/meta.png differ
diff --git a/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg
new file mode 100644
index 0000000000..f5ae3e7900
--- /dev/null
+++ b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/hero.svg
@@ -0,0 +1,78 @@
+
diff --git a/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png
new file mode 100644
index 0000000000..56320351f2
Binary files /dev/null and b/apps/blog/public/all-you-need-to-know-about-apollo-client-2-7e27e36d62fd/imgs/meta.png differ
diff --git a/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg
new file mode 100644
index 0000000000..3f9951533d
--- /dev/null
+++ b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/hero.svg
@@ -0,0 +1,54 @@
+
diff --git a/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta.png b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta.png
new file mode 100644
index 0000000000..05879b6da3
Binary files /dev/null and b/apps/blog/public/ambassador-program-nxkWGcGNuvFx/imgs/meta.png differ
diff --git a/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg
new file mode 100644
index 0000000000..b113894350
--- /dev/null
+++ b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png
new file mode 100644
index 0000000000..3ed78d23fe
Binary files /dev/null and b/apps/blog/public/amplication-customer-story-nmlkBNlLlxnN/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg
new file mode 100644
index 0000000000..08cd368bb4
--- /dev/null
+++ b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png
new file mode 100644
index 0000000000..1af7f971e3
Binary files /dev/null and b/apps/blog/public/announcing-accelerate-usrvpi6sfkv4/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg
new file mode 100644
index 0000000000..19916d7205
--- /dev/null
+++ b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/hero.svg
@@ -0,0 +1,67 @@
+
diff --git a/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta.png b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta.png
new file mode 100644
index 0000000000..4405c1eea3
Binary files /dev/null and b/apps/blog/public/announcing-discord-1LiAOpS7lxV9/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg
new file mode 100644
index 0000000000..c55a88113b
--- /dev/null
+++ b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/hero.svg
@@ -0,0 +1,74 @@
+
diff --git a/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png
new file mode 100644
index 0000000000..b6a3ff869b
Binary files /dev/null and b/apps/blog/public/announcing-on-demand-cache-invalidation-for-prisma-accelerate/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg
new file mode 100644
index 0000000000..8adaebc9fa
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png
new file mode 100644
index 0000000000..2ed03e1f2d
Binary files /dev/null and b/apps/blog/public/announcing-prisma-2-n0v98rzc8br1/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg
new file mode 100644
index 0000000000..5aef6e9cae
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/meta.png b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/meta.png
new file mode 100644
index 0000000000..77bda06ca4
Binary files /dev/null and b/apps/blog/public/announcing-prisma-2-zq1s745db8i5/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-6-18-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-6-18-0/imgs/hero.svg
new file mode 100644
index 0000000000..cdf419f46d
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-6-18-0/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/announcing-prisma-6-18-0/imgs/meta.png b/apps/blog/public/announcing-prisma-6-18-0/imgs/meta.png
new file mode 100644
index 0000000000..4871e51f90
Binary files /dev/null and b/apps/blog/public/announcing-prisma-6-18-0/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-6-19-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-6-19-0/imgs/hero.svg
new file mode 100644
index 0000000000..e474cc2471
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-6-19-0/imgs/hero.svg
@@ -0,0 +1,69 @@
+
diff --git a/apps/blog/public/announcing-prisma-6-19-0/imgs/meta.png b/apps/blog/public/announcing-prisma-6-19-0/imgs/meta.png
new file mode 100644
index 0000000000..1d9d12730d
Binary files /dev/null and b/apps/blog/public/announcing-prisma-6-19-0/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg
new file mode 100644
index 0000000000..888461b555
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta.png b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta.png
new file mode 100644
index 0000000000..e28fcc4bdb
Binary files /dev/null and b/apps/blog/public/announcing-prisma-day-50cg22nn40qk/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/hero.svg
new file mode 100644
index 0000000000..89f9c75476
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/meta.png b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/meta.png
new file mode 100644
index 0000000000..e34213e654
Binary files /dev/null and b/apps/blog/public/announcing-prisma-orm-7-0-0/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/hero.svg b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/hero.svg
new file mode 100644
index 0000000000..c56dc65d14
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/meta.png b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/meta.png
new file mode 100644
index 0000000000..d60cf353a7
Binary files /dev/null and b/apps/blog/public/announcing-prisma-orm-7-2-0/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg
new file mode 100644
index 0000000000..ab092acb6d
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png
new file mode 100644
index 0000000000..5eff476228
Binary files /dev/null and b/apps/blog/public/announcing-prisma-playground-xeywknkj0e1p/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-postgres-early-access/imgs/hero.svg b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/hero.svg
new file mode 100644
index 0000000000..4efc54b7ac
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/announcing-prisma-postgres-early-access/imgs/meta.png b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/meta.png
new file mode 100644
index 0000000000..6c19439277
Binary files /dev/null and b/apps/blog/public/announcing-prisma-postgres-early-access/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg
new file mode 100644
index 0000000000..205c765b10
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/hero.svg
@@ -0,0 +1,86 @@
+
diff --git a/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png
new file mode 100644
index 0000000000..7be9b02905
Binary files /dev/null and b/apps/blog/public/announcing-prisma-postgres-for-ai-coding-agents/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg
new file mode 100644
index 0000000000..58b680cab4
--- /dev/null
+++ b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png
new file mode 100644
index 0000000000..dfd710e930
Binary files /dev/null and b/apps/blog/public/announcing-prisma-s-mcp-server-vibe-code-with-prisma-postgres/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg
new file mode 100644
index 0000000000..cf975bc679
--- /dev/null
+++ b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png
new file mode 100644
index 0000000000..90e46bf68b
Binary files /dev/null and b/apps/blog/public/announcing-the-release-of-nexus-schema-v1-b5eno5g08d0b/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg
new file mode 100644
index 0000000000..a3b7754f7f
--- /dev/null
+++ b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png
new file mode 100644
index 0000000000..eaac694f2d
Binary files /dev/null and b/apps/blog/public/announcing-typedsql-make-your-raw-sql-queries-type-safe-with-prisma-orm/imgs/meta.png differ
diff --git a/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg
new file mode 100644
index 0000000000..599d329ea1
--- /dev/null
+++ b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png
new file mode 100644
index 0000000000..6dc19fe442
Binary files /dev/null and b/apps/blog/public/announcing-upcoming-course-8s41wdqrlgc7/imgs/meta.png differ
diff --git a/apps/blog/public/aws-marketplace/imgs/hero.svg b/apps/blog/public/aws-marketplace/imgs/hero.svg
new file mode 100644
index 0000000000..b4038cac1c
--- /dev/null
+++ b/apps/blog/public/aws-marketplace/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/aws-marketplace/imgs/meta.png b/apps/blog/public/aws-marketplace/imgs/meta.png
new file mode 100644
index 0000000000..e5cecafa7b
Binary files /dev/null and b/apps/blog/public/aws-marketplace/imgs/meta.png differ
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg
new file mode 100644
index 0000000000..77036cfdb4
--- /dev/null
+++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/hero.svg
@@ -0,0 +1,87 @@
+
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png
new file mode 100644
index 0000000000..ed42260439
Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-auth-mngp1ps7kip4/imgs/meta.png differ
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg
new file mode 100644
index 0000000000..4d21a57d32
--- /dev/null
+++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/hero.svg
@@ -0,0 +1,78 @@
+
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png
new file mode 100644
index 0000000000..ed4ee6e585
Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-data-modeling-tsjs1ps7kip1/imgs/meta.png differ
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg
new file mode 100644
index 0000000000..cebf5d6128
--- /dev/null
+++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/hero.svg
@@ -0,0 +1,74 @@
+
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png
new file mode 100644
index 0000000000..7982c59076
Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-deployment-bbba1ps7kip5/imgs/meta.png differ
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg
new file mode 100644
index 0000000000..e703cf9b7f
--- /dev/null
+++ b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png
new file mode 100644
index 0000000000..c2fe3ea47d
Binary files /dev/null and b/apps/blog/public/backend-prisma-typescript-orm-with-postgresql-rest-api-validation-dcba1ps7kip3/imgs/meta.png differ
diff --git a/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg
new file mode 100644
index 0000000000..325146fc7a
--- /dev/null
+++ b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/hero.svg
@@ -0,0 +1,69 @@
+
diff --git a/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png
new file mode 100644
index 0000000000..d8dd586eb4
Binary files /dev/null and b/apps/blog/public/benefits-and-challenges-of-caching-database-query-results-x2s9ei21e8kq/imgs/meta.png differ
diff --git a/apps/blog/public/bfg/imgs/hero.svg b/apps/blog/public/bfg/imgs/hero.svg
new file mode 100644
index 0000000000..e71a8a3f8a
--- /dev/null
+++ b/apps/blog/public/bfg/imgs/hero.svg
@@ -0,0 +1,59 @@
+
diff --git a/apps/blog/public/bfg/imgs/meta.png b/apps/blog/public/bfg/imgs/meta.png
new file mode 100644
index 0000000000..0a81381199
Binary files /dev/null and b/apps/blog/public/bfg/imgs/meta.png differ
diff --git a/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg
new file mode 100644
index 0000000000..8e9d8d9a8c
--- /dev/null
+++ b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png
new file mode 100644
index 0000000000..ca7c751962
Binary files /dev/null and b/apps/blog/public/bringing-prisma-orm-to-react-native-and-expo/imgs/meta.png differ
diff --git a/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg
new file mode 100644
index 0000000000..c32a930f15
--- /dev/null
+++ b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png
new file mode 100644
index 0000000000..aa58fc6123
Binary files /dev/null and b/apps/blog/public/build-an-app-with-svelte-and-typescript-PZDY3t93qAtd/imgs/meta.png differ
diff --git a/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg
new file mode 100644
index 0000000000..86417e7a82
--- /dev/null
+++ b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/hero.svg
@@ -0,0 +1,83 @@
+
diff --git a/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png
new file mode 100644
index 0000000000..ca14861b4f
Binary files /dev/null and b/apps/blog/public/build-applications-at-the-edge-with-prisma-orm-and-cloudflare-d1-preview/imgs/meta.png differ
diff --git a/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/hero.svg b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/hero.svg
new file mode 100644
index 0000000000..08d91a5bda
--- /dev/null
+++ b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/meta.png b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/meta.png
new file mode 100644
index 0000000000..a008983cf7
Binary files /dev/null and b/apps/blog/public/caching-database-queries-with-prisma-accelerate/imgs/meta.png differ
diff --git a/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg
new file mode 100644
index 0000000000..e76440af37
--- /dev/null
+++ b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png
new file mode 100644
index 0000000000..a22a9194b4
Binary files /dev/null and b/apps/blog/public/client-extensions-ga-4g4yIu8eOSbB/imgs/meta.png differ
diff --git a/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg
new file mode 100644
index 0000000000..06dfed591e
--- /dev/null
+++ b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png
new file mode 100644
index 0000000000..57477d3b8a
Binary files /dev/null and b/apps/blog/public/client-extensions-preview-8t3w27xkrxxn/imgs/meta.png differ
diff --git a/apps/blog/public/cloud-connectivity-report-2024/imgs/hero.svg b/apps/blog/public/cloud-connectivity-report-2024/imgs/hero.svg
new file mode 100644
index 0000000000..b54ad51de7
--- /dev/null
+++ b/apps/blog/public/cloud-connectivity-report-2024/imgs/hero.svg
@@ -0,0 +1,88 @@
+
diff --git a/apps/blog/public/cloud-connectivity-report-2024/imgs/meta.png b/apps/blog/public/cloud-connectivity-report-2024/imgs/meta.png
new file mode 100644
index 0000000000..b74bb657e5
Binary files /dev/null and b/apps/blog/public/cloud-connectivity-report-2024/imgs/meta.png differ
diff --git a/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg
new file mode 100644
index 0000000000..4b3877734e
--- /dev/null
+++ b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/hero.svg
@@ -0,0 +1,81 @@
+
diff --git a/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta.png b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta.png
new file mode 100644
index 0000000000..7c19267f25
Binary files /dev/null and b/apps/blog/public/cloudflare-partnership-qerefgvwirjq/imgs/meta.png differ
diff --git a/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg
new file mode 100644
index 0000000000..74c2c658bd
--- /dev/null
+++ b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/hero.svg
@@ -0,0 +1,84 @@
+
diff --git a/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png
new file mode 100644
index 0000000000..7ee001473e
Binary files /dev/null and b/apps/blog/public/cloudflare-unikernels-and-bare-metal-life-of-a-prisma-postgres-query/imgs/meta.png differ
diff --git a/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg
new file mode 100644
index 0000000000..af12957aa6
--- /dev/null
+++ b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png
new file mode 100644
index 0000000000..64859953ee
Binary files /dev/null and b/apps/blog/public/cockroach-ga-5JrD9XVWQDYL/imgs/meta.png differ
diff --git a/apps/blog/public/compliance-reqs-complete/imgs/hero.svg b/apps/blog/public/compliance-reqs-complete/imgs/hero.svg
new file mode 100644
index 0000000000..eaab57ac66
--- /dev/null
+++ b/apps/blog/public/compliance-reqs-complete/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/compliance-reqs-complete/imgs/meta.png b/apps/blog/public/compliance-reqs-complete/imgs/meta.png
new file mode 100644
index 0000000000..e4935c99f6
Binary files /dev/null and b/apps/blog/public/compliance-reqs-complete/imgs/meta.png differ
diff --git a/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg
new file mode 100644
index 0000000000..7b1f3c2cd9
--- /dev/null
+++ b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/hero.svg
@@ -0,0 +1,55 @@
+
diff --git a/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png
new file mode 100644
index 0000000000..0548dcdbf4
Binary files /dev/null and b/apps/blog/public/connect-your-apps-to-prisma-postgres-via-vercel-marketplace-integration/imgs/meta.png differ
diff --git a/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg
new file mode 100644
index 0000000000..6a834d121c
--- /dev/null
+++ b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/hero.svg
@@ -0,0 +1,84 @@
+
diff --git a/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png
new file mode 100644
index 0000000000..3a8ea5ec18
Binary files /dev/null and b/apps/blog/public/connections-edges-nodes-in-relay-758d358aa4c7/imgs/meta.png differ
diff --git a/apps/blog/public/convergence/imgs/hero.svg b/apps/blog/public/convergence/imgs/hero.svg
new file mode 100644
index 0000000000..43897e3b21
--- /dev/null
+++ b/apps/blog/public/convergence/imgs/hero.svg
@@ -0,0 +1,85 @@
+
diff --git a/apps/blog/public/convergence/imgs/meta.png b/apps/blog/public/convergence/imgs/meta.png
new file mode 100644
index 0000000000..5b08ff23f0
Binary files /dev/null and b/apps/blog/public/convergence/imgs/meta.png differ
diff --git a/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero.svg b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero.svg
new file mode 100644
index 0000000000..0287701820
--- /dev/null
+++ b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/hero.svg
@@ -0,0 +1,67 @@
+
diff --git a/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/meta.png b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/meta.png
new file mode 100644
index 0000000000..3daf4f0858
Binary files /dev/null and b/apps/blog/public/coo-announcement-aer1fgviirjb/imgs/meta.png differ
diff --git a/apps/blog/public/data-platform-static-ips/imgs/hero.svg b/apps/blog/public/data-platform-static-ips/imgs/hero.svg
new file mode 100644
index 0000000000..e71c53b61d
--- /dev/null
+++ b/apps/blog/public/data-platform-static-ips/imgs/hero.svg
@@ -0,0 +1,99 @@
+
diff --git a/apps/blog/public/data-platform-static-ips/imgs/meta.png b/apps/blog/public/data-platform-static-ips/imgs/meta.png
new file mode 100644
index 0000000000..744ea4c5f6
Binary files /dev/null and b/apps/blog/public/data-platform-static-ips/imgs/meta.png differ
diff --git a/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg
new file mode 100644
index 0000000000..443f403632
--- /dev/null
+++ b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png
new file mode 100644
index 0000000000..f7bfa52ae1
Binary files /dev/null and b/apps/blog/public/database-access-in-react-server-components-r2xgk9aztgdf/imgs/meta.png differ
diff --git a/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg
new file mode 100644
index 0000000000..3d29c57640
--- /dev/null
+++ b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/hero.svg
@@ -0,0 +1,89 @@
+
diff --git a/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png
new file mode 100644
index 0000000000..a13dba3dc2
Binary files /dev/null and b/apps/blog/public/database-access-on-the-edge-8F0t1s1BqOJE/imgs/meta.png differ
diff --git a/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/hero.svg b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/hero.svg
new file mode 100644
index 0000000000..6440df468a
--- /dev/null
+++ b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/meta.png b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/meta.png
new file mode 100644
index 0000000000..ab7336fcb5
Binary files /dev/null and b/apps/blog/public/database-vs-application-demystifying-join-strategies/imgs/meta.png differ
diff --git a/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg
new file mode 100644
index 0000000000..0c1507d0e6
--- /dev/null
+++ b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/hero.svg
@@ -0,0 +1,62 @@
+
diff --git a/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png
new file mode 100644
index 0000000000..b5b9cdc267
Binary files /dev/null and b/apps/blog/public/datadx-event-recap-z5pcp6hzbz5m/imgs/meta.png differ
diff --git a/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg
new file mode 100644
index 0000000000..b9ec072605
--- /dev/null
+++ b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta.png b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta.png
new file mode 100644
index 0000000000..d1b01d9f94
Binary files /dev/null and b/apps/blog/public/datadx-manifesto-ikgyqj170k8h/imgs/meta.png differ
diff --git a/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/hero.svg b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/hero.svg
new file mode 100644
index 0000000000..ca21ee49a1
--- /dev/null
+++ b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/hero.svg
@@ -0,0 +1,60 @@
+
diff --git a/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/meta.png b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/meta.png
new file mode 100644
index 0000000000..8765ceed80
Binary files /dev/null and b/apps/blog/public/datadx-name-for-prismas-philosophy/imgs/meta.png differ
diff --git a/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero.svg b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero.svg
new file mode 100644
index 0000000000..9bd26ac8ab
--- /dev/null
+++ b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/meta.png b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/meta.png
new file mode 100644
index 0000000000..7feeb84aaf
Binary files /dev/null and b/apps/blog/public/datamodel-v11-lrzqy1f56c90/imgs/meta.png differ
diff --git a/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg
new file mode 100644
index 0000000000..5c0345665f
--- /dev/null
+++ b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/hero.svg
@@ -0,0 +1,75 @@
+
diff --git a/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png
new file mode 100644
index 0000000000..21587aeaba
Binary files /dev/null and b/apps/blog/public/documenting-apis-mjjpZ7E7NkVP/imgs/meta.png differ
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg
new file mode 100644
index 0000000000..b92aa0f07b
--- /dev/null
+++ b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png
new file mode 100644
index 0000000000..56f294b87d
Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-1-I2GxIfxkSZ/imgs/meta.png differ
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg
new file mode 100644
index 0000000000..d99c186bc4
--- /dev/null
+++ b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png
new file mode 100644
index 0000000000..10c74c1632
Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-2-j9mEyHY0Ej/imgs/meta.png differ
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg
new file mode 100644
index 0000000000..f83312190c
--- /dev/null
+++ b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png
new file mode 100644
index 0000000000..a79aa70985
Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-3-fbV2ZVIGWg/imgs/meta.png differ
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg
new file mode 100644
index 0000000000..9e5e7a3867
--- /dev/null
+++ b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/hero.svg
@@ -0,0 +1,90 @@
+
diff --git a/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png
new file mode 100644
index 0000000000..3f3eba7e1d
Binary files /dev/null and b/apps/blog/public/e2e-type-safety-graphql-react-4-JaHA8GbkER/imgs/meta.png differ
diff --git a/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg
new file mode 100644
index 0000000000..56a231c7eb
--- /dev/null
+++ b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png
new file mode 100644
index 0000000000..18827928d0
Binary files /dev/null and b/apps/blog/public/elsevier-customer-story-SsAASKagMHtN/imgs/meta.png differ
diff --git a/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg
new file mode 100644
index 0000000000..9b87eb246b
--- /dev/null
+++ b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png
new file mode 100644
index 0000000000..05f0c2047b
Binary files /dev/null and b/apps/blog/public/enabling-cors-for-express-graphql-apollo-server-1ef999bfb38d/imgs/meta.png differ
diff --git a/apps/blog/public/esop-exercise-windows/imgs/hero.svg b/apps/blog/public/esop-exercise-windows/imgs/hero.svg
new file mode 100644
index 0000000000..475f916876
--- /dev/null
+++ b/apps/blog/public/esop-exercise-windows/imgs/hero.svg
@@ -0,0 +1,63 @@
+
diff --git a/apps/blog/public/esop-exercise-windows/imgs/meta.png b/apps/blog/public/esop-exercise-windows/imgs/meta.png
new file mode 100644
index 0000000000..9b39fb43c7
Binary files /dev/null and b/apps/blog/public/esop-exercise-windows/imgs/meta.png differ
diff --git a/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg
new file mode 100644
index 0000000000..711d17dd60
--- /dev/null
+++ b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/hero.svg
@@ -0,0 +1,87 @@
+
diff --git a/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png
new file mode 100644
index 0000000000..922157583d
Binary files /dev/null and b/apps/blog/public/formbricks-and-prisma-accelerate-solving-scalability-together/imgs/meta.png differ
diff --git a/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg
new file mode 100644
index 0000000000..4702659ea2
--- /dev/null
+++ b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/hero.svg
@@ -0,0 +1,67 @@
+
diff --git a/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png
new file mode 100644
index 0000000000..53284a135a
Binary files /dev/null and b/apps/blog/public/from-rust-to-typescript-a-new-chapter-for-prisma-orm/imgs/meta.png differ
diff --git a/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg
new file mode 100644
index 0000000000..0860fd3467
--- /dev/null
+++ b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/hero.svg
@@ -0,0 +1,76 @@
+
diff --git a/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png
new file mode 100644
index 0000000000..c06f2be2c4
Binary files /dev/null and b/apps/blog/public/full-stack-typesafety-with-angular-nest-nx-and-prisma-CcMK7fbQfTWc/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg
new file mode 100644
index 0000000000..d43c6164ad
--- /dev/null
+++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png
new file mode 100644
index 0000000000..eea81ddbec
Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-2-fwpc6ds155/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg
new file mode 100644
index 0000000000..93b3e69b8c
--- /dev/null
+++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png
new file mode 100644
index 0000000000..fe21546dff
Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-3-clxbrcqppv/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg
new file mode 100644
index 0000000000..e4edb0a601
--- /dev/null
+++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/hero.svg
@@ -0,0 +1,91 @@
+
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png
new file mode 100644
index 0000000000..0c92599121
Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-4-1k1kc83x3v/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg
new file mode 100644
index 0000000000..4c436ade81
--- /dev/null
+++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/hero.svg
@@ -0,0 +1,93 @@
+
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png
new file mode 100644
index 0000000000..a720fa2a56
Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-5-m2fna60h7c/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg
new file mode 100644
index 0000000000..5eec233930
--- /dev/null
+++ b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/hero.svg
@@ -0,0 +1,88 @@
+
diff --git a/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png
new file mode 100644
index 0000000000..24e37a04d3
Binary files /dev/null and b/apps/blog/public/fullstack-nextjs-graphql-prisma-oklidw1rhw/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg
new file mode 100644
index 0000000000..45657529ba
--- /dev/null
+++ b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/hero.svg
@@ -0,0 +1,75 @@
+
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png
new file mode 100644
index 0000000000..d17358adb5
Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-1-7d0bftxbmb6r/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg
new file mode 100644
index 0000000000..cac2ada3d4
--- /dev/null
+++ b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png
new file mode 100644
index 0000000000..bd1f5a5c9f
Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-2-ZTmOy58p4re8/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg
new file mode 100644
index 0000000000..f3efbfb1ee
--- /dev/null
+++ b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png
new file mode 100644
index 0000000000..9488455098
Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-3-By5pmN5Nzo1v/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg
new file mode 100644
index 0000000000..50baf83846
--- /dev/null
+++ b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png
new file mode 100644
index 0000000000..0489a002ae
Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-4-l3mwep4zlim2/imgs/meta.png differ
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg
new file mode 100644
index 0000000000..536dfd35e2
--- /dev/null
+++ b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png
new file mode 100644
index 0000000000..8287228979
Binary files /dev/null and b/apps/blog/public/fullstack-remix-prisma-mongodb-5-gOhQsnfUPXSx/imgs/meta.png differ
diff --git a/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg
new file mode 100644
index 0000000000..7ef8d812eb
--- /dev/null
+++ b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png
new file mode 100644
index 0000000000..a32f515843
Binary files /dev/null and b/apps/blog/public/getting-started-with-relay-modern-46f8de6bd6ec/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg
new file mode 100644
index 0000000000..8a84470e28
--- /dev/null
+++ b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/hero.svg
@@ -0,0 +1,91 @@
+
diff --git a/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png
new file mode 100644
index 0000000000..8b2274d559
Binary files /dev/null and b/apps/blog/public/graphql-directive-permissions-authorization-made-easy-54c076b5368e/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/hero.svg b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/hero.svg
new file mode 100644
index 0000000000..39ad2f4c37
--- /dev/null
+++ b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/meta.png b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/meta.png
new file mode 100644
index 0000000000..598191d97b
Binary files /dev/null and b/apps/blog/public/graphql-eu-18-eiw8bishe2di/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/hero.svg b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/hero.svg
new file mode 100644
index 0000000000..59e67addbd
--- /dev/null
+++ b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/meta.png b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/meta.png
new file mode 100644
index 0000000000..22bb295fb9
Binary files /dev/null and b/apps/blog/public/graphql-middleware-zie3iphithxy/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg
new file mode 100644
index 0000000000..17129bcb9f
--- /dev/null
+++ b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png
new file mode 100644
index 0000000000..f3a9d9038e
Binary files /dev/null and b/apps/blog/public/graphql-schema-stitching-explained-schema-delegation-4c6caf468405/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg
new file mode 100644
index 0000000000..b31702beb4
--- /dev/null
+++ b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png
new file mode 100644
index 0000000000..3d2bd04c80
Binary files /dev/null and b/apps/blog/public/graphql-sdl-schema-definition-language-6755bcb9ce51/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg
new file mode 100644
index 0000000000..45d54410c6
--- /dev/null
+++ b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/hero.svg
@@ -0,0 +1,69 @@
+
diff --git a/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png
new file mode 100644
index 0000000000..a06079aea6
Binary files /dev/null and b/apps/blog/public/graphql-server-basics-demystifying-the-info-argument-in-graphql-resolvers-6f26249f613a/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg
new file mode 100644
index 0000000000..8dfa54770b
--- /dev/null
+++ b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png
new file mode 100644
index 0000000000..d66b9f25a2
Binary files /dev/null and b/apps/blog/public/graphql-server-basics-the-network-layer-51d97d21861/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg
new file mode 100644
index 0000000000..941da1fb31
--- /dev/null
+++ b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png
new file mode 100644
index 0000000000..5bdf304e1b
Binary files /dev/null and b/apps/blog/public/graphql-server-basics-the-schema-ac5e2950214e/imgs/meta.png differ
diff --git a/apps/blog/public/graphql-vs-firebase-496498546142/imgs/hero.svg b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/hero.svg
new file mode 100644
index 0000000000..8da6977fb4
--- /dev/null
+++ b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/graphql-vs-firebase-496498546142/imgs/meta.png b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/meta.png
new file mode 100644
index 0000000000..1c70b707c3
Binary files /dev/null and b/apps/blog/public/graphql-vs-firebase-496498546142/imgs/meta.png differ
diff --git a/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg
new file mode 100644
index 0000000000..a2022d7911
--- /dev/null
+++ b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png
new file mode 100644
index 0000000000..1d5381fbc3
Binary files /dev/null and b/apps/blog/public/grover-customer-success-story-nxkWGcGNuvFd/imgs/meta.png differ
diff --git a/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg
new file mode 100644
index 0000000000..ef6b1c8e6b
--- /dev/null
+++ b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/hero.svg
@@ -0,0 +1,86 @@
+
diff --git a/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png
new file mode 100644
index 0000000000..122b579b35
Binary files /dev/null and b/apps/blog/public/helping-rapha-access-data-across-platforms-n3jfhtyu6rgn/imgs/meta.png differ
diff --git a/apps/blog/public/how-bucket-uses-prisma-orm/imgs/hero.svg b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/hero.svg
new file mode 100644
index 0000000000..1e24cdb6ab
--- /dev/null
+++ b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/hero.svg
@@ -0,0 +1,81 @@
+
diff --git a/apps/blog/public/how-bucket-uses-prisma-orm/imgs/meta.png b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/meta.png
new file mode 100644
index 0000000000..49f96dda9b
Binary files /dev/null and b/apps/blog/public/how-bucket-uses-prisma-orm/imgs/meta.png differ
diff --git a/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg
new file mode 100644
index 0000000000..25fe3415dd
--- /dev/null
+++ b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png
new file mode 100644
index 0000000000..8ee8143ce9
Binary files /dev/null and b/apps/blog/public/how-co-dev-uses-prisma-postgres-to-power-ai-driven-app-development-for-non-developers/imgs/meta.png differ
diff --git a/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg
new file mode 100644
index 0000000000..a8b21bdd4e
--- /dev/null
+++ b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/hero.svg
@@ -0,0 +1,101 @@
+
diff --git a/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png
new file mode 100644
index 0000000000..1488f3f1b5
Binary files /dev/null and b/apps/blog/public/how-deno-and-prisma-partnered-to-power-per-branch-databases/imgs/meta.png differ
diff --git a/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg
new file mode 100644
index 0000000000..5eba2fe536
--- /dev/null
+++ b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png
new file mode 100644
index 0000000000..c9c407732a
Binary files /dev/null and b/apps/blog/public/how-do-graphql-remote-schemas-work-7118237c89d7/imgs/meta.png differ
diff --git a/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg
new file mode 100644
index 0000000000..2db3cbe098
--- /dev/null
+++ b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png
new file mode 100644
index 0000000000..4bba2d9a45
Binary files /dev/null and b/apps/blog/public/how-greatfrontend-supercharged-development-with-prisma-orm/imgs/meta.png differ
diff --git a/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg
new file mode 100644
index 0000000000..f53243afec
--- /dev/null
+++ b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/hero.svg
@@ -0,0 +1,81 @@
+
diff --git a/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png
new file mode 100644
index 0000000000..3181ef1909
Binary files /dev/null and b/apps/blog/public/how-masterboard-simplified-ci-cd-testing-with-prisma-postgres/imgs/meta.png differ
diff --git a/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg
new file mode 100644
index 0000000000..aec91851c5
--- /dev/null
+++ b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png
new file mode 100644
index 0000000000..0ade512f1d
Binary files /dev/null and b/apps/blog/public/how-migrating-from-Sequelize-to-Prisma-allowed-Invisible-to-scale-i4pz2mwu6q/imgs/meta.png differ
diff --git a/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg
new file mode 100644
index 0000000000..30a18235b7
--- /dev/null
+++ b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/hero.svg
@@ -0,0 +1,56 @@
+
diff --git a/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png
new file mode 100644
index 0000000000..9b0b28e596
Binary files /dev/null and b/apps/blog/public/how-prisma-and-serverless-fit-together-iaSfcPQVi0/imgs/meta.png differ
diff --git a/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg
new file mode 100644
index 0000000000..bbee63eeac
--- /dev/null
+++ b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png
new file mode 100644
index 0000000000..1ff8aba416
Binary files /dev/null and b/apps/blog/public/how-prisma-orm-became-the-most-downloaded-orm-for-node-js/imgs/meta.png differ
diff --git a/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg
new file mode 100644
index 0000000000..8e9c3e2de5
--- /dev/null
+++ b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/hero.svg
@@ -0,0 +1,57 @@
+
diff --git a/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png
new file mode 100644
index 0000000000..89a31dad8e
Binary files /dev/null and b/apps/blog/public/how-prisma-supports-transactions-x45s1d5l0ww1/imgs/meta.png differ
diff --git a/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg
new file mode 100644
index 0000000000..4bcf758d23
--- /dev/null
+++ b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/hero.svg
@@ -0,0 +1,59 @@
+
diff --git a/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png
new file mode 100644
index 0000000000..ba5a950130
Binary files /dev/null and b/apps/blog/public/how-solin-uses-prisma-accelerate-to-serve-2-5m-database-queries-per/imgs/meta.png differ
diff --git a/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg
new file mode 100644
index 0000000000..fbc8f3ec2b
--- /dev/null
+++ b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png
new file mode 100644
index 0000000000..fabe962feb
Binary files /dev/null and b/apps/blog/public/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/imgs/meta.png differ
diff --git a/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg
new file mode 100644
index 0000000000..a453e91b74
--- /dev/null
+++ b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png
new file mode 100644
index 0000000000..3d8a3ee3b6
Binary files /dev/null and b/apps/blog/public/how-to-improve-startup-times-kdRB9MjPEv/imgs/meta.png differ
diff --git a/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg
new file mode 100644
index 0000000000..c9c46f3e58
--- /dev/null
+++ b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png
new file mode 100644
index 0000000000..e9cd66dc32
Binary files /dev/null and b/apps/blog/public/how-to-use-create-react-app-with-graphql-apollo-62e574617cff/imgs/meta.png differ
diff --git a/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg
new file mode 100644
index 0000000000..16c6e60360
--- /dev/null
+++ b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/hero.svg
@@ -0,0 +1,96 @@
+
diff --git a/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png
new file mode 100644
index 0000000000..e860ffdc30
Binary files /dev/null and b/apps/blog/public/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d/imgs/meta.png differ
diff --git a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg
index 1f6561346d..a9f3b9478b 100644
--- a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg
+++ b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/hero.svg
@@ -3,9 +3,9 @@
A typographic quote card: Gabriel Gil Graña of Xeito on wanting to spend his time creating features instead of managing memory, pool connections, storage limits, replicas and backups. Prisma blog cover, 2026 brand, prism yellow accent.
diff --git a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png
index 89ed0fa553..e5e6250a6d 100644
Binary files a/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png and b/apps/blog/public/how-xeito-builds-features-not-database-infrastructure-with-prisma/imgs/meta.png differ
diff --git a/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg
new file mode 100644
index 0000000000..0a65fb6431
--- /dev/null
+++ b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/hero.svg
@@ -0,0 +1,103 @@
+
diff --git a/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png
new file mode 100644
index 0000000000..3a7b389879
Binary files /dev/null and b/apps/blog/public/improving-performance-with-apollo-query-batching-66455ea9d8b/imgs/meta.png differ
diff --git a/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg
new file mode 100644
index 0000000000..f27d0b7917
--- /dev/null
+++ b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png
new file mode 100644
index 0000000000..d67d2b97f2
Binary files /dev/null and b/apps/blog/public/improving-prismas-release-process-yaey8deiwaex/imgs/meta.png differ
diff --git a/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg
new file mode 100644
index 0000000000..5644d11520
--- /dev/null
+++ b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/hero.svg
@@ -0,0 +1,146 @@
+
diff --git a/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png
new file mode 100644
index 0000000000..3d58dea490
Binary files /dev/null and b/apps/blog/public/improving-query-performance-using-indexes-1-zuLNZwBkuL/imgs/meta.png differ
diff --git a/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg
new file mode 100644
index 0000000000..2549796b48
--- /dev/null
+++ b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png
new file mode 100644
index 0000000000..b27e08384e
Binary files /dev/null and b/apps/blog/public/improving-query-performance-using-indexes-2-MyoiJNMFTsfq/imgs/meta.png differ
diff --git a/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg
new file mode 100644
index 0000000000..0c3af18fe3
--- /dev/null
+++ b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/hero.svg
@@ -0,0 +1,88 @@
+
diff --git a/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png
new file mode 100644
index 0000000000..f459323b1d
Binary files /dev/null and b/apps/blog/public/improving-query-performance-using-indexes-3-kduk351qv1/imgs/meta.png differ
diff --git a/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg
new file mode 100644
index 0000000000..d41bad18ec
--- /dev/null
+++ b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/hero.svg
@@ -0,0 +1,100 @@
+
diff --git a/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png
new file mode 100644
index 0000000000..26ff730435
Binary files /dev/null and b/apps/blog/public/introducing-auto-scaling-for-prisma-accelerate/imgs/meta.png differ
diff --git a/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg
new file mode 100644
index 0000000000..7ef4dc54c5
--- /dev/null
+++ b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png
new file mode 100644
index 0000000000..38db5b2381
Binary files /dev/null and b/apps/blog/public/introducing-global-omit-for-model-fields-in-prisma-orm-5-16-0/imgs/meta.png differ
diff --git a/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg
new file mode 100644
index 0000000000..503a2883f6
--- /dev/null
+++ b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/hero.svg
@@ -0,0 +1,75 @@
+
diff --git a/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png
new file mode 100644
index 0000000000..2104c278cc
Binary files /dev/null and b/apps/blog/public/introducing-graphql-nexus-code-first-graphql-server-development-ll6s1yy5cxl5/imgs/meta.png differ
diff --git a/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg
new file mode 100644
index 0000000000..39428924d1
--- /dev/null
+++ b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png
new file mode 100644
index 0000000000..1a9d3a6c1c
Binary files /dev/null and b/apps/blog/public/introducing-instant-app-deployments-in-partnership-with-vercel/imgs/meta.png differ
diff --git a/apps/blog/public/introducing-platform-environments/imgs/hero.svg b/apps/blog/public/introducing-platform-environments/imgs/hero.svg
new file mode 100644
index 0000000000..1f7f20f68f
--- /dev/null
+++ b/apps/blog/public/introducing-platform-environments/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/introducing-platform-environments/imgs/meta.png b/apps/blog/public/introducing-platform-environments/imgs/meta.png
new file mode 100644
index 0000000000..3b376e6f38
Binary files /dev/null and b/apps/blog/public/introducing-platform-environments/imgs/meta.png differ
diff --git a/apps/blog/public/introducing-prisma-nuxt/imgs/hero.svg b/apps/blog/public/introducing-prisma-nuxt/imgs/hero.svg
new file mode 100644
index 0000000000..55b81a9317
--- /dev/null
+++ b/apps/blog/public/introducing-prisma-nuxt/imgs/hero.svg
@@ -0,0 +1,78 @@
+
diff --git a/apps/blog/public/introducing-prisma-nuxt/imgs/meta.png b/apps/blog/public/introducing-prisma-nuxt/imgs/meta.png
new file mode 100644
index 0000000000..b1e243af46
Binary files /dev/null and b/apps/blog/public/introducing-prisma-nuxt/imgs/meta.png differ
diff --git a/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg
new file mode 100644
index 0000000000..27da11cc78
--- /dev/null
+++ b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/hero.svg
@@ -0,0 +1,81 @@
+
diff --git a/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png
new file mode 100644
index 0000000000..d87a24703d
Binary files /dev/null and b/apps/blog/public/iopool-customer-success-story-uLsCWvaqzXoa/imgs/meta.png differ
diff --git a/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg
new file mode 100644
index 0000000000..01a975bcf4
--- /dev/null
+++ b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png
new file mode 100644
index 0000000000..339ad8c457
Binary files /dev/null and b/apps/blog/public/jamstack-with-nextjs-prisma-jamstackN3XT/imgs/meta.png differ
diff --git a/apps/blog/public/labelbox-simnycbotiok/imgs/hero.svg b/apps/blog/public/labelbox-simnycbotiok/imgs/hero.svg
new file mode 100644
index 0000000000..9e339a341c
--- /dev/null
+++ b/apps/blog/public/labelbox-simnycbotiok/imgs/hero.svg
@@ -0,0 +1,74 @@
+
diff --git a/apps/blog/public/labelbox-simnycbotiok/imgs/meta.png b/apps/blog/public/labelbox-simnycbotiok/imgs/meta.png
new file mode 100644
index 0000000000..eae17567d1
Binary files /dev/null and b/apps/blog/public/labelbox-simnycbotiok/imgs/meta.png differ
diff --git a/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg
new file mode 100644
index 0000000000..afdc92436d
--- /dev/null
+++ b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/hero.svg
@@ -0,0 +1,69 @@
+
diff --git a/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png
new file mode 100644
index 0000000000..0fdf86a1d6
Binary files /dev/null and b/apps/blog/public/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz/imgs/meta.png differ
diff --git a/apps/blog/public/make-your-applications-fast-globally/imgs/hero.svg b/apps/blog/public/make-your-applications-fast-globally/imgs/hero.svg
new file mode 100644
index 0000000000..d7220980be
--- /dev/null
+++ b/apps/blog/public/make-your-applications-fast-globally/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/make-your-applications-fast-globally/imgs/meta.png b/apps/blog/public/make-your-applications-fast-globally/imgs/meta.png
new file mode 100644
index 0000000000..d7c2ec2545
Binary files /dev/null and b/apps/blog/public/make-your-applications-fast-globally/imgs/meta.png differ
diff --git a/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg
new file mode 100644
index 0000000000..a95ccaa1a3
--- /dev/null
+++ b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/hero.svg
@@ -0,0 +1,85 @@
+
diff --git a/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png
new file mode 100644
index 0000000000..c51a2020eb
Binary files /dev/null and b/apps/blog/public/metrics-tutorial-prisma-pmoldgq10kz/imgs/meta.png differ
diff --git a/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg
new file mode 100644
index 0000000000..548c1f3cda
--- /dev/null
+++ b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/hero.svg
@@ -0,0 +1,74 @@
+
diff --git a/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/meta.png b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/meta.png
new file mode 100644
index 0000000000..d48e3482d9
Binary files /dev/null and b/apps/blog/public/mongodb-general-availability-pixnun6mffmu/imgs/meta.png differ
diff --git a/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg
new file mode 100644
index 0000000000..de459d3bfe
--- /dev/null
+++ b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/hero.svg
@@ -0,0 +1,76 @@
+
diff --git a/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/meta.png b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/meta.png
new file mode 100644
index 0000000000..074148b3a1
Binary files /dev/null and b/apps/blog/public/monitoring-best-practices-monitor5g08d0b/imgs/meta.png differ
diff --git a/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg
new file mode 100644
index 0000000000..96733f4d0a
--- /dev/null
+++ b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png
new file mode 100644
index 0000000000..b4e89203e2
Binary files /dev/null and b/apps/blog/public/nestjs-prisma-authentication-7D056s1s0k3l/imgs/meta.png differ
diff --git a/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg
new file mode 100644
index 0000000000..986141aef0
--- /dev/null
+++ b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/hero.svg
@@ -0,0 +1,82 @@
+
diff --git a/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png
new file mode 100644
index 0000000000..d5dbcc8916
Binary files /dev/null and b/apps/blog/public/nestjs-prisma-error-handling-7D056s1kOop2/imgs/meta.png differ
diff --git a/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg
new file mode 100644
index 0000000000..86655f5e0c
--- /dev/null
+++ b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png
new file mode 100644
index 0000000000..0b5843322d
Binary files /dev/null and b/apps/blog/public/nestjs-prisma-relational-data-7D056s1kOabc/imgs/meta.png differ
diff --git a/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg
new file mode 100644
index 0000000000..5dd635c8d6
--- /dev/null
+++ b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png
new file mode 100644
index 0000000000..e4f81a4998
Binary files /dev/null and b/apps/blog/public/nestjs-prisma-rest-api-7D056s1BmOL0/imgs/meta.png differ
diff --git a/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg
new file mode 100644
index 0000000000..3efcca8f6d
--- /dev/null
+++ b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/hero.svg
@@ -0,0 +1,78 @@
+
diff --git a/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png
new file mode 100644
index 0000000000..2dde584641
Binary files /dev/null and b/apps/blog/public/nestjs-prisma-validation-7D056s1kOla1/imgs/meta.png differ
diff --git a/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg
new file mode 100644
index 0000000000..585b39f10a
--- /dev/null
+++ b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png
new file mode 100644
index 0000000000..681d3fbc97
Binary files /dev/null and b/apps/blog/public/new-tooling-to-improve-your-graphql-workflows-7240c81e1ba3/imgs/meta.png differ
diff --git a/apps/blog/public/operations-based-billing/imgs/hero.svg b/apps/blog/public/operations-based-billing/imgs/hero.svg
new file mode 100644
index 0000000000..bf8c1cd0a1
--- /dev/null
+++ b/apps/blog/public/operations-based-billing/imgs/hero.svg
@@ -0,0 +1,90 @@
+
diff --git a/apps/blog/public/operations-based-billing/imgs/meta.png b/apps/blog/public/operations-based-billing/imgs/meta.png
new file mode 100644
index 0000000000..c3bfb062a6
Binary files /dev/null and b/apps/blog/public/operations-based-billing/imgs/meta.png differ
diff --git a/apps/blog/public/optimizing-postgres-for-global-apps/imgs/hero.svg b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/hero.svg
new file mode 100644
index 0000000000..f9d012442d
--- /dev/null
+++ b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/optimizing-postgres-for-global-apps/imgs/meta.png b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/meta.png
new file mode 100644
index 0000000000..bbbbbc0b0f
Binary files /dev/null and b/apps/blog/public/optimizing-postgres-for-global-apps/imgs/meta.png differ
diff --git a/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg
new file mode 100644
index 0000000000..821606549d
--- /dev/null
+++ b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/hero.svg
@@ -0,0 +1,92 @@
+
diff --git a/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png
new file mode 100644
index 0000000000..5da652a306
Binary files /dev/null and b/apps/blog/public/organize-your-prisma-schema-with-multi-file-support/imgs/meta.png differ
diff --git a/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg
new file mode 100644
index 0000000000..6d5c7ca8a5
--- /dev/null
+++ b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png
new file mode 100644
index 0000000000..3141919477
Binary files /dev/null and b/apps/blog/public/orm-6-10-0-new-features-for-prisma-postgres-remote-mcp-and-more/imgs/meta.png differ
diff --git a/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg
new file mode 100644
index 0000000000..d36139c136
--- /dev/null
+++ b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/hero.svg
@@ -0,0 +1,55 @@
+
diff --git a/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png
new file mode 100644
index 0000000000..dabdcf67aa
Binary files /dev/null and b/apps/blog/public/orm-6-12-0-esm-compatible-generator-in-preview-and-new-options-for-prisma-config/imgs/meta.png differ
diff --git a/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg
new file mode 100644
index 0000000000..d92f7253d4
--- /dev/null
+++ b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png
new file mode 100644
index 0000000000..32c31e11e4
Binary files /dev/null and b/apps/blog/public/orm-6-13-0-ci-cd-workflows-and-pgvector-for-prisma-postgres/imgs/meta.png differ
diff --git a/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg
new file mode 100644
index 0000000000..949c54a52b
--- /dev/null
+++ b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/hero.svg
@@ -0,0 +1,69 @@
+
diff --git a/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png
new file mode 100644
index 0000000000..ef6aa42767
Binary files /dev/null and b/apps/blog/public/orm-6-15-0-ai-safety-guardrails-for-destructive-commands-and-more/imgs/meta.png differ
diff --git a/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg
new file mode 100644
index 0000000000..ad49711f2a
--- /dev/null
+++ b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png
new file mode 100644
index 0000000000..6289f59892
Binary files /dev/null and b/apps/blog/public/orm-v6-11-0-embedded-prisma-studio-rust-free-orm-for-mysql-in-preview-and-more/imgs/meta.png differ
diff --git a/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg
new file mode 100644
index 0000000000..34c78b7a99
--- /dev/null
+++ b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png
new file mode 100644
index 0000000000..06035caf4b
Binary files /dev/null and b/apps/blog/public/orm-v6-17-0-new-usage-metrics-and-direct-connections-in-ga-for-prisma-postgres/imgs/meta.png differ
diff --git a/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg
new file mode 100644
index 0000000000..642df55a32
--- /dev/null
+++ b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png
new file mode 100644
index 0000000000..46a645c9cf
Binary files /dev/null and b/apps/blog/public/overcoming-challenges-in-serverless-and-edge-environments-TQtONA0RVxuW/imgs/meta.png differ
diff --git a/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg
new file mode 100644
index 0000000000..7f143dc111
--- /dev/null
+++ b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/meta.png b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/meta.png
new file mode 100644
index 0000000000..54f6565f18
Binary files /dev/null and b/apps/blog/public/panther-customer-story-pdmdrrhtupsl/imgs/meta.png differ
diff --git a/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg
new file mode 100644
index 0000000000..7e30b1666c
--- /dev/null
+++ b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/hero.svg
@@ -0,0 +1,63 @@
+
diff --git a/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png
new file mode 100644
index 0000000000..62ca0ca098
Binary files /dev/null and b/apps/blog/public/pearly-plan-customer-success-pdmdrRhTupve/imgs/meta.png differ
diff --git a/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg
new file mode 100644
index 0000000000..db839eeeee
--- /dev/null
+++ b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/hero.svg
@@ -0,0 +1,82 @@
+
diff --git a/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png
new file mode 100644
index 0000000000..e5d4c93920
Binary files /dev/null and b/apps/blog/public/performance-benchmarks-comparing-query-latency-across-typescript-orms-and-databases/imgs/meta.png differ
diff --git a/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/hero.svg b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/hero.svg
new file mode 100644
index 0000000000..d4951d969b
--- /dev/null
+++ b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/hero.svg
@@ -0,0 +1,78 @@
+
diff --git a/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/meta.png b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/meta.png
new file mode 100644
index 0000000000..3f03fbaab7
Binary files /dev/null and b/apps/blog/public/performance-engineering-aeduv0rei0jk/imgs/meta.png differ
diff --git a/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg
new file mode 100644
index 0000000000..350101c56d
--- /dev/null
+++ b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/hero.svg
@@ -0,0 +1,58 @@
+
diff --git a/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png
new file mode 100644
index 0000000000..d7b26ac687
Binary files /dev/null and b/apps/blog/public/poppy-customer-success-story-swnWQcGRRvpd/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg
new file mode 100644
index 0000000000..6d8a6553d3
--- /dev/null
+++ b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/hero.svg
@@ -0,0 +1,54 @@
+
diff --git a/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png
new file mode 100644
index 0000000000..b414f4b7be
Binary files /dev/null and b/apps/blog/public/prisma-2-beta-b7bcl0gd8d8e/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-5-f66prwkjx72s/imgs/hero.svg b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/hero.svg
new file mode 100644
index 0000000000..af708c36bb
--- /dev/null
+++ b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/hero.svg
@@ -0,0 +1,63 @@
+
diff --git a/apps/blog/public/prisma-5-f66prwkjx72s/imgs/meta.png b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/meta.png
new file mode 100644
index 0000000000..7d877d8548
Binary files /dev/null and b/apps/blog/public/prisma-5-f66prwkjx72s/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-6-8-0-release/imgs/hero.svg b/apps/blog/public/prisma-6-8-0-release/imgs/hero.svg
new file mode 100644
index 0000000000..b8afc2a222
--- /dev/null
+++ b/apps/blog/public/prisma-6-8-0-release/imgs/hero.svg
@@ -0,0 +1,82 @@
+
diff --git a/apps/blog/public/prisma-6-8-0-release/imgs/meta.png b/apps/blog/public/prisma-6-8-0-release/imgs/meta.png
new file mode 100644
index 0000000000..7a986a1633
Binary files /dev/null and b/apps/blog/public/prisma-6-8-0-release/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-6-9-0-release/imgs/hero.svg b/apps/blog/public/prisma-6-9-0-release/imgs/hero.svg
new file mode 100644
index 0000000000..e92e51059f
--- /dev/null
+++ b/apps/blog/public/prisma-6-9-0-release/imgs/hero.svg
@@ -0,0 +1,87 @@
+
diff --git a/apps/blog/public/prisma-6-9-0-release/imgs/meta.png b/apps/blog/public/prisma-6-9-0-release/imgs/meta.png
new file mode 100644
index 0000000000..843d1dc16b
Binary files /dev/null and b/apps/blog/public/prisma-6-9-0-release/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg
new file mode 100644
index 0000000000..27bf9d1da1
--- /dev/null
+++ b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/hero.svg
@@ -0,0 +1,67 @@
+
diff --git a/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png
new file mode 100644
index 0000000000..a00ef1bce6
Binary files /dev/null and b/apps/blog/public/prisma-6-better-performance-more-flexibility-and-type-safe-sql/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-7-performance-benchmarks/imgs/hero.svg b/apps/blog/public/prisma-7-performance-benchmarks/imgs/hero.svg
new file mode 100644
index 0000000000..8b708a2e32
--- /dev/null
+++ b/apps/blog/public/prisma-7-performance-benchmarks/imgs/hero.svg
@@ -0,0 +1,75 @@
+
diff --git a/apps/blog/public/prisma-7-performance-benchmarks/imgs/meta.png b/apps/blog/public/prisma-7-performance-benchmarks/imgs/meta.png
new file mode 100644
index 0000000000..ffde3574ef
Binary files /dev/null and b/apps/blog/public/prisma-7-performance-benchmarks/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-adopts-semver-strictly/imgs/hero.svg b/apps/blog/public/prisma-adopts-semver-strictly/imgs/hero.svg
new file mode 100644
index 0000000000..3e4b3a36c4
--- /dev/null
+++ b/apps/blog/public/prisma-adopts-semver-strictly/imgs/hero.svg
@@ -0,0 +1,56 @@
+
diff --git a/apps/blog/public/prisma-adopts-semver-strictly/imgs/meta.png b/apps/blog/public/prisma-adopts-semver-strictly/imgs/meta.png
new file mode 100644
index 0000000000..2b28848fe5
Binary files /dev/null and b/apps/blog/public/prisma-adopts-semver-strictly/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg
new file mode 100644
index 0000000000..a9cb85c5a0
--- /dev/null
+++ b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/hero.svg
@@ -0,0 +1,76 @@
+
diff --git a/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png
new file mode 100644
index 0000000000..73cf5439c3
Binary files /dev/null and b/apps/blog/public/prisma-and-graphql-mfl5y2r7t49c/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg
new file mode 100644
index 0000000000..08977a6e78
--- /dev/null
+++ b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/hero.svg
@@ -0,0 +1,57 @@
+
diff --git a/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png
new file mode 100644
index 0000000000..ae32028cd8
Binary files /dev/null and b/apps/blog/public/prisma-and-serverless-73hbgKnZ6t/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/hero.svg b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/hero.svg
new file mode 100644
index 0000000000..4c482aa854
--- /dev/null
+++ b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/meta.png b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/meta.png
new file mode 100644
index 0000000000..cb01f4c8df
Binary files /dev/null and b/apps/blog/public/prisma-client-preview-ahph4o1umail/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg
new file mode 100644
index 0000000000..9ca9d25513
--- /dev/null
+++ b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png
new file mode 100644
index 0000000000..69881d516a
Binary files /dev/null and b/apps/blog/public/prisma-data-platform-now-generally-available-8D058s1BqOL1/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/hero.svg b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/hero.svg
new file mode 100644
index 0000000000..b071bed26e
--- /dev/null
+++ b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/hero.svg
@@ -0,0 +1,103 @@
+
diff --git a/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/meta.png b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/meta.png
new file mode 100644
index 0000000000..febbe33bf8
Binary files /dev/null and b/apps/blog/public/prisma-data-proxy-xb16ba0p21/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg
new file mode 100644
index 0000000000..50dcfe8982
--- /dev/null
+++ b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png
new file mode 100644
index 0000000000..cd66c29f40
Binary files /dev/null and b/apps/blog/public/prisma-day-2022-announcement-v8t178dsf/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg
new file mode 100644
index 0000000000..c011bfe80b
--- /dev/null
+++ b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png
new file mode 100644
index 0000000000..85f18c8441
Binary files /dev/null and b/apps/blog/public/prisma-foss-fund-announcement-XW9DqI1HC24L/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-insider-program/imgs/hero.svg b/apps/blog/public/prisma-insider-program/imgs/hero.svg
new file mode 100644
index 0000000000..87d465867d
--- /dev/null
+++ b/apps/blog/public/prisma-insider-program/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/prisma-insider-program/imgs/meta.png b/apps/blog/public/prisma-insider-program/imgs/meta.png
new file mode 100644
index 0000000000..6894986214
Binary files /dev/null and b/apps/blog/public/prisma-insider-program/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg
new file mode 100644
index 0000000000..e97607d3c8
--- /dev/null
+++ b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png
new file mode 100644
index 0000000000..c95f0daba2
Binary files /dev/null and b/apps/blog/public/prisma-microsoft-sql-server-azure-sql-production-ga/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-migrate-dx-primitives/imgs/hero.svg b/apps/blog/public/prisma-migrate-dx-primitives/imgs/hero.svg
new file mode 100644
index 0000000000..afbb4f49b6
--- /dev/null
+++ b/apps/blog/public/prisma-migrate-dx-primitives/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/prisma-migrate-dx-primitives/imgs/meta.png b/apps/blog/public/prisma-migrate-dx-primitives/imgs/meta.png
new file mode 100644
index 0000000000..57ef3947fe
Binary files /dev/null and b/apps/blog/public/prisma-migrate-dx-primitives/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg
new file mode 100644
index 0000000000..964755fd3d
--- /dev/null
+++ b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/hero.svg
@@ -0,0 +1,67 @@
+
diff --git a/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png
new file mode 100644
index 0000000000..26832d032d
Binary files /dev/null and b/apps/blog/public/prisma-migrate-ga-b5eno5g08d0b/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg
new file mode 100644
index 0000000000..34cbd72b8d
--- /dev/null
+++ b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/hero.svg
@@ -0,0 +1,79 @@
+
diff --git a/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png
new file mode 100644
index 0000000000..2fac36af42
Binary files /dev/null and b/apps/blog/public/prisma-migrate-preview-b5eno5g08d0b/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-mongodb-preview-release/imgs/hero.svg b/apps/blog/public/prisma-mongodb-preview-release/imgs/hero.svg
new file mode 100644
index 0000000000..f8409ffa92
--- /dev/null
+++ b/apps/blog/public/prisma-mongodb-preview-release/imgs/hero.svg
@@ -0,0 +1,88 @@
+
diff --git a/apps/blog/public/prisma-mongodb-preview-release/imgs/meta.png b/apps/blog/public/prisma-mongodb-preview-release/imgs/meta.png
new file mode 100644
index 0000000000..8a3065c553
Binary files /dev/null and b/apps/blog/public/prisma-mongodb-preview-release/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg
new file mode 100644
index 0000000000..0743a7bb67
--- /dev/null
+++ b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png
new file mode 100644
index 0000000000..50680328ad
Binary files /dev/null and b/apps/blog/public/prisma-online-data-browser-ejgg5c8p3u4x/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-optimize-early-access/imgs/hero.svg b/apps/blog/public/prisma-optimize-early-access/imgs/hero.svg
new file mode 100644
index 0000000000..39e8dfb61f
--- /dev/null
+++ b/apps/blog/public/prisma-optimize-early-access/imgs/hero.svg
@@ -0,0 +1,72 @@
+
diff --git a/apps/blog/public/prisma-optimize-early-access/imgs/meta.png b/apps/blog/public/prisma-optimize-early-access/imgs/meta.png
new file mode 100644
index 0000000000..68001e8fba
Binary files /dev/null and b/apps/blog/public/prisma-optimize-early-access/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg
new file mode 100644
index 0000000000..ddbdb7009d
--- /dev/null
+++ b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/hero.svg
@@ -0,0 +1,55 @@
+
diff --git a/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png
new file mode 100644
index 0000000000..301e3ba414
Binary files /dev/null and b/apps/blog/public/prisma-orm-6-6-0-esm-support-d1-migrations-and-prisma-mcp-server/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-orm-manifesto/imgs/hero.svg b/apps/blog/public/prisma-orm-manifesto/imgs/hero.svg
new file mode 100644
index 0000000000..79a3691673
--- /dev/null
+++ b/apps/blog/public/prisma-orm-manifesto/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/prisma-orm-manifesto/imgs/meta.png b/apps/blog/public/prisma-orm-manifesto/imgs/meta.png
new file mode 100644
index 0000000000..5fd84dd7be
Binary files /dev/null and b/apps/blog/public/prisma-orm-manifesto/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg
new file mode 100644
index 0000000000..7d12a9c7a3
--- /dev/null
+++ b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png
new file mode 100644
index 0000000000..a4e1434c12
Binary files /dev/null and b/apps/blog/public/prisma-orm-now-lets-you-choose-the-best-join-strategy-preview/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg
new file mode 100644
index 0000000000..9c48d79dc5
--- /dev/null
+++ b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/hero.svg
@@ -0,0 +1,62 @@
+
diff --git a/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png
new file mode 100644
index 0000000000..3b54ddfba2
Binary files /dev/null and b/apps/blog/public/prisma-orm-support-for-edge-functions-is-now-in-preview/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg
new file mode 100644
index 0000000000..2a0eaf9b87
--- /dev/null
+++ b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png
new file mode 100644
index 0000000000..d71930490b
Binary files /dev/null and b/apps/blog/public/prisma-orm-v6-14-0-relationships-for-sql-views-more-robust-management-api-and-more/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg
new file mode 100644
index 0000000000..ec54106d51
--- /dev/null
+++ b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/hero.svg
@@ -0,0 +1,60 @@
+
diff --git a/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png
new file mode 100644
index 0000000000..66275d6872
Binary files /dev/null and b/apps/blog/public/prisma-orm-without-rust-latest-performance-benchmarks/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-postgres-free-during-early-access/imgs/hero.svg b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/hero.svg
new file mode 100644
index 0000000000..9ec576526b
--- /dev/null
+++ b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/hero.svg
@@ -0,0 +1,62 @@
+
diff --git a/apps/blog/public/prisma-postgres-free-during-early-access/imgs/meta.png b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/meta.png
new file mode 100644
index 0000000000..2509667fd0
Binary files /dev/null and b/apps/blog/public/prisma-postgres-free-during-early-access/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg
new file mode 100644
index 0000000000..057edbd56f
--- /dev/null
+++ b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/hero.svg
@@ -0,0 +1,87 @@
+
diff --git a/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png
new file mode 100644
index 0000000000..7d036c6f82
Binary files /dev/null and b/apps/blog/public/prisma-postgres-now-in-your-favorite-environment/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg
new file mode 100644
index 0000000000..cff2b0fe65
--- /dev/null
+++ b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png
new file mode 100644
index 0000000000..fdd9bd23a8
Binary files /dev/null and b/apps/blog/public/prisma-postgres-the-future-of-serverless-databases/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-preview-cockroach-db-release/imgs/hero.svg b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/hero.svg
new file mode 100644
index 0000000000..2b49ff78e0
--- /dev/null
+++ b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/hero.svg
@@ -0,0 +1,58 @@
+
diff --git a/apps/blog/public/prisma-preview-cockroach-db-release/imgs/meta.png b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/meta.png
new file mode 100644
index 0000000000..e82fa12494
Binary files /dev/null and b/apps/blog/public/prisma-preview-cockroach-db-release/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg
new file mode 100644
index 0000000000..720d2b5833
--- /dev/null
+++ b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/hero.svg
@@ -0,0 +1,58 @@
+
diff --git a/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png
new file mode 100644
index 0000000000..382f8f63b1
Binary files /dev/null and b/apps/blog/public/prisma-raises-4-5m-to-build-the-graphql-data-layer-for-all-databases-663484df0f60/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg
new file mode 100644
index 0000000000..769cb933fe
--- /dev/null
+++ b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png
new file mode 100644
index 0000000000..90e2bce070
Binary files /dev/null and b/apps/blog/public/prisma-raises-series-a-saks1zr7kip6/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg
new file mode 100644
index 0000000000..e7b0a33db2
--- /dev/null
+++ b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/hero.svg
@@ -0,0 +1,60 @@
+
diff --git a/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png
new file mode 100644
index 0000000000..3c09a85895
Binary files /dev/null and b/apps/blog/public/prisma-schema-language-the-best-way-to-define-your-data/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg
new file mode 100644
index 0000000000..5638ec14ce
--- /dev/null
+++ b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/hero.svg
@@ -0,0 +1,110 @@
+
diff --git a/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png
new file mode 100644
index 0000000000..451456f0f3
Binary files /dev/null and b/apps/blog/public/prisma-sql-server-support-preview-a4anl2gd8d3a/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-startup-program/imgs/hero.svg b/apps/blog/public/prisma-startup-program/imgs/hero.svg
new file mode 100644
index 0000000000..db4731a36d
--- /dev/null
+++ b/apps/blog/public/prisma-startup-program/imgs/hero.svg
@@ -0,0 +1,58 @@
+
diff --git a/apps/blog/public/prisma-startup-program/imgs/meta.png b/apps/blog/public/prisma-startup-program/imgs/meta.png
new file mode 100644
index 0000000000..b1efc6569a
Binary files /dev/null and b/apps/blog/public/prisma-startup-program/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/hero.svg b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/hero.svg
new file mode 100644
index 0000000000..bdd28f941f
--- /dev/null
+++ b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/hero.svg
@@ -0,0 +1,88 @@
+
diff --git a/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/meta.png b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/meta.png
new file mode 100644
index 0000000000..cce0163692
Binary files /dev/null and b/apps/blog/public/prisma-studio-3rtf78dg99fe/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg
new file mode 100644
index 0000000000..f9cbae33ac
--- /dev/null
+++ b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/hero.svg
@@ -0,0 +1,78 @@
+
diff --git a/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png
new file mode 100644
index 0000000000..bc1b6d97fc
Binary files /dev/null and b/apps/blog/public/prisma-the-complete-orm-inw24qjeawmb/imgs/meta.png differ
diff --git a/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg
new file mode 100644
index 0000000000..1e7d0e3791
--- /dev/null
+++ b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/hero.svg
@@ -0,0 +1,76 @@
+
diff --git a/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png
new file mode 100644
index 0000000000..b62847e5b3
Binary files /dev/null and b/apps/blog/public/prisma-turso-ea-support-rXGd_Tmy3UXX/imgs/meta.png differ
diff --git a/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg
new file mode 100644
index 0000000000..5c9ed257dc
--- /dev/null
+++ b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/hero.svg
@@ -0,0 +1,98 @@
+
diff --git a/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png
new file mode 100644
index 0000000000..a51fc13fe3
Binary files /dev/null and b/apps/blog/public/read-replicas-prisma-client-extension-f66prwk56wow/imgs/meta.png differ
diff --git a/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg
new file mode 100644
index 0000000000..4d8624cf17
--- /dev/null
+++ b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/hero.svg
@@ -0,0 +1,59 @@
+
diff --git a/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png
new file mode 100644
index 0000000000..8c3f86e6fd
Binary files /dev/null and b/apps/blog/public/relay-moderns-connection-directive-1ecd8322f5c8/imgs/meta.png differ
diff --git a/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg
new file mode 100644
index 0000000000..25e9118341
--- /dev/null
+++ b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/hero.svg
@@ -0,0 +1,87 @@
+
diff --git a/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png
new file mode 100644
index 0000000000..360591731e
Binary files /dev/null and b/apps/blog/public/relay-vs-apollo-comparing-graphql-clients-for-react-apps-b40af58c1534/imgs/meta.png differ
diff --git a/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/hero.svg b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/hero.svg
new file mode 100644
index 0000000000..7b42610c94
--- /dev/null
+++ b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/hero.svg
@@ -0,0 +1,63 @@
+
diff --git a/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/meta.png b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/meta.png
new file mode 100644
index 0000000000..fc7ffd4ec6
Binary files /dev/null and b/apps/blog/public/restructure-announcement-1a9ek279du8j/imgs/meta.png differ
diff --git a/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg
new file mode 100644
index 0000000000..98e3484af9
--- /dev/null
+++ b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png
new file mode 100644
index 0000000000..cd27d9246a
Binary files /dev/null and b/apps/blog/public/rust-free-prisma-orm-is-ready-for-production/imgs/meta.png differ
diff --git a/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg
new file mode 100644
index 0000000000..7952d4c99c
--- /dev/null
+++ b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/hero.svg
@@ -0,0 +1,76 @@
+
diff --git a/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png
new file mode 100644
index 0000000000..dc07319924
Binary files /dev/null and b/apps/blog/public/rust-to-typescript-update-boosting-prisma-orm-performance/imgs/meta.png differ
diff --git a/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg
new file mode 100644
index 0000000000..cb36f46d05
--- /dev/null
+++ b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/hero.svg
@@ -0,0 +1,63 @@
+
diff --git a/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png
new file mode 100644
index 0000000000..efb30c7dde
Binary files /dev/null and b/apps/blog/public/satisfies-operator-ur8ys8ccq7zb/imgs/meta.png differ
diff --git a/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/hero.svg b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/hero.svg
new file mode 100644
index 0000000000..d347554229
--- /dev/null
+++ b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/hero.svg
@@ -0,0 +1,89 @@
+
diff --git a/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/meta.png b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/meta.png
new file mode 100644
index 0000000000..7e86d7ba59
Binary files /dev/null and b/apps/blog/public/saving-black-friday-with-connection-pooling/imgs/meta.png differ
diff --git a/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg
new file mode 100644
index 0000000000..c175458756
--- /dev/null
+++ b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/hero.svg
@@ -0,0 +1,75 @@
+
diff --git a/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png
new file mode 100644
index 0000000000..f08de5503f
Binary files /dev/null and b/apps/blog/public/securely-access-prisma-postgres-from-the-frontend-early-access/imgs/meta.png differ
diff --git a/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/hero.svg b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/hero.svg
new file mode 100644
index 0000000000..5e475f702a
--- /dev/null
+++ b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/hero.svg
@@ -0,0 +1,84 @@
+
diff --git a/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/meta.png b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/meta.png
new file mode 100644
index 0000000000..323e973b73
Binary files /dev/null and b/apps/blog/public/series-b-announcement-v8t12ksi6x/imgs/meta.png differ
diff --git a/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg
new file mode 100644
index 0000000000..4ce367abf7
--- /dev/null
+++ b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/hero.svg
@@ -0,0 +1,83 @@
+
diff --git a/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png
new file mode 100644
index 0000000000..df4c4ab74e
Binary files /dev/null and b/apps/blog/public/serverless-database-drivers-KML1ehXORxZV/imgs/meta.png differ
diff --git a/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg
new file mode 100644
index 0000000000..d08592f9c1
--- /dev/null
+++ b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/hero.svg
@@ -0,0 +1,98 @@
+
diff --git a/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png
new file mode 100644
index 0000000000..9907b5dbc5
Binary files /dev/null and b/apps/blog/public/state-of-prisma-2-december-rcrwcqyu655e/imgs/meta.png differ
diff --git a/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg
new file mode 100644
index 0000000000..2ea14d3fc2
--- /dev/null
+++ b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png
new file mode 100644
index 0000000000..40db417d85
Binary files /dev/null and b/apps/blog/public/studio-for-prisma-postgres-view-and-edit-your-data-online/imgs/meta.png differ
diff --git a/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg
new file mode 100644
index 0000000000..0567242827
--- /dev/null
+++ b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/hero.svg
@@ -0,0 +1,70 @@
+
diff --git a/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png
new file mode 100644
index 0000000000..b8d855c9fb
Binary files /dev/null and b/apps/blog/public/sveltekit-prisma-kvCOEoeQlC/imgs/meta.png differ
diff --git a/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/hero.svg b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/hero.svg
new file mode 100644
index 0000000000..fd34670588
--- /dev/null
+++ b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/meta.png b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/meta.png
new file mode 100644
index 0000000000..b94f821515
Binary files /dev/null and b/apps/blog/public/testing-series-1-8eRB5p0Y8o/imgs/meta.png differ
diff --git a/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/hero.svg b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/hero.svg
new file mode 100644
index 0000000000..8fbc3603f4
--- /dev/null
+++ b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/hero.svg
@@ -0,0 +1,66 @@
+
diff --git a/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/meta.png b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/meta.png
new file mode 100644
index 0000000000..405d21de66
Binary files /dev/null and b/apps/blog/public/testing-series-2-xPhjjmIEsM/imgs/meta.png differ
diff --git a/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/hero.svg b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/hero.svg
new file mode 100644
index 0000000000..d7b88fd38f
--- /dev/null
+++ b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/meta.png b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/meta.png
new file mode 100644
index 0000000000..9ba4263318
Binary files /dev/null and b/apps/blog/public/testing-series-3-aBUyF8nxAn/imgs/meta.png differ
diff --git a/apps/blog/public/testing-series-4-OVXtDis201/imgs/hero.svg b/apps/blog/public/testing-series-4-OVXtDis201/imgs/hero.svg
new file mode 100644
index 0000000000..ffc58b46b3
--- /dev/null
+++ b/apps/blog/public/testing-series-4-OVXtDis201/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/testing-series-4-OVXtDis201/imgs/meta.png b/apps/blog/public/testing-series-4-OVXtDis201/imgs/meta.png
new file mode 100644
index 0000000000..63fae9be58
Binary files /dev/null and b/apps/blog/public/testing-series-4-OVXtDis201/imgs/meta.png differ
diff --git a/apps/blog/public/testing-series-5-xWogenROXm/imgs/hero.svg b/apps/blog/public/testing-series-5-xWogenROXm/imgs/hero.svg
new file mode 100644
index 0000000000..b45a95a8af
--- /dev/null
+++ b/apps/blog/public/testing-series-5-xWogenROXm/imgs/hero.svg
@@ -0,0 +1,84 @@
+
diff --git a/apps/blog/public/testing-series-5-xWogenROXm/imgs/meta.png b/apps/blog/public/testing-series-5-xWogenROXm/imgs/meta.png
new file mode 100644
index 0000000000..ecdeb1db40
Binary files /dev/null and b/apps/blog/public/testing-series-5-xWogenROXm/imgs/meta.png differ
diff --git a/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg
new file mode 100644
index 0000000000..0bbfc93ede
--- /dev/null
+++ b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png
new file mode 100644
index 0000000000..196b476980
Binary files /dev/null and b/apps/blog/public/the-guild-takes-over-oss-libraries-vvluy2i4uevs/imgs/meta.png differ
diff --git a/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg
new file mode 100644
index 0000000000..bc40397ea9
--- /dev/null
+++ b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/hero.svg
@@ -0,0 +1,81 @@
+
diff --git a/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png
new file mode 100644
index 0000000000..6ae9c360df
Binary files /dev/null and b/apps/blog/public/the-problems-of-schema-first-graphql-development-x1mn4cb0tyl3/imgs/meta.png differ
diff --git a/apps/blog/public/top-5-myths-about-prisma-orm/imgs/hero.svg b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/hero.svg
new file mode 100644
index 0000000000..8420c91baa
--- /dev/null
+++ b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/hero.svg
@@ -0,0 +1,76 @@
+
diff --git a/apps/blog/public/top-5-myths-about-prisma-orm/imgs/meta.png b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/meta.png
new file mode 100644
index 0000000000..30542ee749
Binary files /dev/null and b/apps/blog/public/top-5-myths-about-prisma-orm/imgs/meta.png differ
diff --git a/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg
new file mode 100644
index 0000000000..9d1de3a428
--- /dev/null
+++ b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/hero.svg
@@ -0,0 +1,108 @@
+
diff --git a/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png
new file mode 100644
index 0000000000..c18770f013
Binary files /dev/null and b/apps/blog/public/top-5-reasons-to-use-graphql-b60cfa683511/imgs/meta.png differ
diff --git a/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg
new file mode 100644
index 0000000000..22d0fe3891
--- /dev/null
+++ b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/hero.svg
@@ -0,0 +1,69 @@
+
diff --git a/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png
new file mode 100644
index 0000000000..9cf6e62f20
Binary files /dev/null and b/apps/blog/public/tracing-launch-announcement-pmk4rlpc0ll/imgs/meta.png differ
diff --git a/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg
new file mode 100644
index 0000000000..bb2424b121
--- /dev/null
+++ b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/hero.svg
@@ -0,0 +1,71 @@
+
diff --git a/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png
new file mode 100644
index 0000000000..cff9742f00
Binary files /dev/null and b/apps/blog/public/tracing-tutorial-prisma-pmkddgq1lm2/imgs/meta.png differ
diff --git a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg
index 9c102796ca..e9abfe5111 100644
--- a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg
+++ b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/hero.svg
@@ -1 +1,68 @@
-
\ No newline at end of file
+
diff --git a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png
index 83e99097a1..a9a32f23e4 100644
Binary files a/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png and b/apps/blog/public/try-prisma-announcment-Kv6bwRcdjd/imgs/meta.png differ
diff --git a/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg
new file mode 100644
index 0000000000..b15d790e38
--- /dev/null
+++ b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png
new file mode 100644
index 0000000000..2e8674effe
Binary files /dev/null and b/apps/blog/public/try-the-new-rust-free-version-of-prisma-orm-early-access/imgs/meta.png differ
diff --git a/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg
new file mode 100644
index 0000000000..60cb6d3336
--- /dev/null
+++ b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/hero.svg
@@ -0,0 +1,88 @@
+
diff --git a/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png
new file mode 100644
index 0000000000..3e170b7e4a
Binary files /dev/null and b/apps/blog/public/tryg-customer-story-pdmdrRhTupvd/imgs/meta.png differ
diff --git a/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg
new file mode 100644
index 0000000000..c49543c0d5
--- /dev/null
+++ b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/hero.svg
@@ -0,0 +1,89 @@
+
diff --git a/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png
new file mode 100644
index 0000000000..216bcf15ff
Binary files /dev/null and b/apps/blog/public/tutorial-building-a-realtime-graphql-server-with-subscriptions-2758cfc6d427/imgs/meta.png differ
diff --git a/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg
new file mode 100644
index 0000000000..31589ffdd4
--- /dev/null
+++ b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/hero.svg
@@ -0,0 +1,68 @@
+
diff --git a/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png
new file mode 100644
index 0000000000..b651aeb103
Binary files /dev/null and b/apps/blog/public/tutorial-render-props-in-react-apollo-2-1-199e9e2bd01e/imgs/meta.png differ
diff --git a/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg
new file mode 100644
index 0000000000..5d165970e6
--- /dev/null
+++ b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png
new file mode 100644
index 0000000000..a84d3e417e
Binary files /dev/null and b/apps/blog/public/tutorial-using-create-react-native-app-with-graphql-apollo-e630aee3ae1e/imgs/meta.png differ
diff --git a/apps/blog/public/tweets-for-trees-arboreal/imgs/hero.svg b/apps/blog/public/tweets-for-trees-arboreal/imgs/hero.svg
new file mode 100644
index 0000000000..11a9d833e3
--- /dev/null
+++ b/apps/blog/public/tweets-for-trees-arboreal/imgs/hero.svg
@@ -0,0 +1,73 @@
+
diff --git a/apps/blog/public/tweets-for-trees-arboreal/imgs/meta.png b/apps/blog/public/tweets-for-trees-arboreal/imgs/meta.png
new file mode 100644
index 0000000000..3d3af052ba
Binary files /dev/null and b/apps/blog/public/tweets-for-trees-arboreal/imgs/meta.png differ
diff --git a/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg
new file mode 100644
index 0000000000..a562850f43
--- /dev/null
+++ b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/hero.svg
@@ -0,0 +1,94 @@
+
diff --git a/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png
new file mode 100644
index 0000000000..d363821356
Binary files /dev/null and b/apps/blog/public/type-safe-js-with-jsdoc-typeSaf3js/imgs/meta.png differ
diff --git a/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg
new file mode 100644
index 0000000000..a5ae99ed4d
--- /dev/null
+++ b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/hero.svg
@@ -0,0 +1,64 @@
+
diff --git a/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png
new file mode 100644
index 0000000000..69b888b34b
Binary files /dev/null and b/apps/blog/public/using-graphql-nexus-with-a-database-pmyl3660ncst/imgs/meta.png differ
diff --git a/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg
new file mode 100644
index 0000000000..50aa773b82
--- /dev/null
+++ b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/hero.svg
@@ -0,0 +1,80 @@
+
diff --git a/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png
new file mode 100644
index 0000000000..5c35792176
Binary files /dev/null and b/apps/blog/public/vibe-coding-with-limits-how-to-build-apps-in-the-age-of-ai/imgs/meta.png differ
diff --git a/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg
new file mode 100644
index 0000000000..e6290e6dd8
--- /dev/null
+++ b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/hero.svg
@@ -0,0 +1,69 @@
+
diff --git a/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png
new file mode 100644
index 0000000000..4bbb551c4f
Binary files /dev/null and b/apps/blog/public/vibe-coding-with-prisma-mcp-and-nextjs/imgs/meta.png differ
diff --git a/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/hero.svg b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/hero.svg
new file mode 100644
index 0000000000..fd9d02b75c
--- /dev/null
+++ b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/meta.png b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/meta.png
new file mode 100644
index 0000000000..93c8fa1688
Binary files /dev/null and b/apps/blog/public/vscode-extension-prisma-rust-webassembly/imgs/meta.png differ
diff --git a/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg
new file mode 100644
index 0000000000..7132ee46f2
--- /dev/null
+++ b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png
new file mode 100644
index 0000000000..543982162f
Binary files /dev/null and b/apps/blog/public/watch-prisma-day-talks-z11sg6ipb3i1/imgs/meta.png differ
diff --git a/apps/blog/public/we-made-prisma-studio-even-better/imgs/hero.svg b/apps/blog/public/we-made-prisma-studio-even-better/imgs/hero.svg
new file mode 100644
index 0000000000..726011959c
--- /dev/null
+++ b/apps/blog/public/we-made-prisma-studio-even-better/imgs/hero.svg
@@ -0,0 +1,95 @@
+
diff --git a/apps/blog/public/we-made-prisma-studio-even-better/imgs/meta.png b/apps/blog/public/we-made-prisma-studio-even-better/imgs/meta.png
new file mode 100644
index 0000000000..907f061e69
Binary files /dev/null and b/apps/blog/public/we-made-prisma-studio-even-better/imgs/meta.png differ
diff --git a/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg
new file mode 100644
index 0000000000..ad06c368f9
--- /dev/null
+++ b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/hero.svg
@@ -0,0 +1,55 @@
+
diff --git a/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png
new file mode 100644
index 0000000000..faf996390f
Binary files /dev/null and b/apps/blog/public/whats-new-in-prisma-q1-2021-spjyqp0e2rk1/imgs/meta.png differ
diff --git a/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg
new file mode 100644
index 0000000000..745e22de68
--- /dev/null
+++ b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png
new file mode 100644
index 0000000000..575bfbc0ce
Binary files /dev/null and b/apps/blog/public/whats-new-in-prisma-q2-2021-z70muetl386d/imgs/meta.png differ
diff --git a/apps/blog/public/why-prisma-2024/imgs/hero.svg b/apps/blog/public/why-prisma-2024/imgs/hero.svg
new file mode 100644
index 0000000000..989f249c7e
--- /dev/null
+++ b/apps/blog/public/why-prisma-2024/imgs/hero.svg
@@ -0,0 +1,61 @@
+
diff --git a/apps/blog/public/why-prisma-2024/imgs/meta.png b/apps/blog/public/why-prisma-2024/imgs/meta.png
new file mode 100644
index 0000000000..13982fc2af
Binary files /dev/null and b/apps/blog/public/why-prisma-2024/imgs/meta.png differ
diff --git a/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg
new file mode 100644
index 0000000000..2e7d5cb49f
--- /dev/null
+++ b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/hero.svg
@@ -0,0 +1,76 @@
+
diff --git a/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png
new file mode 100644
index 0000000000..3a9203a55c
Binary files /dev/null and b/apps/blog/public/why-prisma-orm-checks-types-faster-than-drizzle/imgs/meta.png differ
diff --git a/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg
new file mode 100644
index 0000000000..80eef4a4fd
--- /dev/null
+++ b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/hero.svg
@@ -0,0 +1,75 @@
+
diff --git a/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png
new file mode 100644
index 0000000000..ecd5b74334
Binary files /dev/null and b/apps/blog/public/why-prisma-orm-generates-code-into-node-modules-and-why-it-ll-change/imgs/meta.png differ
diff --git a/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg
new file mode 100644
index 0000000000..4ae8545295
--- /dev/null
+++ b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/hero.svg
@@ -0,0 +1,54 @@
+
diff --git a/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png
new file mode 100644
index 0000000000..fd8e5c8a7a
Binary files /dev/null and b/apps/blog/public/why-sitegpt-chose-prisma-postgres-for-scalable-ai-powered-chatbots/imgs/meta.png differ
diff --git a/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg
new file mode 100644
index 0000000000..076299401c
--- /dev/null
+++ b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/hero.svg
@@ -0,0 +1,67 @@
+
diff --git a/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png
new file mode 100644
index 0000000000..d58cd29eb1
Binary files /dev/null and b/apps/blog/public/why-the-prisma-cli-asks-for-your-feedback/imgs/meta.png differ
diff --git a/apps/blog/public/wnip-q1-dsk0golh8v/imgs/hero.svg b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/hero.svg
new file mode 100644
index 0000000000..907970cede
--- /dev/null
+++ b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/hero.svg
@@ -0,0 +1,74 @@
+
diff --git a/apps/blog/public/wnip-q1-dsk0golh8v/imgs/meta.png b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/meta.png
new file mode 100644
index 0000000000..0b901b3ac7
Binary files /dev/null and b/apps/blog/public/wnip-q1-dsk0golh8v/imgs/meta.png differ
diff --git a/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg
new file mode 100644
index 0000000000..0dddb44722
--- /dev/null
+++ b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/hero.svg
@@ -0,0 +1,65 @@
+
diff --git a/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png
new file mode 100644
index 0000000000..eedde0beed
Binary files /dev/null and b/apps/blog/public/wnip-q2-2022-pmn7rulcj8x/imgs/meta.png differ
diff --git a/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/hero.svg b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/hero.svg
new file mode 100644
index 0000000000..21ad4e127e
--- /dev/null
+++ b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/hero.svg
@@ -0,0 +1,77 @@
+
diff --git a/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/meta.png b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/meta.png
new file mode 100644
index 0000000000..33d919986f
Binary files /dev/null and b/apps/blog/public/wnip-q3-hpk7pyth8v/imgs/meta.png differ
diff --git a/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg
new file mode 100644
index 0000000000..a3fd8d0c95
--- /dev/null
+++ b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/hero.svg
@@ -0,0 +1,63 @@
+
diff --git a/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/meta.png b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/meta.png
new file mode 100644
index 0000000000..71c6f150f2
Binary files /dev/null and b/apps/blog/public/wnip-q4-2022-f66prwkjx72s/imgs/meta.png differ
diff --git a/apps/blog/public/wnip-q4-dsk0golh8v/imgs/hero.svg b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/hero.svg
new file mode 100644
index 0000000000..ba2aeab1f3
--- /dev/null
+++ b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/hero.svg
@@ -0,0 +1,96 @@
+
diff --git a/apps/blog/public/wnip-q4-dsk0golh8v/imgs/meta.png b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/meta.png
new file mode 100644
index 0000000000..2ebb1be1c9
Binary files /dev/null and b/apps/blog/public/wnip-q4-dsk0golh8v/imgs/meta.png differ
diff --git a/apps/blog/public/working-with-data-in-large-teams/imgs/hero.svg b/apps/blog/public/working-with-data-in-large-teams/imgs/hero.svg
new file mode 100644
index 0000000000..d7b795f7f1
--- /dev/null
+++ b/apps/blog/public/working-with-data-in-large-teams/imgs/hero.svg
@@ -0,0 +1,75 @@
+
diff --git a/apps/blog/public/working-with-data-in-large-teams/imgs/meta.png b/apps/blog/public/working-with-data-in-large-teams/imgs/meta.png
new file mode 100644
index 0000000000..458d281ae8
Binary files /dev/null and b/apps/blog/public/working-with-data-in-large-teams/imgs/meta.png differ