ASTROMATCH

Mobile application · iOS and Android

An application for astrological compatibility

Client — JJ Risinājumi.

We built a Flutter application that calculates a natal chart from birth data, compares it with other users and presents compatibility across eight dimensions. The product includes mutual connection requests, real-time chat, AI explanations, purchases and a separate admin panel.

Discuss an application
MATCH86%SYNASTRY / 08
9:41
AstroMatch mobile application screens
ASTROMATCHiOS / Android
56.9496° N 24.1052° E
8compatibility dimensions
3languages
12celestial points
iOS + Androidone Flutter codebase

The brief

Connect complex calculations with a simple dating experience

A user enters only their birth date, time and city. The system resolves coordinates and timezone, calculates a natal chart, compares it with other profiles and returns an understandable result, while maintaining mutual consent before chat.

User journey

From birth data to a conversation

01

Registration

Account, profile and email verification.

02

Birth data

Date, exact time and city for the natal chart.

03

Compatibility search

Profiles scoring at least 50%, sorted by compatibility.

04

Pair profile

Overall score, primary signs and eight dimensions.

05

Connection request

The other person must accept before communication.

06

Real-time chat

Messages, read state, reactions and push notifications.

Calculation engine

The chart is calculated on the server, not guessed from a sun sign

Firebase Cloud Functions process birth place and time, build a full chart and calculate synastry for every pair. Results are stored for fast discovery.

01 / LOCATION

City → coordinates

Google Maps geocoding with Nominatim fallback resolves coordinates and timezone.

02 / NATAL

Birth data → chart

Astronomy Engine calculates planets, houses, angles and aspects.

03 / SYNASTRY

Two charts → compatibility

Weighted planet pairs and aspects produce the overall score.

04 / EXPLAIN

Result → explanation

OpenAI creates a structured explanation in the selected language and caches it.

Astrological data

The calculation includes 12 celestial bodies and points

Placidus houses · conjunction · sextile · square · trine · opposition · quincunx

SunMoonMercuryVenusMarsJupiterSaturnUranusNeptunePlutoNorth NodeChiron

Compatibility model

One percentage expands into eight understandable perspectives

01

Sun and Moon

86%
02

Venus

78%
03

Mars

72%
04

Communication

83%
05

Emotional bond

89%
06

Physical compatibility

75%
07

Shared growth

68%
08

Long-term potential

81%

Mobile application

A complete product, not only a compatibility calculator

01

Profiles and photos

Profile, birth data, bio and photo upload from gallery or camera.

02

Discovery

Profile grid, pagination, refresh and blocked-user filtering.

03

Mutual consent

Received, sent and accepted requests with clear states.

04

Real-time chat

Messages, unread counts, read receipts, reactions and conversation deletion.

05

Notifications

FCM reports messages and requests and opens the relevant screen.

06

User controls

Blocking, support, password reset and full account deletion.

Mutual connection

Chat opens only after both people agree

NONECONNECT

A user sends a connection request.

SENTPENDING

The request can be cancelled before response.

RECEIVEDACCEPT / DECLINE

The recipient chooses whether to connect.

ACCEPTEDMESSAGE

Only now can both people start a chat.

Performance

Heavy calculations are split into a fast start and background processing

After registration, the user first receives their chart and up to 20 initial matches. Remaining pairs are processed in the background, avoiding a long wait.

  1. 01Unique pair IDs prevent duplicates
  2. 02Valid existing results are not recalculated
  3. 03Writes run in batches of up to 500
  4. 04Birth-data changes expire results and AI text
  5. 05A safe fallback calculation handles delayed background triggers

Admin panel

Users, support, purchases and content in one place

Dashboard

Users, messages, purchases and revenue with time charts.

User management

Search, filters, profiles, blocking, deletion and purchase history.

Support

Statuses, full requests, user email and direct email replies.

Application settings

Analysis pricing and text, disclaimer, about content and contacts in three languages.

Paid feature

We built a one-time purchase flow for detailed pair analysis

The RevenueCat integration is prepared for App Store and Google Play products, with store-provided pricing, purchase restoration and pair-specific access stored in Firestore.

  • One purchase for one pair analysis
  • Store-provided Apple or Google price
  • Duplicate purchase prevention
  • Birth-time changes invalidate the previous analysis
  • Copy can change from admin without a new release

Data and security

Access is defined separately for every Firestore collection

RULE / 01

Authentication

Firebase Auth, required email verification and password recovery.

RULE / 02

Private calculations

A natal chart belongs to its owner; compatibility is limited to the pair.

RULE / 03

Protected chat

Only participants have access; blocked users receive no push.

RULE / 04

File limits

Images only, up to 5 MB, writable by the owner.

Store preparation

iOS and Android builds, TestFlight and store materials

We prepared identifiers, icons, a signed Android AAB, TestFlight builds, App Store and Google Play copy, localization, screenshot overlays and review notes.

Technical solution

Technologies

FlutterDartFirebase AuthCloud FirestoreCloud FunctionsFirebase StorageFCMNext.js 15OpenAIRevenueCatAstronomy Engine

Have a mobile app idea with complex server logic?

We can build the mobile interface, calculations, database, administration and prepare the product for iOS and Android.

Discuss an application

Questions and answers

About AstroMatch development

Is compatibility based only on zodiac signs?

No. It uses birth date, time, coordinates, planets and other points, houses and aspects. The result is divided into eight dimensions.

Why does AI not calculate the percentage?

A deterministic synastry algorithm calculates the score. AI only explains the resulting data and cannot alter the score.

Does the app support multiple languages?

Yes. The interface, notifications, paid-feature copy and AI explanations support English, Russian and Latvian.