-
Notifications
You must be signed in to change notification settings - Fork 298
Appwrite Sites comparison blogs #2448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis PR updates and adds Markdoc blog pages. It renames the BaaS comparison post to "Choosing the right backend as a service tool in 2025", adds a date (2025-09-25), expands its feature table (adds Messaging and Hosting), and converts multiple external links to internal site paths (docs, blog, integrations, pricing, hosting). It adds two new Sites comparison posts (Netlify vs Vercel vs Amplify vs Appwrite Sites; Netlify vs Vercel vs Azure vs Appwrite Sites) and adds a date field to the "Why developers choose Appwrite Auth" post. No executable code changes. Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (8)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (1)
70-74: Fix FAQ numbering (missing #6).You jump from “# 5.” to “# 7.”. Either renumber or drop numeric prefixes to avoid future drift.
Apply:
-# 7. Does Appwrite support offline or local-first applications? +# 6. Does Appwrite support offline or local-first applications?src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (5)
34-35: Remove empty table row.There’s a stray empty row in the comparison table.
-| | | | | |
63-64: Grammar fix: “an additional layers” → “an additional layer”.-Yes. Appwrite Authentication supports MFA, giving developers and security teams an additional layers of protection. +Yes. Appwrite Authentication supports MFA, giving developers and security teams an additional layer of protection.
69-76: Minor copy edits.-Here are some Appwrite's authentication flows: +Here are some of Appwrite's authentication flows: -- Phone(SMS) +- Phone (SMS)
82-111: Duplicate heading number “# 5.”; renumber following FAQ.Two headings are “# 5.”. Adjust numbering or remove numeric prefixes.
-# 5. Can I migrate from Auth0 or Firebase Auth to Appwrite? +# 6. Can I migrate from Auth0 or Firebase Auth to Appwrite? -# 6. What programming languages and frameworks does Appwrite support? +# 7. What programming languages and frameworks does Appwrite support? -# 7. Is Appwrite Authentication secure and compliant (GDPR, HIPAA)? +# 8. Is Appwrite Authentication secure and compliant (GDPR, HIPAA)? -# 8. Can I self-host Appwrite Authentication? +# 9. Can I self-host Appwrite Authentication? -# 9. How does Appwrite pricing compare to Auth0? +# 10. How does Appwrite pricing compare to Auth0? -# 10. Who should use Appwrite Authentication? +# 11. Who should use Appwrite Authentication?Continue incrementing the remaining numbered headings by +1.
59-60: Fix broken internal link path
In src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc at line 59, change/post/appwrite-vs-auth0to/blog/post/appwrite-vs-auth0:-We have an in-depth Appwrite vs Auth0 pricing comparison, you can read it [here](/post/appwrite-vs-auth0). +We have an in-depth Appwrite vs Auth0 pricing comparison, you can read it [here](/blog/post/appwrite-vs-auth0).static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/images (1)
1-2: Add missing cover image for Azure comparison post
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdocsetscover: /images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png, butstatic/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.pngis missing—this will break the hero image.static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/images (1)
1-2: Add missing cover.png under static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/; the post references/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.pngbut the asset is not included.
🧹 Nitpick comments (2)
src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (1)
145-146: Pluralization nit: “dev tool” → “dev tools”.-... explore modern dev tool in a hands-on way. +... explore modern dev tools in a hands-on way.src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (1)
121-125: Table polish: remove blank Cons cell or add a real con.The empty cell under Cons looks unfinished.
-| All-in-one stack | | +| All-in-one stack | Smaller ecosystem vs incumbents |
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc(1 hunks)src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc(1 hunks)src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc(1 hunks)src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc(1 hunks)static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/images(1 hunks)static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/images(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: build
- GitHub Check: tests
- GitHub Check: format
🔇 Additional comments (7)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (2)
8-8: LGTM: date metadata added.
5-5: Verify cover asset exists.cover: /images/blog/choosing-the-right-baas-in-2025/cover.png — ensure the file exists under static/images/blog/choosing-the-right-baas-in-2025/cover.png.
You can extend the earlier script to include this page as well.
src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (2)
7-7: LGTM: date metadata added.
5-5: Verify cover asset exists.cover: /images/blog/why-developers-choose-appwrite-auth/cover.png — ensure the file exists under static/images/blog/why-developers-choose-appwrite-auth/cover.png.
Use the cover verification script.
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc (1)
51-61: Verify product/docs links exist.Confirm /products/sites, /docs/products/databases, /docs/products/sites/frameworks, /docs/products/sites/deploy-from-git, /docs/references, /docs/sdks, /docs/products/network/cdn, and /docs/products/network/edges are valid.
Reuse the internal-docs slug checker provided earlier.
src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (2)
89-91: Typo: “$20/mon.” → “$20/month”.-- Pro plan at $20/mon. +- Pro plan at $20/month.Likely an incorrect or invalid review comment.
141-142: Verify internal docs links resolve
Confirm that/docs/products/network/edgesand/docs/products/network/cdnresolve correctly, considering case- and slug-sensitivity.
| layout: post | ||
| title: "Choosing the right platform to deploy your web apps: Vercel, Netlify, Amplify, and Appwrite Sites compared" | ||
| description: See how Vercel, Netlify, Amplify, and Appwrite Sites stack up in 2025, with their pros and cons, and which one makes sense for your next project. | ||
| cover: /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Cover image likely missing.
cover references /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png, but no asset was added. Add it under static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/.
Use the script in the images comment to confirm presence.
🏁 Script executed:
#!/usr/bin/env bash
# Check if cover image exists in the expected directory
fd --glob 'static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png'Length of output: 0
🏁 Script executed:
#!/usr/bin/env bash
# Search for any cover.png in the repository
fd -t f 'cover.png'Length of output: 14142
Add missing cover image file
Markup references /images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png but no file exists at static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png. Add the asset there.
🤖 Prompt for AI Agents
In
src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc
around line 5 the frontmatter references cover:
/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png but the
file is missing; add the referenced image file at
static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png
(ensure correct filename, case, and PNG format), or update the frontmatter to
point to an existing image path if a different asset should be used.
src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc
Outdated
Show resolved
Hide resolved
| layout: post | ||
| title: "Appwrite Sites vs Netlify vs Vercel vs Azure Static Web Apps: Which platform should you choose in 2025?" | ||
| description: Get a detailed breakdown of features, pricing, pros, and cons so you can find the best hosting platform for your project. | ||
| cover: /images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Cover image likely missing.
cover references /images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png, but no asset was added. Add it under static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/.
Use the cover verification script.
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
# Verify existence of the cover image file referenced in +page.markdoc
TARGET="static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png"
if [ -f "$TARGET" ]; then
echo "FOUND: $TARGET"
else
echo "MISSING: $TARGET"
fiLength of output: 82
Add missing cover image asset
The file static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png is missing. Add cover.png to that directory so the cover: reference in src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc resolves correctly.
🤖 Prompt for AI Agents
In
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc
around line 5 the frontmatter references cover:
/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png but the
asset is missing; add a cover.png file to
static/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/ (optimized
web-friendly PNG, correct dimensions and filename casing) so the cover path
resolves, commit the image alongside the change and verify the built site serves
the image.
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (1)
56-58: Switch the enterprise CTA link to a relative path.All other internal references in this PR use site-relative URLs, but this one keeps the absolute
https://appwrite.io/…. Flipping it to/contact-us/enterprisekeeps the linking style consistent and avoids future protocol/domain drift.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build
- GitHub Check: tests
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc
Show resolved
Hide resolved
| - **Vercel**: Think of Vercel as the **framework-native host**. It’s tightly coupled with Next.js, and its entire model revolves around serving modern frontend frameworks at the edge with minimal friction. Backend logic exists, but always as small serverless functions or external APIs. | ||
| - **Netlify**: The **Jamstack generalist**. Netlify built its reputation on static-first workflows: push code, build, deploy, done. It doesn’t lean into any one framework, instead, it’s about a consistent, git-driven pipeline that works for React, Vue, Svelte, or plain HTML. | ||
| - **AWS Amplify**: Amplify is built to connect your frontend with AWS services. It gives you hosting, but the main focus is making it easy to add things like authentication (Cognito), databases (DynamoDB), file storage (S3), and serverless functions (Lambda). Hosting is just one part; the bigger goal is tying your app into AWS’s cloud tools. | ||
| - **Appwrite Sites**: The **open-source all-in-one development platform**. Instead of separating hosting from backend, [Appwrite Sites](/products/sites) is an extension of Appwrite’s backend platform: you host the frontend and connect directly to the built-in [auth](/docs/products/auth), [Databases](/docs/products/databases), and [Functions](/docs/products/functions). It’s less about glueing services together and more about having a **cohesive stack under one roof**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think description of "Appwrite Sites" should focus on hosting. "Appwrite" is the open-source all-in-one development platform.
Just like Aws vs Aws Amplify
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Worked on this @ebenezerdon
|
|
||
| | Pros | Cons | | ||
| | --- | --- | | ||
| | Best-in-class support for Next.js | Expensive as usage scales | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think "Expensive as usage scales" needs to be nuanced. Why is it expensive as usage scales, and what makes their pricing different from Appwrite Sites? Maybe we can touch on that somwhere in the article
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, added in the same table.
|
|
||
| | Pros | Cons | | ||
| | --- | --- | | ||
| | Very easy to use and set up | Not as optimized for modern frameworks like Next.js | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not as optimized for modern frameworks like Next.js
Not sure this is accurate. Why do you think so?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was in contrast to Vercel, but it's not coming off accurately here. Changed the point
|
|
||
| - **Free tier**: 12 months free with AWS (limited usage). | ||
| - **Pay as you go**: Charges based on hosting, storage, function invocations, and connected AWS services. | ||
| - **It can get expensive** depending on the scale and usage of AWS backend services. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should add nuance to the "expensive" statements on the various platforms
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed. Added.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (5)
static/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/amplify.pngis excluded by!**/*.pngstatic/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/azure.pngis excluded by!**/*.pngstatic/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/netlify.pngis excluded by!**/*.pngstatic/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/sites.pngis excluded by!**/*.pngstatic/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/vercel.pngis excluded by!**/*.png
📒 Files selected for processing (2)
src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc(1 hunks)src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: build
- GitHub Check: tests
- GitHub Check: format
🔇 Additional comments (2)
src/routes/blog/post/netlify-vs-vercel-vs-azure-vs-appwrite-sites/+page.markdoc (1)
5-5: Cover image asset still missingFrontmatter points to
/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png, but that file isn’t in the repository. As a result, the blog post renders with a broken hero image. Please addstatic/images/blog/netlify-vs-vercel-vs-azure-vs-appwrite-sites/cover.png(optimized PNG) or update the path to an existing asset.src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc (1)
5-5: Add the missing cover asset referenced in frontmatter.Frontmatter points to
/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png, but there’s no matching file atstatic/images/blog/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/cover.png, so the hero will render broken. Please add that asset (or repoint to an existing image).
src/routes/blog/post/netlify-vs-vercel-vs-amplify-vs-appwrite-sites/+page.markdoc
Outdated
Show resolved
Hide resolved
…sites/+page.markdoc Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
What does this PR do?
(Provide a description of what this PR does.)
Test Plan
(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)
Related PRs and Issues
(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)
Have you read the Contributing Guidelines on issues?
(Write your answer here.)
Summary by CodeRabbit