Skip to content

blog: App Hosting and Compute Platforms for AI Agents in 2026#7966

Merged
ankur-arch merged 10 commits into
mainfrom
blog/app-hosting-compute-platforms-2026
Jun 19, 2026
Merged

blog: App Hosting and Compute Platforms for AI Agents in 2026#7966
ankur-arch merged 10 commits into
mainfrom
blog/app-hosting-compute-platforms-2026

Conversation

@ankur-arch

@ankur-arch ankur-arch commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Adds Martin Janse van Rensburg's field-guide post comparing the 2026 wave of app-hosting/compute platforms (Prisma Compute, Neon, Cloudflare Containers, Hosting.com, Unkey, Insforge), adapted from the internal Notion draft and run through a deslop pass.

What's here

  • New post app-hosting-compute-platforms-for-ai-agents-2026, authored by Martin (avatar resolves from the existing authors registry).
  • New TweetColumns component — prose and a tweet sit side by side on wide screens and stack (prose first, tweet below) on mobile, matching the Notion layout. Registered in mdx-components.tsx.
  • Joins the prisma-compute series (index 8), dated 2026-06-19.
  • Fixes the Notion auto-link artifacts (queries.it, skill.md), adds strong internal backlinks to the rest of the Compute series, and closes by pointing at Prisma Compute + Postgres without selling.
  • Simple on-brand hero SVG (system fonts, no external assets).

⚠️ Action needed before merge: tweet IDs

The 6 tweet embeds use placeholder IDs and render a visible "pending" box (so the build stays green). Replace each tweetId in the post with the numeric ID from the tweet URL:

Section placeholder
Prisma Compute prisma-compute-launch
Neon Compute neon-compute-launch
Cloudflare Containers cloudflare-containers-ga
Hosting.com hosting-com-launch
Unkey Deploy unkey-deploy-launch
Insforge insforge-launch

pnpm --filter blog types:check passes.

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features

    • Added a new MDX-powered tweet embed component for blog posts, with responsive layout (two-column desktop with left/right control, stacked on mobile) and a placeholder state when no valid tweet ID is provided.
  • Bug Fixes

    • Improved embed robustness by handling incomplete tweet data and rendering a clean fallback link when embeds fail.
  • Documentation

    • Published a new 2026 blog field guide on “AI agents + compute platforms,” including a curated comparison of compute options and guidance on “compute next to data.”

…n 2026"

Field guide post by Martin Janse van Rensburg, adapted from the internal draft
and desloped. Adds a TweetColumns component: tweet + prose side by side on wide
screens, tweet stacked below the prose on mobile (mirrors the Notion layout).

- Author + avatar resolve from the existing authors registry
- Joins the prisma-compute series (index 8), dated 2026-06-19
- Fixes Notion auto-link artifacts (queries.it, skill.md)
- Strong internal backlinks to the rest of the Compute series; non-salesy close
- Tweet IDs are placeholders rendering a visible "pending" box until real IDs land

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Jun 19, 2026 1:17pm
docs Ready Ready Preview, Comment Jun 19, 2026 1:17pm
eclipse Ready Ready Preview, Comment Jun 19, 2026 1:17pm
site Ready Ready Preview, Comment Jun 19, 2026 1:17pm

Request Review

@argos-ci

argos-ci Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - Jun 19, 2026, 1:23 PM

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds server-side TweetColumns and TweetBoundary components for embedding tweets in MDX pages with server-fetched content and error handling, registers the component in the global MDX system, and publishes a new blog post that surveys six compute platforms for AI agents in 2026 using the new component throughout.

Changes

TweetColumns Component and Blog Post

