Knowledge

Engineering

What is PHP2Shell, and is your website at risk?

What the PHP2Shell flaws are, why so many PHP sites are exposed, and why a Next.js site on Vercel does not run the code they affect.

How long can a Vercel Function run, and can it hold a WebSocket?

Vercel Function timeouts on Fluid compute, why an 800-second maxDuration can fail a deploy, and how we run WebSocket live cursors on Vercel Functions.

What is Vercel BotID, and when should you use it instead of a CAPTCHA?

What Vercel BotID does, how it compares with Turnstile and reCAPTCHA, Basic vs Deep Analysis, and how we run it on a public share page in Monogram Tools.

When does a background job need Vercel Workflows instead of a single function?

When to move a job from after() or a cron onto Vercel Workflows, how steps, retries and hooks behave, and the one long job we kept off it on purpose.

How does Vercel Connect keep OAuth tokens out of your environment variables?

What Vercel Connect is, how getToken, installations and token refresh work, how it compares with Nango or storing tokens yourself, and how we run Slack on it.

Where should files live in a Vercel app, and how much work should a cron do?

How we keep files in private Vercel Blob, and when a Vercel Cron Job should do bounded work itself or reconcile and hand off to a durable run.

From 72 to 99 on Is Agentic: what we changed on monogram.io

On Aug 27, Vercel's Is Agentic scanner scored monogram.io 72 out of 100. 11 days and one pull request later it reads 99. What the scanner measures, what we changed, and the checks that still fail.

Can Vercel OIDC federation replace the keys in your environment variables?

How Vercel OIDC federation issues short-lived tokens for AWS, GCP, Azure and Vercel's own services, why local tokens expire, and the gotchas we hit using it.

When should code run in Vercel Sandbox instead of a Vercel Function?

When to move work from a Vercel Function into Vercel Sandbox, how snapshots remove cold installs, and the limits we hit running microVMs in production.

We ship the AI layer with the code

When we hand a repo back, the AI layer we built with comes with it: instruction files, specs, skills, a DESIGN.md, and an MCP server. What each one does, and why the client's team can keep building without us.

Spec-Driven Development: Turning AI Coding from Guesswork into Ground Truth

An agent can build the feature and still have no idea why it exists.

Declarative macOS with Nix: A Practical Guide

Content Migration Done Right: Moving from Legacy to Headless CMS

Migrating Algolia to Typesense: A Practical Guide

Learn how to migrate from Algolia to Typesense with this step-by-step guide, covering schema handling, filtering, sorting, and key optimizations for a smooth transition.

A Guide to Astro Navigation

Our best practices when dealing with navigation in Astro

Harnessing AI to Streamline Project Management at Monogram

At Monogram, we manage a diverse array of projects, each demanding unique skills and constant learning. To enhance efficiency and transparency, we use Gemini Pro, an AI tool that transforms our extensive task notes into concise, coherent weekly summaries.

Add Notifications to your iOS PWA

How to add notifications to your iOS & iPadOS progressive web apps (PWA).

Exploring New Horizons: Gemini Pro Vision's Test Integration with Raster Promises a Smarter Way to Handle Visual Content.

Crafting Interactivity: How Monogram Built the Engaging Animations for Angular.dev's Homepage (Part 2)

Discover the advanced WebGL and GLSL techniques in Angular animations in this in-depth exploration. Delve into the workings of the View base class and its application of TRSA values for managing the WebGL scene graph. This technical dive covers transforming and rotating 3D geometries, scaling, and alpha transparency, alongside a mastery of GLSL shader code for effects like mask, line gradients, and the "Build for everyone" transition. Learn efficient animation strategies using InstancedMesh and LineObject instances, optimizing performance while maintaining visual appeal. Access complete code examples and further insights on Angular's GitHub and CodeSandbox.

Crafting Interactivity: How Monogram Built the Engaging Animations for Angular.dev's Homepage (Part 1)