Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .optimize-cache.json
Original file line number Diff line number Diff line change
Expand Up @@ -142,8 +142,10 @@
"images/blog/adding-url-shortener/shortener.png": "170a82455ab8bc95ccfcccab0ce3bc7ae194caa79b03ff42a83ea7a921ed1306",
"images/blog/adding-url-shortener/variables.png": "9e5135356992986e0c68f84b75da7f71990d882283693d80ef1461ab209b5a84",
"images/blog/agency-backend-standardization/cover.png": "b0f24c2e12e820e8707b1b63dcf11f7181752cd47d4bd142c36bbd29c5018f3a",
"images/blog/agent-native-backend-platforms/cover.png": "441fab2ce0c04df6b6569db19d33bd1cd9051614ea1dd7045db87a55e45d19c0",
"images/blog/agentic-ai-vs-generative-ai/cover.png": "fcda7c601879683cc380860c3a9403d8d6868cdc3bbf239cd74077f67df830aa",
"images/blog/ai-announcement.png": "255c23234eb3bfa441ec1c15939e360afa2127b7172ee8addbdb6c55c14bea02",
"images/blog/ai-app-builder-vs-backend-platform/cover.png": "8a79fb90e46f6db1fa01a07ceefac1c4d9fd5b972b395a779f375bd998211b1f",
"images/blog/ai-crystal-ball/cover.png": "c0cb15a8bd1d0637447abf443145a8465f18b57493783187810bf6bd73eda272",
"images/blog/ai-crystal-ball/github.png": "238ed65c2ae5148055b51468a9ee440a8f09d26bae31ed49489904517331ee3b",
"images/blog/ai-crystal-ball/oauth.png": "b2eb223edbc8d15759ad8504f2af0af1a310bdcd128cad0d834c8dfb628a80c2",
Expand Down Expand Up @@ -273,7 +275,14 @@
"images/blog/appwrite-teams-roles/cover.png": "34f333eb8ec3ef92514f67d365850a2054e9c9990671f6647ea575533e2954d1",
"images/blog/appwrite-vs-auth0-b2c/appwrite-vs-auth0-chart.png": "bba9245370213f15d1d2066260b22a07fccc054b2847596ad66f57bd968e2d63",
"images/blog/appwrite-vs-auth0-b2c/cover.png": "97e405da84a457a567b552dea23f10e2e4cc5894e90c36d386efb414623a1d9e",
"images/blog/appwrite-vs-cloudflare-stateful-ai-agents/cover.png": "a24196757a99639dbc0c825b5be683107effbff5e85947fc15c5201c27258401",
"images/blog/appwrite-vs-cloudinary/cover.png": "ce7d9211396f334c7d165458fe07ffa5fa124dd3e1441e8c993fd60126adb04c",
"images/blog/appwrite-vs-convex-ai-agents/cover.png": "78cf998ed3d4e52c68cae3422bee3ded600669e4c5afac0dace39ba647a78824",
"images/blog/appwrite-vs-firebase-ai-development/cover.png": "cd47646f739766371a25b179f85558218efc0d2f3d26d9ce32efc92f72226221",
"images/blog/appwrite-vs-neon-ai-backends/cover.png": "3398e51226eff72303b6b13199bda8a57ff81258d80163b05b1821e53d0959fd",
"images/blog/appwrite-vs-replit-agent-backend/cover.png": "acfecd8d097efb3f59abd867ebfaf5ef9dd757d1e0bda279db070f2116276431",
"images/blog/appwrite-vs-supabase-ai-apps/cover.png": "3f38661cc9041201ca3a5f6dfd58d912584f0c5887003d4b73795b232f7d4e04",
"images/blog/appwrite-vs-vercel-ai-apps/cover.png": "2849063490deb490dc1fb8be5b1ead9c61a09f68c111cfb7578256e916afe73e",
"images/blog/appwrite-vs-vercel-vs-netlify/cover.png": "dbe40ef9cd2308555771129b95a6bfd7c7d6aa31fb88dab3a9071ad8a415284b",
"images/blog/appwrite-webhooks/cover.png": "3dfed85fb2fbe79c894b9f3808ba95a9533d9c3307879582e1e84d842e3d620f",
"images/blog/avif-in-storage/cover.png": "23c26ec1a8f23f5bf6c55b19407d0738aa41cdc502dc3eef14a78f430a14447b",
Expand All @@ -287,13 +296,15 @@
"images/blog/baas-vs-custom-backend/messaging.png": "54a574317afa9ed22728aa3e10aa1ca1157a29bdfea61909a5260ca1f79d4f4f",
"images/blog/baas-vs-custom-backend/storage.png": "6ed39797b1d5f67299c55b1be3944912860811564c38e849adb31a0d4a23ec46",
"images/blog/baas.png": "e5353595cc9c6c8037a7b9b3a8ff25552cb39f61a120ecb867c63de46f14aa74",
"images/blog/backend-checklist-vibe-coded-apps/cover.png": "266738e6cc39ad295a0e0a2bc454c5c99770fdf80015b5bdc76cc0d61d8cd170",
"images/blog/backend-mistakes-that-quietly-cost-small-teams-weeks/cover.png": "c804b93ac334b4224c612fc5c177469f30a6a6e548db1c93e90fb95b35544bda",
"images/blog/backend-platform-longevity-what-to-look-for-beyond-features/cover.png": "234650617a90c69a898eb456ae2d807f3a1d0f627376ac6481074b24c1712196",
"images/blog/backend-platform-security-responsibilities/cover.png": "030e20752d00612ff677b28c2fd30665ed34fcd77ee80a6efa89d9d789cb9d94",
"images/blog/backend-that-scales/cover.png": "1d6ee39bc41387024bb9beded27137e7f135293c654add113ca9ee3fd4b8c9cb",
"images/blog/backup-encryption/cover.png": "4a3b2f9f2acc75681669c1dcefa407455e6f7ee29f2dc04bd4e9cae5f9d646c9",
"images/blog/badge.png": "2d1852c6f826d55c40cb848cc3813f25a4d3d982a6f56d2738c9e5b3d0ac9694",
"images/blog/Behind_the_pull_request_Stories_from_contributors.png": "16d81aff97deaded8b03c33f4498d3bf6f8ec392fee8edff6dc273d0cafbd132",
"images/blog/best-backend-for-lovable-apps/cover.png": "579bcfe22908eee951880652a4075c0a26d34b661ab27e4f2c3708bdf717ceaf",
"images/blog/best-free-static-website-hosting/cover.png": "022f31c5c5897d77ccfbfc2149ee81ed6f8a7bbaca91b5c3c09cd2b2e9432450",
"images/blog/best-ios-android-app-development-platform/cover.png": "68aa7d27a6c8265fc254663fb470f4ae1a436a34b85a0c06faa0776fedcdb2b5",
"images/blog/best-pagination-technique/cover.png": "6c1cdf54285c0c181eb08f888d924e64919113d7d2fa85b24c8b5a44bd47e52a",
Expand Down Expand Up @@ -708,6 +719,7 @@
"images/blog/kcollect.png": "d044d69e18de7dd4af75213b7f4cf131529f43875352d7db86fe80c274466242",
"images/blog/local-development-guide/localdev-cover.png": "07cce5e779991c560d2e8c58b280803ea8ebcfc8775bcc75e959d76b01409fa7",
"images/blog/logo.png": "6df582f74767156f37ced895ebeb6b5a656858301dd09539cbc84157a6a54ed3",
"images/blog/lovable-appwrite-backend-pairing/cover.png": "fff78ea4f16953fda8c6e617448bfb0ddde26eb2f5891f9d35b2e53345eba677",
"images/blog/majik-kids.png": "8710ac967fd8c60ee387a8f9ec75c27cd7eff25ab70d8ccbcb7ecc7ed7c73f72",
"images/blog/make-best-use-appwrite-mcp/cover.png": "a1807e11b41f422028a161742aa5cd94e1e8192d87eab3c7e4f55ae9461f309f",
"images/blog/make-best-use-appwrite-mcp/csv-created.png": "d5e4d5f352da6923748ceabb3e0657bb85c9212ca3f468bc0c676fdd84cf4f7c",
Expand Down Expand Up @@ -775,6 +787,7 @@
"images/blog/offline-first-journal/cover.png": "be142679d30a9144f0623b78dfa2810048b46c5cbdea83d0e2d7f36d61233c5d",
"images/blog/offline-first-journal/demo.png": "55e48ac98bc1d8f9add353b034c22c17cc158d951a31e7df4cb23a2e3d7efaf2",
"images/blog/open-source-baas-alternatives/cover.png": "1ca9d44ab5faf6199fe782c5c833cd75d54acc7ad5cb18f46dea06b62abec5c4",
"images/blog/open-source-backend-for-ai-apps/cover.png": "c5007bf5f067f9eafbb792909ae3ec9b882a8bd5017d5c4b4fe6182599567c2c",
"images/blog/open-source-backend-vs-managed-saas/cover.png": "5046fc4e3f3fa605c22d00ecb4b5156734c7d94000b49cae66a9e3bc49f81984",
"images/blog/open-source-firebase-alternative/cover.png": "e0b98679795c00fd6d2d304b17273eaa6847bb1fc5706efa6cc3f3040ec6b4bb",
"images/blog/open-source-regulated-environments/cover.png": "bbb57f0f8dc70f31923f34b5007f089a8539bdbca193c6f3a2594502bca551a2",
Expand Down Expand Up @@ -1010,6 +1023,7 @@
"images/blog/state-of-computer-vision/kernel.png": "e17954c3cd0be5b67061d8989eaa8348cdd99bbc5d6ed4e3cf34d4d045ea08cc",
"images/blog/state-of-natural-language-processing/cover.png": "a2884b41746777e3d1aebe5a36e63dd7d66237310237e23d95a21024dc1e249d",
"images/blog/storage-previews-vs-ssr-image-optimization/cover.png": "f39343c285b729bbe56b88c1b41b6b9653d2b10a2a56ed137df80cc11b561ff3",
"images/blog/supabase-alternatives-lovable-projects/cover.png": "1ce2b47a11901ea6fe019d8cd41a3e19a4086e748e8d6a3447e3d16e59058bae",
"images/blog/sveltekit-starter-sites/add-platform.png": "3b13ba983ea1d2529a1f34a719acef903ec0b58879ed511012280a28ccbde17e",
"images/blog/sveltekit-starter-sites/congrats.png": "337bf14abd2050425541426b9f9b982b63e4fda79b66c7af4753587a5f71c877",
"images/blog/sveltekit-starter-sites/cover.png": "444e99829fa6f1642a1fe497d10f09d6f00c8a553ea56287fe6644e33b8f3777",
Expand Down Expand Up @@ -1108,12 +1122,14 @@
"images/blog/vibe-coding-security-best-practices/cover.png": "b0c69c03743fc542ff384da87d2cd733a85d1a057e654dc3bee1f572999a6500",
"images/blog/webp-support-for-safari/cover.png": "ea4e965ffe21500f3552073bb7ca325d453020cf095d67164329edbda3f1c799",
"images/blog/what-developers-actually-want-from-a-backend-platform/cover.png": "0c540d48b12cd7031e3cadaf4223086ded946b42dc283c641cfa024311b2ec36",
"images/blog/what-is-an-ai-backend/cover.png": "cb36f49035cbdcd97a70ac658783741f275d3a220b7cfd16b39d4fb86a929edd",
"images/blog/what-is-cdn/cover.png": "ef77860288e150c6c22f3950a5eae4c88aefefb6db204f10c2a0544e51548703",
"images/blog/what-is-ciam/cover.png": "45a5261ae1bb8a38777f60a21ea60426c0832e3d58bf3164100548400d388ce1",
"images/blog/what-is-mcp/claude-mcp-chat.png": "26842cfebca3ec2cec89448e1c0d7ddb3f5421cc57acdb8780d48d30a54cad82",
"images/blog/what-is-mcp/claude-mcp-tools.png": "3a5ae700867b8671b5c9e3af61b094aeb64611168463db66ff440e0d427ac6bc",
"images/blog/what-is-mcp/cover.png": "dc4537990c91d6f1768c5ab8775e5c52239eb901b15e2e74fce8b5a018855c32",
"images/blog/when-custom-backend-stops-being-worth-it/cover.png": "d03b13c4e8f3294823a7883cdae89ca18a4030b170c51f597bd139c9ca274793",
"images/blog/why-ai-generated-apps-need-backend/cover.png": "8761878c13c51dd8a720a625606b89b93d9c56651aed636fa1b2bd346bd4fd82",
"images/blog/why-developers-choose-appwrite-auth/cover.png": "f56c37ebfc25191e113b928ff3cf144563be740159e46d75a427bdafdd11214b",
"images/blog/why-developers-leaving-nextjs-tanstack-start/cover.png": "4581dead0651adab3e28e50610efa900956a0d120f222d991c207a65fbd09f7c",
"images/blog/why-documentation-is-the-most-underrated-developer-feature/cover.png": "52a9dde70eeefcd7e489305fc30d2d6f6a63142c5bb00ee027a81454eaef4676",
Expand Down
Loading
Loading