Skip to main content

Loading…

Skip to main content
HomeProjectsPostsApproachesStackResourcesContact
Justin Tsugranes LogoJustin Tsugranes Logo

Justin Tsugranes

HomeProjectsPostsApproachesStackResourcesContact

Stay in the loop

Occasional notes on what I'm building, lessons earned, and the studio behind it.

By subscribing, you agree to receive No spam. Unsubscribe in one click anytime. from Justin Tsugranes. No spam. Unsubscribe anytime. Privacy Policy

© 2026 Total Ventures LLC. All rights reserved.

Privacy PolicyTerms of ServiceCookie Policy
← All stack tools

Stack Tool · data

Firestore

Firestore is the document database for every Total Ventures brand, providing scalable, serverless data management with integrated security rules that act as the auth layer.

Visit firebase.google.com/docs/firestore ↗

Firestore is the primary data store for every Total Ventures brand, enabling scalable, serverless data management with integrated security rules that double as an authentication and authorization layer.

What it is

Firestore is a NoSQL document database offered by Google. It operates on a collection-document model, allowing for flexible data structures. Key features include real-time data synchronization, offline support for mobile and web clients, and automatic scaling without requiring manual database operations. Its serverless nature means I don't manage any database infrastructure. Crucially, it integrates a powerful security rules engine that defines data access at a granular level, directly within the database configuration.

How I use it

Every brand under Total Ventures relies on Firestore as its primary data store. For Total Formula 1, it manages user predictions, race results, and leaderboard data. The security rules ensure that users can only submit and update their own predictions, preventing data tampering. Pregnancy Power Hour uses Firestore to store course content, user progress through modules, and posts within its community forum. For Inky, my AI-powered content generation tool, Firestore handles user-generated content, project metadata, and the state of ongoing generation tasks. This allows for real-time updates to the UI as AI agents process requests.

Beyond core data storage, I leverage Firestore's tight integration with Firebase Authentication for user management. The security rules then take over, providing a declarative authorization layer that dictates who can read, write, or update specific documents or collections. This simplifies backend logic significantly. For certain real-time event logging that requires immediate visibility, before processing into Google Analytics 4, Firestore acts as a temporary buffer. Its schema-less nature also makes it flexible for rapid iteration, which is critical when developing new features across the various applications within the pnpm Workspaces monorepo.

Why this over alternatives

The primary driver for choosing Firestore is its inherent scalability and the complete abstraction of database operations. I learned the hard way that managing database instances, backups, and replication adds significant operational overhead for a solo operator. Firestore handles this automatically. The real-time synchronization is a non-negotiable for interactive applications, providing immediate feedback to users without complex polling mechanisms. Its declarative security rules are a major advantage—I can ship authorization logic directly with the database, reducing the surface area for bugs in backend code. This also simplifies auditing data access. The cost model, while requiring careful design, scales predictably with usage, aligning well with a profit-first approach. The integration with the broader Firebase ecosystem, including Firebase Auth and Cloud Functions, streamlines the entire stack, allowing me to focus on product features rather than infrastructure glue. When issues do arise, Sentry helps monitor for data access errors or rule violations, providing visibility into potential security or query problems.

Where it falls short

Firestore is not without its limitations. Its NoSQL nature means complex relational queries, joins, or full-text search capabilities are not built-in. For scenarios requiring advanced search, I typically integrate external services like Algolia. The cost model, while scalable, can become expensive for chatty applications with very high read/write volumes if queries are not optimized. This requires careful data modeling and query design to avoid inefficient patterns. There's also a degree of vendor lock-in; a migration to another database would be a significant undertaking given the deep integration with security rules and the Firebase SDKs. Finally, while flexible, designing optimal data models for complex relationships can be challenging and requires foresight to avoid query limitations down the line.

FAQs

Is Firestore suitable for an application with complex relational data?
Firestore is a document database, so it doesn't handle complex relational queries or joins natively. You'll need to denormalize data or perform multiple queries on the client/server side, which requires careful data modeling.
How do you manage costs with Firestore, especially for scaling applications?
Cost management involves optimizing queries to minimize reads and writes, using efficient data models, and leveraging caching. Monitoring usage patterns and setting budget alerts are essential to avoid unexpected expenses.
What's the learning curve like for Firestore security rules?
The security rules syntax is declarative and powerful, but it requires a solid understanding of your data model and access patterns. It takes time to master fine-grained control and ensure no unintended access.

See how I run a multi-brand studio with this stack.

See the full stack →
Written by Justin Tsugranes, Founder, Total Ventures· Founder, Total Ventures · U.S. Army veteran (13 years) · M.M. Jazz Studies, University of South Carolina
Last reviewed July 22, 2026

Related

  • Firebase Hosting + Cloud FunctionsFirebase Hosting and Cloud Functions provide the core backend services—authentication, data storage, and serverless compute—that power every Total Ventures product, handling tasks that require persistent state or scheduled execution.
  • Google Cloud StorageGoogle Cloud Storage is the reliable object storage for Total Ventures' static assets, serving everything from OG images to user-uploaded PDFs via CDN.
  • Google Cloud SchedulerGoogle Cloud Scheduler centralizes all scheduled tasks for Total Ventures, replacing fragmented cron solutions with a reliable, managed service.
  • SanitySanity is the headless CMS I use across Total Ventures for all editorial content, providing a structured content backend that integrates directly with my frontend projects and agentic workflows.
  • Google Analytics 4Google Analytics 4 provides the core funnel and user behavior insights for Total Ventures' brands, integrating with Search Console to inform content strategy and product development.
  • StripeStripe serves as the core financial infrastructure for Total Ventures, enabling flexible payment processing for five distinct product brands, managing everything from subscriptions to one-time purchases and multi-currency transactions under a single LLC.