The Cat Blog

About MeowSpace

MeowSpace is a mobile social app for cat people, built around photo posts, real-time comments, follows, direct messages, notifications, and pet-focused moderation.

4 min read

MeowSpace is a cross-platform mobile social app for cat people. It works like a focused social network: users create an account, share cat photos, follow other users, react to posts, comment in real time, and message mutual connections.

Who it is for

MeowSpace is for cat owners and pet-focused communities that want a smaller, purpose-built space instead of a general social feed. The core user is someone who wants to post cat photos, discover other cats, keep up with followed accounts, and chat with people they have mutually connected with.

It is also a practical companion to RateMyCat: RateMyCat is centered on public voting and blog content, while MeowSpace is the fuller account-based social app behind profiles, follows, posts, chat, and notifications.

What the app does

The app is built around signed-in profiles. Registration supports email/password and native social sign-in, then routes new users through onboarding so each account has a public profile, username, avatar, and bio.

Posts are image-first. A user chooses a photo from the camera or gallery, the app compresses it before upload, checks the image through pet-focused AI moderation, uploads accepted images to Cloudinary, and stores the post metadata in Firestore. Feed and profile views use cursor pagination, denormalized usernames and avatars, and optimized image URLs so the app avoids fetching the same profile data for every post.

Social actions are handled as Firestore writes. Likes update counters optimistically in the UI and roll back on failure. Comments subscribe to live updates. Follows are stored as denormalized follower/following edges, with counts updated in the same operation. Blocking removes follow relationships and filters blocked users from the main feed.

Direct messages use Firestore as the real-time transport. A conversation stores public metadata, participants, last-message timestamps, and per-user read markers. Message bodies live in a separate private chat collection that is readable only by participants. The app derives unread counts and simple seen state from the existing lastReadAt map instead of writing a new read receipt document for every message.

Notifications exist in two layers. In-app activity is stored in Firestore, and push delivery is handled through Expo Push. Cloud Functions listen for notification and message documents, then send device pushes while respecting each user's notification settings.

How it works technically

MeowSpace is a React Native app built with Expo and TypeScript. It uses the native React Native Firebase SDKs for Auth, Firestore, Analytics, Crashlytics, App Check, and Cloud Functions integration. Firestore is the main application database for users, posts, comments, follows, blocks, conversations, messages, reports, app config, and notification state.

The app keeps data access behind typed repository modules instead of scattering Firestore calls across screens. UI components call domain functions for posts, comments, follows, users, conversations, notifications, push tokens, reports, and remote config. That gives the codebase one place to enforce write shapes, pagination behavior, counter updates, and subscription cleanup.

Cloudinary handles post and avatar images. Uploads are unsigned but scoped through the upload preset, and read paths use transformed URLs for thumbnail, medium, and full-size variants. This keeps image bandwidth and transformations outside Firebase Storage while still giving the feed fast progressive image loading.

Security depends on Firebase Auth plus Firestore and Storage rules. Public profile and post data can be read by signed-in users, private account data is split into owner-only collections, chat message bodies are participant-only, and reports are write-only from the client. The project also includes emulator tests for Firestore rules so the production access model can be checked automatically.

Operationally, MeowSpace is designed for mobile release constraints. EAS Build produces the native iOS and Android apps, EAS Update ships JavaScript-only fixes over the air, and a remote force-update setting can block old clients when a native rebuild is required. Crash reporting and analytics are wired in so production issues can be investigated without guessing.

In short: MeowSpace is the account-based social layer for cat people. Firebase supplies identity, real-time data, push-triggered workflows, and rules-based access control; Cloudinary handles image delivery; Expo handles mobile build and update delivery; and the app code ties those pieces into feeds, profiles, comments, follows, chat, notifications, and moderation.

Discussion

Start the conversation.

A few more cats?

Take a reading break and meet the community's cats.

Rate some cats

More from The Cat Blog

Also made for cat people

Meet MeowSpace

Share everyday cat moments, follow fellow cat people and join the conversation in our free mobile app.