41554 blogs · [ { "id": "01a0e429-c815-70a3-af91-ba36184e94c8", "title": "Add Google One Tap sign-in to your web app with Appwrite", "url": "https://appwrite.io/blog/post/add-google-one-tap-to-your-web-app", "published_at": "2026-09-25T00:00:00+00:00" }, { "id": "01a0e429-c815-70a3-af91-ba3618c2e4d5", "title": "Announcing user photos: A profile picture for every user", "url": "https://appwrite.io/blog/post/announcing-user-photos", "published_at": "2026-09-25T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791c767425", "title": "Announcing native sign-in: Create Appwrite sessions from Apple and Google ID tokens", "url": "https://appwrite.io/blog/post/announcing-native-sign-in", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791d2429b4", "title": "Announcing one-click Resend setup in the Appwrite Console", "url": "https://appwrite.io/blog/post/announcing-resend-one-click-setup", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791db7ec48", "title": "PostgreSQL, MySQL, and dedicated databases are now available across all regions", "url": "https://appwrite.io/blog/post/native-databases-all-appwrite-cloud-regions", "published_at": "2026-09-24T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791dc78622", "title": "Introducing the official Appwrite plugin for ChatGPT", "url": "https://appwrite.io/blog/post/announcing-appwrite-chatgpt-plugin", "published_at": "2026-09-23T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791e0a7b71", "title": "The new Appwrite plugin for Codex: Skills and hosted MCP", "url": "https://appwrite.io/blog/post/appwrite-codex-plugin-hosted-mcp", "published_at": "2026-09-23T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791e6e54f4", "title": "Twelve Appwrite Firewall rules that stop real attacks", "url": "https://appwrite.io/blog/post/appwrite-firewall-use-cases", "published_at": "2026-09-23T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791ea736dd", "title": "Updated Appwrite plugins for Claude Code and Codex are live", "url": "https://appwrite.io/blog/post/appwrite-plugins-claude-code-codex", "published_at": "2026-09-23T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791f268e93", "title": "Announcing Firewall presets: ready-made traffic rules", "url": "https://appwrite.io/blog/post/announcing-firewall-presets", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85791fc55c91", "title": "Appwrite Terraform provider is now a HashiCorp Partner Premier provider", "url": "https://appwrite.io/blog/post/announcing-terraform-partner-program", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85792054e3df", "title": "Introducing authenticated preview deployments for Appwrite Sites", "url": "https://appwrite.io/blog/post/authenticated-site-previews", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-857920da750a", "title": "Introducing Appwrite Start", "url": "https://appwrite.io/blog/post/introducing-appwrite-cloud-start-plan", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-857921141fd8", "title": "Announcing ephemeral API keys for Appwrite Sites", "url": "https://appwrite.io/blog/post/announcing-sites-dynamic-api-keys", "published_at": "2026-09-18T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-85792118cccc", "title": "Support the well-known change password URL with Appwrite Auth", "url": "https://appwrite.io/blog/post/well-known-change-password-url", "published_at": "2026-09-16T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-8579219aabe5", "title": "Build a WhatsApp AI agent with Appwrite Functions and TablesDB", "url": "https://appwrite.io/blog/post/whatsapp-ai-agent-appwrite-functions", "published_at": "2026-09-16T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-857922651a8c", "title": "Appwrite Init 2026 recap: Everything we shipped", "url": "https://appwrite.io/blog/post/appwrite-init-2026-recap", "published_at": "2026-09-15T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-857922e27a16", "title": "Appwrite 2.1 is now available for self-hosting", "url": "https://appwrite.io/blog/post/appwrite-2-1-self-hosted", "published_at": "2026-09-14T00:00:00+00:00" }, { "id": "01a094c7-4242-711e-8a5a-345e9a961ec2", "title": "Introducing the Affiliates program", "url": "https://appwrite.io/blog/post/introducing-the-affiliates-program", "published_at": "2026-09-11T00:00:00+00:00" }, { "id": "01a08c71-ee47-71c2-8643-b89f2c864c81", "title": "Automatic image cropping in Appwrite with AutoGravity", "url": "https://appwrite.io/blog/post/introducing-autogravity", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a0d542-af41-738d-a9db-857923f8ff71", "title": "Build a support chatbot with Appwrite Functions and VectorsDB", "url": "https://appwrite.io/blog/post/build-support-chatbot-vectorsdb", "published_at": "2026-09-10T00:00:00+00:00" }, { "id": "01a0829b-c0a0-7362-8b82-392f9f3cb15d", "title": "How Lorari scaled to 100+ fitness studios solo with Appwrite", "url": "https://appwrite.io/blog/post/customer-story-lorari", "published_at": "2026-09-09T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f3ee6e0c", "title": "Use Drizzle ORM with Appwrite Postgres", "url": "https://appwrite.io/blog/post/drizzle-orm-appwrite-postgres", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f3f99a65", "title": "Use Prisma ORM with Appwrite Postgres", "url": "https://appwrite.io/blog/post/prisma-orm-appwrite-postgres", "published_at": "2026-09-08T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f47ef59e", "title": "Introducing worker topologies for self-hosted Appwrite", "url": "https://appwrite.io/blog/post/announcing-worker-topologies", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f506c9c9", "title": "Introducing Postgres to self-hosted Appwrite", "url": "https://appwrite.io/blog/post/appwrite-2-0-postgres-by-default", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f5c7fa77", "title": "Appwrite 2.0 is now available for self-hosting", "url": "https://appwrite.io/blog/post/appwrite-2-self-hosted", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f5cc9f5c", "title": "Announcing Appwrite Apps: Create apps that build on your users' Appwrite projects", "url": "https://appwrite.io/blog/post/announcing-apps-for-appwrite-partners", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f6cb6211", "title": "Announcing Appwrite Domains: your registrar and DNS host", "url": "https://appwrite.io/blog/post/announcing-appwrite-domains", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f72cb318", "title": "Announcing Appwrite Firewall: traffic control for your project", "url": "https://appwrite.io/blog/post/announcing-appwrite-firewall", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f7fea246", "title": "Announcing the Appwrite OAuth2 server: Turn your project into an identity provider", "url": "https://appwrite.io/blog/post/announcing-oauth2-server", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f8282823", "title": "Build a memory MCP server on Appwrite", "url": "https://appwrite.io/blog/post/build-a-memory-mcp-server", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f8e3b3f9", "title": "Fixed window, sliding window, or token bucket? Choosing a rate limit strategy in Appwrite Firewall", "url": "https://appwrite.io/blog/post/firewall-rate-limit-strategies", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f986b0bd", "title": "How to add Sign in with Appwrite to your app", "url": "https://appwrite.io/blog/post/sign-in-with-appwrite-guide", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1f9becee1", "title": "Turn your app into an MCP server with the Appwrite OAuth2 server", "url": "https://appwrite.io/blog/post/turn-your-app-into-an-mcp-server", "published_at": "2026-09-04T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fa7c8fe4", "title": "Announcing Bitbucket support for Sites and Functions", "url": "https://appwrite.io/blog/post/announcing-bitbucket-support", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fadef4a1", "title": "Announcing GitLab support for Appwrite Sites and Functions", "url": "https://appwrite.io/blog/post/announcing-gitlab-support", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fb32e9f3", "title": "Announcing the S3 API: Use any S3 client with Appwrite Storage", "url": "https://appwrite.io/blog/post/announcing-s3-api", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fb7f5107", "title": "Announcing DocumentsDB: Documents that evolve with your product", "url": "https://appwrite.io/blog/post/announcing-documentsdb", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fc6ba0b4", "title": "Announcing native MySQL databases: Bring your MySQL workloads to Appwrite", "url": "https://appwrite.io/blog/post/announcing-native-mysql-databases", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fc859f61", "title": "Announcing VectorsDB: Similarity search as a first-class Appwrite database", "url": "https://appwrite.io/blog/post/announcing-vectorsdb", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fc922810", "title": "Build a help center with semantic search using Appwrite VectorsDB", "url": "https://appwrite.io/blog/post/build-a-help-center-with-appwrite-vectorsdb", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fcdd97b0", "title": "Four things you can build with Appwrite VectorsDB", "url": "https://appwrite.io/blog/post/vectorsdb-use-cases", "published_at": "2026-09-02T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fd3b8504", "title": "Appwrite now speaks Postgres", "url": "https://appwrite.io/blog/post/appwrite-now-speaks-postgresql", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fd44240f", "title": "Native databases vs Appwrite databases: which one should you pick?", "url": "https://appwrite.io/blog/post/native-databases-vs-appwrite-databases", "published_at": "2026-09-01T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fdcdf7f8", "title": "Announcing Appwrite 2.0: a new foundation for your apps", "url": "https://appwrite.io/blog/post/announcing-appwrite-2", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fe696e1c", "title": "Introducing Appwrite Explorer", "url": "https://appwrite.io/blog/post/announcing-appwrite-explorer", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fe6ac27d", "title": "Announcing Console IV: the website and Console as one app", "url": "https://appwrite.io/blog/post/announcing-console-iv", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fed98b9b", "title": "Introducing Appwrite Terminal", "url": "https://appwrite.io/blog/post/announcing-console-terminal", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1feec1f6b", "title": "Hyperloop B: the coroutine engine behind Appwrite 2.0", "url": "https://appwrite.io/blog/post/hyperloop-b", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1ff889ba0", "title": "Bun 1.4 lands on Appwrite: the first Bun written in Rust", "url": "https://appwrite.io/blog/post/announcing-bun-1-4-runtime", "published_at": "2026-08-21T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a1fff33250", "title": "Cursor Origin review: An engineer’s perspective", "url": "https://appwrite.io/blog/post/cursor-origin-review-an-engineers-perspective", "published_at": "2026-08-18T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a200497aca", "title": "Cursor Origin vs GitHub: What changes for developers", "url": "https://appwrite.io/blog/post/cursor-origin-vs-github-what-actually-changes-for-developers", "published_at": "2026-08-18T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2013747cb", "title": "Custom MFA factor: send a second factor through any channel", "url": "https://appwrite.io/blog/post/custom-mfa-factor", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a201b37a58", "title": "Inside Appwrite's new build cache: 4x faster dependency installs", "url": "https://appwrite.io/blog/post/inside-appwrites-new-build-cache", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2025ba00a", "title": "What's new in Grok 4.6 from 500K context to pricing", "url": "https://appwrite.io/blog/post/whats-new-in-grok-46-from-500k-context-to-pricing", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a203104ec2", "title": "Faster Appwrite Sites deployments powered by SquashFS", "url": "https://appwrite.io/blog/post/appwrite-sites-squashfs-migration", "published_at": "2026-08-12T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a203babf0a", "title": "The Appwrite CLI is now written in Go", "url": "https://appwrite.io/blog/post/rewriting-the-appwrite-cli-in-go", "published_at": "2026-08-11T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2048adb75", "title": "ChatGPT is now free and unlimited when using GPT-5.6 Luna", "url": "https://appwrite.io/blog/post/what-gpt-56-sols-chatgpt-update-means-for-developers", "published_at": "2026-08-07T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2057a2e65", "title": "Build and deploy an MCP server with Appwrite Functions", "url": "https://appwrite.io/blog/post/announcing-mcp-server-template", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a205847023", "title": "ChatGPT education plugins: What changes for developers", "url": "https://appwrite.io/blog/post/chatgpt-education-plugins-what-changes-for-developers", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2060965bb", "title": "Build a financial analysis MCP server with Appwrite Functions", "url": "https://appwrite.io/blog/post/financial-analysis-mcp-server", "published_at": "2026-08-06T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2066d8c3c", "title": "July product update: Remote MCP server, Projects API and more", "url": "https://appwrite.io/blog/post/july-product-update-remote-mcp-server-projects-api-and-more", "published_at": "2026-08-05T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a207266b70", "title": "Next.js 16.3 brings client-side caching to the App Router", "url": "https://appwrite.io/blog/post/nextjs-163-brings-client-side-caching-to-the-app-router", "published_at": "2026-08-05T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2074e14c6", "title": "The Appwrite MCP server is now remote: one URL, no API keys", "url": "https://appwrite.io/blog/post/announcing-remote-appwrite-mcp-server", "published_at": "2026-07-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a208119f07", "title": "OpenAI cuts GPT-5.6 pricing and adds Fast mode to the API", "url": "https://appwrite.io/blog/post/openai-cuts-gpt-56-pricing-and-adds-fast-mode-to-the-api", "published_at": "2026-07-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a20824fd0a", "title": "Grok Voice Think Fast 2.0: Benchmarks, pricing, specs", "url": "https://appwrite.io/blog/post/whats-new-in-grok-voice-think-fast-20", "published_at": "2026-07-31T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a208551ab5", "title": "What's new in the MCP 2026-07-28 specification", "url": "https://appwrite.io/blog/post/mcp-goes-stateless-in-the-2026-07-28-specification", "published_at": "2026-07-30T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a208dc94d3", "title": "Announcing OAuth Device Authorization for the Appwrite CLI: Log in from your browser", "url": "https://appwrite.io/blog/post/announcing-cli-device-authorization", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a2098fdf7c", "title": "Grok Build Mode: Everything developers need to know", "url": "https://appwrite.io/blog/post/grok-build-mode-everything-developers-need-to-know", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a209d9b514", "title": "What is CIDR? A complete guide for developers", "url": "https://appwrite.io/blog/post/what-is-cidr-a-complete-guide-for-developers", "published_at": "2026-07-28T00:00:00+00:00" }, { "id": "01a08214-8746-72b1-a1a5-f2a20a2f59a0", "title": "Claude Opus 5 nears Fable 5 intelligence at half the price", "url": "https://appwrite.io/blog/post/claude-opus-5-nears-fable-5-intelligence-at-half-the-price", "published_at": "2026-07-27T00:00:00+00:00" } ] posts Claim your blog
Back to Appwrite Engineering
Blog · corpus.blog/blogs/appwrite.io/posts

Appwrite Engineering

appwrite.io

2026