Next.js 在 Cloudflare Workers 上生成 OG 图:Satori、缓存与 2026 预热实践
在 Cloudflare Workers 上为 Next.js 生成 Open Graph 图片:Satori/resvg 限制、冷启动与 CPU 时间、R2/CDN 缓存与发布时预热,附可复制的 r
20+ years of full-stack experience, focused on Cloudflare architecture, AI apps & billing, and cross-platform delivery. Remote, priced to scope.
One person, fully accountable for your project.
No middle layer or sales pitch — the person you talk to is the one who builds.
At home with async communication and cross-timezone work, driven by milestones.
From frontend to infrastructure, owning the whole product solo.
Estimated by project scope — clear, transparent, no long lock-in.
Products I build — give them a try.
The three things people most often come to me for.
Run Next.js / Nuxt on Cloudflare for good — and leave runaway Vercel bills behind.
From LLM integration to Stripe billing — ship an AI product that actually gets paid.
One React Native / Expo codebase, shipped reliably to iOS and Android.
Browser-native utilities — local processing, no upload.
Convert and resize PNG / JPG / WebP / HEIC locally — nothing uploaded.
Edit text inside a PDF right in your browser.
Format, validate, and explore JSON data.
Check a page’s Open Graph image and metadata.
Export Markdown to a clean PDF in one click.
Notes on architecture, pitfalls, and practice.
在 Cloudflare Workers 上为 Next.js 生成 Open Graph 图片:Satori/resvg 限制、冷启动与 CPU 时间、R2/CDN 缓存与发布时预热,附可复制的 r
博客的 TiDB 账单逼近限额,RU 基线常年 110+。我用两天逐层排查:边缘缓存、漏洞扫描器、WordPress 对象缓存、连接税、TiFlash 副本、演示数据……一个接一个假设被数据打脸。把能
近期想给拜拜更换 Payload CMS,于是再次在 Cloudflare Workers 上搭建 Payload CMS + OpenNext。没想到又阴沟翻船,连续踩中构建、R2、sharp、版本
记录在用 Cloudflare Email Worker 处理邮件时遇到的三个常见坑:不能转发到同一 Worker、目标地址需验证、以及 message.raw 只能读一次,并给出用 R2 缓存 .e
第一笔订单最重要的不是收入,而是信号:有人真的需要一个从简历制作、模拟面试、面试复盘到入职辅导都能陪跑的 AI 求职平台。我会再接再厉,做最好用的 AI求职陪跑工具。
一周九个项目并行,共189个 commit。muicv 快速迭代完善语音输入与本地/云同步,free-ai-api 批量接入多家模型并扩展到6语,多个新项目上线 Cloudflare。
Whether it's a Cloudflare migration, an AI billing system, or a cross-platform app — tell me what you need and I'll come back with a clear plan and quote.