Layer / File(s) Summary
TweetBoundary and TweetColumns async components
apps/blog/src/components/TweetBoundary.tsx, apps/blog/src/components/TweetColumns.tsx
Implements TweetBoundary, a client-side error boundary wrapping react-tweet's EmbeddedTweet to catch render failures and display a fallback X link. Implements TweetColumns as an async server component that validates numeric tweet IDs, fetches tweets server-side, sanitizes missing entities arrays for safety, and renders a responsive two-column layout (desktop left/right via side prop, mobile stacked). Non-numeric IDs show a "Tweet embed pending" placeholder.
TweetColumns MDX registration
apps/blog/src/mdx-components.tsx
Imports TweetColumns and registers it in the mdxComponents object so MDX documents can use it as a built-in component.
AI agents compute platforms blog post
apps/blog/content/blog/app-hosting-compute-platforms-for-ai-agents-2026/index.mdx
Adds a complete blog post with frontmatter (title, slug, date, authors, SEO, hero image, tags, series) and body covering six compute platforms (Prisma Compute, Neon Compute, Cloudflare Containers, Hosting.com, Unkey Deploy, Insforge), each annotated with status labels and embedded TweetColumns widgets. Concludes with a "why now" analysis tying platform convergence to agent efficiency pressures and a disclosure paragraph.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding a new blog post about app hosting and compute platforms for AI agents in 2026, which is the primary focus of this pull request.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@apps/blog/content/blog/app-hosting-compute-platforms-for-ai-agents-2026/index.mdx`:
- Line 43: The TweetColumns components contain non-numeric placeholder values
for the tweetId prop (such as "prisma-compute-launch" at line 43 and the other
instances at lines 57, 71, 85, 99, and 113) instead of actual numeric Twitter
status IDs. Replace each placeholder tweetId value with the corresponding
numeric status ID extracted from the tweet's URL path (the digits from
/status/<id>). This will ensure the component renders actual tweet embeds
instead of pending placeholder boxes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 34365af8-d7a1-4e7d-9761-7e0fec87aaca

📥 Commits

Reviewing files that changed from the base of the PR and between ea2aa11 and 8b1ee1e.

⛔ Files ignored due to path filters (1)
  • apps/blog/public/app-hosting-compute-platforms-for-ai-agents-2026/imgs/hero.svg is excluded by !**/*.svg
📒 Files selected for processing (3)
  • apps/blog/content/blog/app-hosting-compute-platforms-for-ai-agents-2026/index.mdx
  • apps/blog/src/components/TweetColumns.tsx
  • apps/blog/src/mdx-components.tsx

Comment thread apps/blog/content/blog/app-hosting-compute-platforms-for-ai-agents-2026/index.mdx Outdated
…e series

- Replace the six placeholder tweet IDs with the real numeric IDs
- Drop series/seriesIndex so this stays a standalone post; keep the strong
  cross-links to the Compute series posts in the body

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Revert the deslop edits so the wording matches the Notion draft (the author's
voice). Keeps the structural work: TweetColumns layout, real tweet IDs, fixed
Notion auto-link artifacts (queries.it, skill.md), a couple of internal
backlinks, and a short non-salesy closing disclosure.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… reliably

react-tweet 3.3.0's getEntities() iterates entities.hashtags/user_mentions/
urls/symbols without guarding undefined. Newer tweets (with media or cards)
come back from the syndication API missing some of those arrays, so enrichTweet
threw "undefined is not iterable" inside EmbeddedTweet's useMemo and blanked the
whole page with a client-side exception.

- Fetch each tweet server-side with getTweet and backfill the missing entity
  arrays before rendering <EmbeddedTweet>, so all six tweets embed
- Wrap each embed in a client error boundary that falls back to a link to the
  post on X, so a single bad tweet can never take down the page again

Verified locally: page renders fully, all 6 tweets embed (was: client-side
exception, blank page).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
apps/blog/src/components/TweetColumns.tsx (1)

31-33: 💤 Low value

Consider logging fetch failures for observability.

The empty catch block silently swallows errors, which makes it harder to diagnose production issues like API rate limits, network failures, or syndication endpoint changes. The graceful degradation to a fallback link is good UX, but you lose visibility into why tweets are failing to load.

A console.error or structured log would help during debugging without impacting users.

💡 Suggested improvement
   try {
     tweet = await getTweet(tweetId);
   } catch {
+    console.error(`[TweetCard] Failed to fetch tweet ${tweetId}`);
     tweet = undefined;
   }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/blog/src/components/TweetColumns.tsx` around lines 31 - 33, The empty
catch block in the tweet fetching logic silently swallows errors without any
logging, making it difficult to diagnose production issues like API failures or
rate limits. Add error logging inside the catch block that captures and logs the
actual error details along with a descriptive message to provide observability.
Keep the existing graceful degradation behavior where tweet is set to undefined,
but ensure the error information is recorded for debugging purposes.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@apps/blog/src/components/TweetColumns.tsx`:
- Around line 31-33: The empty catch block in the tweet fetching logic silently
swallows errors without any logging, making it difficult to diagnose production
issues like API failures or rate limits. Add error logging inside the catch
block that captures and logs the actual error details along with a descriptive
message to provide observability. Keep the existing graceful degradation
behavior where tweet is set to undefined, but ensure the error information is
recorded for debugging purposes.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 94617bc0-a082-454f-b7a9-833bdbce7a31

📥 Commits

Reviewing files that changed from the base of the PR and between c117247 and cfa4dab.

📒 Files selected for processing (2)
  • apps/blog/src/components/TweetBoundary.tsx
  • apps/blog/src/components/TweetColumns.tsx
✅ Files skipped from review due to trivial changes (1)
  • apps/blog/src/components/TweetBoundary.tsx

… post

Per prisma-product-messaging, drop the unsourced/absolute claims about our own
product (bare metal, near-zero cold starts, single-digit millisecond queries)
and keep the supported framing: TypeScript app hosting co-located with Prisma
Postgres for low-latency queries, built for warm/stateful workloads. Competitor
descriptions and the author's voice are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…o text-left

- TweetColumns: md:items-start (was items-center) and zero react-tweet's
  container margin so the prose top lines up with the tweet header
- Section 6 (Insforge): side="right" so prose is on the left and the embed on
  the right, matching the alternating layout

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment thread apps/blog/content/blog/app-hosting-compute-platforms-for-ai-agents-2026/index.mdx Outdated
Comment thread apps/blog/content/blog/app-hosting-compute-platforms-for-ai-agents-2026/index.mdx Outdated
…p em dashes

- 'this leads to' -> 'this might lead to' (more even-handed)
- Remove em dashes (body + metaDescription) per review

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ankur-arch ankur-arch merged commit 7032e2f into main Jun 19, 2026
3 of 8 checks passed
@ankur-arch ankur-arch deleted the blog/app-hosting-compute-platforms-2026 branch June 19, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants