Skip to content

Conversation

@Veera-mulge
Copy link
Contributor

@Veera-mulge Veera-mulge commented Sep 19, 2025

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

  • Documentation
    • Added a new unlisted blog post: "Why Developers Choose Appwrite Auth" — TL;DR, feature comparisons vs Auth0/Firebase/Supabase, extensive FAQ, MFA/RBAC/OAuth, SDKs, migration, self-hosting vs Cloud, compliance, pricing, and programs/resources.
    • Added a new blog post: "Choosing the Right BaaS in 2025" — platform comparisons, FAQ on BaaS, migration, pricing, self-hosting, and guidance for selecting scalable solutions.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 19, 2025

Warning

Rate limit exceeded

@Veera-mulge has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 15 minutes and 38 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 4b5ab1a and b5736cf.

📒 Files selected for processing (1)
  • src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (1 hunks)

Walkthrough

Adds two new Markdoc blog post files: src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc, a detailed article with front matter (layout, title, description, cover, timeToRead, author, callToAction, unlisted, category) containing TL;DR, a feature comparison table, an extensive FAQ, sections on self-hosting vs Cloud, portability/migration/deployment guidance, and references; and src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc, a full blog post with front matter and content comparing BaaS platforms and covering migration, pricing, self-hosting, and FAQs. No exported or public APIs are modified.

Suggested reviewers

  • tessamero
  • ebenezerdon
  • LauraDuRy

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The changeset adds two new blog posts (src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc and src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc) that focus on authentication FAQs and a BaaS comparison; the title "Faq auth blog" references the auth/FAQ theme but is vague, not sentence-cased, and does not clearly summarize both added posts.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 (6)
src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (6)

24-34: Consider adding more specific details to the comparison table.

The table provides a good high-level overview, but could benefit from more specific information:

  • The "Pricing" row could include starting price points or usage tiers for better comparison
  • Consider adding rows for "SSO support", "Session management", or "Custom domains" to provide more comprehensive feature comparison
  • The empty row at line 33 should be removed

Apply this diff to remove the empty table row:

| GDPR/HIPAA compliance options | Yes | Yes | Limited | Limited |
-|  |  |  |  |  |

58-58: Fix broken internal link path.

The link uses /post/ but based on the current file structure, it should use /blog/post/ to match the routing pattern.

Apply this diff to fix the link path:

-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).

68-80: Improve formatting consistency in the authentication methods list.

The list has inconsistent formatting and a minor grammatical issue:

  • "Phone(SMS)" should have proper spacing
  • Some items could benefit from brief descriptions for clarity

Apply this diff to improve formatting:

- Email and password
-- Phone(SMS)
+- Phone (SMS)
- Magic URL
- Email OTP
- OAuth 2.0
- Anonymous login
- JWT
- SSR
- Custom token
- Multi-factor authentication

81-81: Fix duplicate question numbering.

Question 5 appears twice (lines 64 and 81). The migration question should be numbered as question 6.

Apply this diff to fix the numbering:

-## 5. Can I migrate from Auth0 or Firebase Auth to Appwrite?
+## 6. Can I migrate from Auth0 or Firebase Auth to Appwrite?

And update all subsequent question numbers accordingly.


144-144: Consider improving link anchor text.

The text "Education program" should maintain consistency with other program links in the same paragraph that use bold formatting.

Apply this diff for consistency:

-We also offer a dedicated **[Education program](/education)** that provides resources, guidance, and credits to help students explore modern dev tool in a hands-on way.
+We also offer a dedicated [**Education program**](/education) that provides resources, guidance, and credits to help students explore modern dev tools in a hands-on way.

Note: Also fixed "dev tool" → "dev tools" for grammatical correctness.


157-157: Add missing newline at end of file.

The file should end with a newline character for proper file formatting.

Apply this diff:

 In short: with Appwrite, you get the **freedom to choose**. Use Cloud for speed, or self-host when control is non-negotiable.
+
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between acbbc29 and 2ece1ad.

⛔ Files ignored due to path filters (1)
  • static/images/blog/why-developers-choose-appwrite-auth/cover.png is excluded by !**/*.png
📒 Files selected for processing (1)
  • src/routes/blog/post/why-developers-choose-appwrite-auth/+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). (2)
  • GitHub Check: build
  • GitHub Check: tests
🔇 Additional comments (3)
src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (3)

1-11: LGTM! Well-structured front matter.

The front matter is properly configured with appropriate metadata for a product blog post. The unlisted: true flag is correctly set, which is suitable for content that may be in development or review stages.


12-16: Strong opening that establishes context effectively.

The introduction does a good job of connecting current development trends (AI tools, rapid app building) to security concerns, creating a compelling case for secure authentication services.


134-136: Verify blog internal link targets and routing consistency.

In src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (lines 134–136) the links point to /blog/post/appwrite-vs-auth0-b2c and /blog/post/appwrite-vs-auth0 — repo search returned only static/images/blog/appwrite-vs-auth0-b2c/appwrite-vs-auth0-chart.png and no matching post pages. Confirm the target post files exist and that all internal blog links use the same canonical route (or add redirects).

….markdoc

Co-authored-by: Ebenezer Don <hello@ebenezerdon.com>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (4)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (4)

69-69: Fix FAQ numbering sequence.

The FAQ numbering jumps from "5" to "7", missing question 6.

Apply this diff to fix the numbering:

-# 7. Does Appwrite support offline or local-first applications?
+# 6. Does Appwrite support offline or local-first applications?

Then update subsequent questions accordingly.


77-84: Fix FAQ numbering and enhance BaaS comparison accuracy.

This section continues the numbering issue and could benefit from more specific comparisons.

Apply this diff to fix numbering and enhance the comparison:

-# 9. Which BaaS is best for scalable web and mobile apps?
+# 8. Which BaaS is best for scalable web and mobile apps?

For the content, consider adding more specific metrics or use cases to make the comparison more actionable for developers choosing between platforms.


85-95: Fix FAQ numbering and verify self-hosting claims.

The final FAQ item continues the numbering issue from earlier sections.

Apply this diff to fix the numbering:

-# 10. Can I self-host Appwrite as a Firebase alternative?
+# 9. Can I self-host Appwrite as a Firebase alternative?

The technical claims about Docker deployment and compliance benefits are accurate and well-explained.


96-96: Missing line termination.

The file ends without a final newline, which can cause issues with some text editors and version control systems.

Add a newline at the end of the file.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a96be2d and 4b5ab1a.

⛔ Files ignored due to path filters (1)
  • static/images/blog/choosing-the-right-baas-in-2025/cover.png is excluded by !**/*.png
📒 Files selected for processing (2)
  • src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (1 hunks)
  • src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/routes/blog/post/why-developers-choose-appwrite-auth/+page.markdoc
⏰ 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
🔇 Additional comments (2)
src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc (2)

1-11: LGTM! Standard frontmatter configuration.

The blog post frontmatter is properly configured with appropriate metadata for a BaaS comparison article. The unlisted: true flag suggests this is currently in draft status.


12-19: Strong opening that establishes relevance.

The introduction effectively positions the problem space and transitions well from general app development challenges to the specific value of BaaS solutions. The writing is engaging and developer-focused.

Comment on lines +22 to +32
| Feature | Appwrite | Firebase | Supabase |
| --- | --- | --- | --- |
| Open-source | Yes | No | Yes |
| Self-hosting | Yes | No | Yes |
| Authentication | Yes | Yes | Yes |
| Database Support | SQL + NoSQL APIs | Firestore (NoSQL) | Postgres (SQL) |
| Real-time APIs | Yes | Yes | Yes |
| Pricing | Free self-host + Cloud tiers | Free + Paid (usage-based) | Free + Paid |
| Offline/Local-first support | Yes | No | Yes |
| Vendor lock-in risk | Low | High | Medium |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Update pricing information to reflect current Appwrite pricing model.

The comparison table contains outdated pricing information. Appwrite's pricing changed significantly on September 1st, 2025, moving from a per-seat to a per-project model with base Pro pricing increasing from $15 to $25 per month.

Apply this diff to update the pricing row:

-| Pricing | Free self-host + Cloud tiers | Free + Paid (usage-based) | Free + Paid |
+| Pricing | Free self-host + Cloud (per-project) | Free + Paid (usage-based) | Free + Paid |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Feature | Appwrite | Firebase | Supabase |
| --- | --- | --- | --- |
| Open-source | Yes | No | Yes |
| Self-hosting | Yes | No | Yes |
| Authentication | Yes | Yes | Yes |
| Database Support | SQL + NoSQL APIs | Firestore (NoSQL) | Postgres (SQL) |
| Real-time APIs | Yes | Yes | Yes |
| Pricing | Free self-host + Cloud tiers | Free + Paid (usage-based) | Free + Paid |
| Offline/Local-first support | Yes | No | Yes |
| Vendor lock-in risk | Low | High | Medium |
| Feature | Appwrite | Firebase | Supabase |
| --- | --- | --- | --- |
| Open-source | Yes | No | Yes |
| Self-hosting | Yes | No | Yes |
| Authentication | Yes | Yes | Yes |
| Database Support | SQL + NoSQL APIs | Firestore (NoSQL) | Postgres (SQL) |
| Real-time APIs | Yes | Yes | Yes |
| Pricing | Free self-host + Cloud (per-project) | Free + Paid (usage-based) | Free + Paid |
| Offline/Local-first support | Yes | No | Yes |
| Vendor lock-in risk | Low | High | Medium |
🤖 Prompt for AI Agents
In src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc around
lines 22 to 32, the "Pricing" row is outdated for Appwrite; update the Appwrite
cell to reflect the new per-project pricing model (base Pro moved from $15 to
$25/month as of Sept 1, 2025). Replace the current Appwrite pricing text with
something like "Free self-host + Pro $25/project/month + Cloud tiers" while
leaving Firebase and Supabase cells unchanged.

Comment on lines +61 to +68
# 5. How does Appwrite pricing compare to Firebase?

Firebase’s pricing runs on a **pure pay-as-you-go model**. Every database read, write, storage operation, or function invocation adds to your bill. This makes costs highly variable, traffic spikes or unexpected usage can result in invoices that are hard to forecast. Since Firebase doesn’t offer budget caps, teams have little control beyond monitoring usage closely.

Appwrite approaches pricing differently. On **Appwrite Cloud**, pricing is **transparent and predictable,** structured around clear plan tiers rather than metering every single operation. On top of that, you can set **budget caps** so you never get caught off guard by runaway costs. This provides the financial predictability that scaling teams and enterprises need.

The practical takeaway: Firebase’s model is easy to start with but harder to forecast at scale, while Appwrite is designed to give you **cost clarity, spending limits, and flexibility** as your application grows.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Update pricing comparison section with current information.

The pricing comparison section contains outdated information about Appwrite's pricing model and lacks mention of the recent changes that went into effect.

The section needs updates based on the current pricing structure:

-Appwrite approaches pricing differently. On **Appwrite Cloud**, pricing is **transparent and predictable,** structured around clear plan tiers rather than metering every single operation. On top of that, you can set **budget caps** so you never get caught off guard by runaway costs. This provides the financial predictability that scaling teams and enterprises need.
+Appwrite approaches pricing differently. On **Appwrite Cloud**, pricing follows a **per-project model** with transparent tiers starting at $25/month for Pro plans, rather than metering every single operation. The platform also introduced usage-based pricing for database operations in 2025, but maintains generous included quotas. You can set **budget caps** so you never get caught off guard by runaway costs. This provides the financial predictability that scaling teams and enterprises need.

Additionally, consider mentioning the recent pricing optimizations like reduced bandwidth costs and increased resource allocations per project.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# 5. How does Appwrite pricing compare to Firebase?
Firebase’s pricing runs on a **pure pay-as-you-go model**. Every database read, write, storage operation, or function invocation adds to your bill. This makes costs highly variable, traffic spikes or unexpected usage can result in invoices that are hard to forecast. Since Firebase doesn’t offer budget caps, teams have little control beyond monitoring usage closely.
Appwrite approaches pricing differently. On **Appwrite Cloud**, pricing is **transparent and predictable,** structured around clear plan tiers rather than metering every single operation. On top of that, you can set **budget caps** so you never get caught off guard by runaway costs. This provides the financial predictability that scaling teams and enterprises need.
The practical takeaway: Firebase’s model is easy to start with but harder to forecast at scale, while Appwrite is designed to give you **cost clarity, spending limits, and flexibility** as your application grows.
# 5. How does Appwrite pricing compare to Firebase?
Firebase’s pricing runs on a **pure pay-as-you-go model**. Every database read, write, storage operation, or function invocation adds to your bill. This makes costs highly variable, traffic spikes or unexpected usage can result in invoices that are hard to forecast. Since Firebase doesn’t offer budget caps, teams have little control beyond monitoring usage closely.
Appwrite approaches pricing differently. On **Appwrite Cloud**, pricing follows a **per-project model** with transparent tiers starting at $25/month for Pro plans, rather than metering every single operation. The platform also introduced usage-based pricing for database operations in 2025, but maintains generous included quotas. You can set **budget caps** so you never get caught off guard by runaway costs. This provides the financial predictability that scaling teams and enterprises need.
The practical takeaway: Firebase’s model is easy to start with but harder to forecast at scale, while Appwrite is designed to give you **cost clarity, spending limits, and flexibility** as your application grows.
🤖 Prompt for AI Agents
In src/routes/blog/post/choosing-the-right-baas-in-2025/+page.markdoc around
lines 61–68, the Appwrite vs Firebase pricing paragraph is outdated; update the
copy to reflect Appwrite's current pricing structure (remove or revise any
incorrect claims), keep the comparison concise, and explicitly mention the
recent pricing optimizations: reduced bandwidth costs and increased resource
allocations per project on Appwrite Cloud, plus the continued availability of
transparent plan tiers and budget caps; ensure the Firebase description remains
accurate (pay-as-you-go with variable costs) and adjust wording so both services
are compared fairly and factually.

@ebenezerdon ebenezerdon merged commit 0654269 into main Sep 22, 2025
6 of 7 checks passed
@ebenezerdon ebenezerdon deleted the faq-auth-blogs branch September 22, 2025 17:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants