The problem with most astrology apps
I built Families because I was tired of astrology apps that treat Vedic astrology like a lookup table. You enter a birth date, you get a paragraph about your Moon sign, maybe your nakshatra, and that is the entire depth of the computation. The app matched a keyword to a pre-written paragraph and served it to you inside a pretty gradient.
That is not a reading. That is a fortune cookie with better typography.
The classical Jyotish texts -- the Brihat Parashara Hora Shastra, the Surya Siddhanta, the Phaladeepika -- describe computational systems of staggering precision. Systems that track the exact degree where a planet loses its voice to the Sun. Systems that detect the three narrow bands in the zodiac where elemental forces collide at the water-fire boundary. Systems that calculate six independent categories of planetary strength and sum them into a single virupas score that tells you whether a planet in your chart can actually deliver on its promises.
These are not esoteric curiosities. They are the core algorithms of the tradition. And almost no app on any platform computes them.
Families does. All seven of them. Here is what each one calculates, how our engine implements it, and why skipping any of them produces a reading that is incomplete in ways most users never realize.
Mrityu Yoga -- Death Degree Detection
Where vulnerability hides in your chart
Every sign in the zodiac contains a specific degree known as the Mrityu Bhaga -- literally, the "death portion." These are not metaphorical. They are precise numerical coordinates documented in Chapter 44 of the Brihat Parashara Hora Shastra: 8 degrees in Aries, 25 in Taurus, 22 in Gemini, and so on through all twelve signs.
When any planet -- especially the Moon -- sits within one degree of its sign's Mrityu Bhaga, it activates Mrityu Yoga. This marks a point of acute karmic pressure, a place in the chart where the native's vitality is thin. Not necessarily physical death, but a zone of deep vulnerability where that planet's significations are under existential strain.
What our engine actually does
The Families Mrityu Yoga engine stores the classical death-degree table for all twelve signs, checks every planet's sidereal longitude against its sign's Mrityu Bhaga with a plus-or-minus one-degree orb, grades severity across three tiers (high when the Moon is afflicted, medium for multiple planets, low for a single non-lunar hit), and flags which specific planets are at risk. Not just the Moon. Every graha except Rahu and Ketu.
Most apps do not even have this table in their codebase. They have never heard of it. A chart with Moon at 25 degrees Taurus goes through their system with zero flags. In ours, it lights up immediately.
Kaal Sarp Yoga -- The Serpent Axis
When all seven planets are trapped between the nodes
Kaal Sarp Yoga is one of the most discussed -- and most poorly computed -- formations in Vedic astrology. It occurs when all seven visible planets (Sun, Moon, Mars, Mercury, Jupiter, Venus, Saturn) fall on one side of the Rahu-Ketu axis. The entire chart is hemmed between the shadow nodes. Life feels like it is moving through an invisible tunnel.
There are twelve distinct types, named after twelve serpents, each determined by which house Rahu occupies. Ananta in the 1st house. Takshak in the 7th. Shesh Naag in the 12th. Each carries a different imprint: Padma (5th house) blocks creativity and children; Karkotak (8th house) brings sudden transformations and hidden dangers; Ghatak (10th house) delays career recognition.
The reverse configuration -- all planets on the Ketu-to-Rahu side -- is called Kala Amrita Yoga, and it carries its own distinct meaning: spiritual potential through karmic reversal.
What our engine actually does
The Families engine uses arc geometry on the 360-degree ecliptic to check whether each planet falls in the Rahu-to-Ketu arc or the Ketu-to-Rahu arc, handling the zero-crossing wrap correctly. It identifies full Kaal Sarp (all 7 on one side), full Kala Amrita (all 7 on the other), and partial formations (6 of 7 hemmed, one planet breaking the axis). It classifies all twelve named types by Rahu's house position and outputs the specific effect signature for each.
The partial detection matters more than most astrologers realize. A chart with six planets hemmed and one breaking free is not the same as a chart with no Kaal Sarp. Our engine catches that. The apps that only check for the full formation miss it entirely.
Combustion -- Planets Lost in the Sun
The precise degree at which a planet goes silent
When a planet gets too close to the Sun in ecliptic longitude, it becomes "combust" -- asta in Sanskrit. The Sun's brilliance overpowers the planet. Its significations weaken. A combust Venus struggles to deliver in relationships. A combust Mercury creates confusion in communication and commerce. A combust Jupiter weakens wisdom and spiritual connection.
But here is the critical detail that almost every app gets wrong or ignores: each planet has its own combustion threshold, and those thresholds change depending on whether the planet is in direct or retrograde motion. Mars is combust within 17 degrees of the Sun when direct but only 8 degrees when retrograde. Venus is combust within 10 degrees direct, 8 retrograde. Saturn is 15 degrees in both directions. These are not arbitrary numbers -- they come from the Surya Siddhanta.
What our engine actually does
The combustion engine calculates the angular distance between the Sun and each planet on the sidereal ecliptic, checks the planet's retrograde status, selects the correct orb threshold from the Surya Siddhanta table, and classifies the result into three tiers: deep combustion (within half the orb -- the planet is essentially invisible), standard combustion (within the full orb), and approaching combustion (within 120 percent of the orb -- the planet is losing strength but not yet fully combust). This approaching zone is something no other app flags, but it matters for timing: a planet entering combustion is about to go dark.
Gandanta -- The Karmic Knots
Where water meets fire and the zodiac tears open
There are three points in the sidereal zodiac where a water sign ends and a fire sign begins: Cancer to Leo, Scorpio to Sagittarius, Pisces to Aries. These junctions are called Gandanta -- literally "the knot at the end." The last 3 degrees 20 minutes of the water sign and the first 3 degrees 20 minutes of the fire sign form a zone of extreme elemental turbulence.
Planets caught in Gandanta are in a state of radical transition. They are leaving the dissolution of water and entering the raw ignition of fire. This is not a gentle handoff. It is an elemental collision. The Phaladeepika describes it as a knot that must be untied through lived experience -- often crisis, often transformation, always intense.
Moon or Lagna (ascendant) in Gandanta is considered especially significant. The Moon in Gandanta marks someone whose emotional life is permanently shaped by the water-fire threshold. The Lagna in Gandanta means the entire life path runs through transformative crisis.
What our engine actually does
The Gandanta engine maps the three junction boundaries at their exact sidereal degree positions (120, 240, and 0/360), checks every planet plus the Lagna against a 3.333-degree orb on each side, handles the Pisces-Aries zero-crossing where the zodiac wraps from 360 back to 0, identifies which side of the boundary each planet falls on (water or fire), names the specific nakshatra transition (Ashlesha to Magha, Jyeshtha to Mula, Revati to Ashwini), and grades severity based on proximity -- extreme within half a degree of the boundary, strong within 1.5 degrees, mild within the full 3.333-degree zone.
Shadbala -- Six-Fold Planetary Strength
The algorithm that answers: can this planet actually deliver?
Shadbala is the gold standard of planetary strength assessment in Jyotish. It does not just ask where a planet is. It asks six independent questions about that planet's condition and sums the answers into a single score measured in virupas. A planet can look powerful by sign placement but score poorly in Shadbala because it lacks directional strength, temporal advantage, or aspectual support. This is the difference between a planet that promises and a planet that delivers.
The six components are:
- Sthana Bala (positional strength) -- combines five sub-calculations: Uccha Bala (proximity to exaltation degree), Saptavargaja Bala (dignity by sign placement), Ojhayugma Bala (odd/even sign alignment with planetary gender), Kendra Bala (angular house placement), and Drekkana Bala (decanate position).
- Dig Bala (directional strength) -- each planet has a compass direction where it gains maximum power. Jupiter and Mercury in the East (1st house). Sun and Mars in the South (10th house). Saturn in the West (7th house). Moon and Venus in the North (4th house). Maximum 60 virupas at the strong house, decreasing to zero at the opposite house.
- Kala Bala (temporal strength) -- day planets (Sun, Jupiter, Venus) gain strength when the Sun is above the horizon. Night planets (Moon, Mars, Saturn) gain strength after dark. Mercury is neutral.
- Cheshta Bala (motional strength) -- a retrograde planet scores 60 virupas (maximum), because retrograde motion concentrates the planet's energy. Stationary scores 45. Direct slow scores 15. The Sun and Moon, which never go retrograde, receive a fixed moderate score.
- Naisargika Bala (natural strength) -- fixed values established by the tradition. Sun is strongest at 60. Moon at 51.43. Saturn is weakest at 8.57. These never change regardless of chart.
- Drik Bala (aspectual strength) -- whether benefic planets (Jupiter, Venus, Mercury) aspect this planet from key houses (+15 virupas) or malefic planets (Saturn, Mars, Sun) aspect it from key houses (-15 virupas). Jupiter's special aspects on the 5th, 7th, and 9th houses. Saturn's special aspects on the 3rd, 7th, and 10th.
What our engine actually does
The Shadbala engine runs all six calculations independently for each of the seven classical planets, using both the sidereal chart (for positions, signs, houses) and the tropical chart (for longitudinal speed and retrograde status). It sums the six components into a total Shadbala score, compares each planet's total against the classical minimum required strength (390 virupas for Sun, 360 for Moon, 300 for Mars, 420 for Mercury, 390 for Jupiter, 330 for Venus, 300 for Saturn), computes a strength ratio, and identifies the strongest and weakest planets in the chart. This data feeds directly into our AI-generated readings, so the narrative knows which planets can actually support their house lordships and which ones are structurally compromised.
Ashtakavarga -- Eight-Fold Transit Scoring
337 data points that reveal where life flows and where it resists
Ashtakavarga is one of the most mathematically intensive systems in classical Jyotish. For each of the seven planets, the engine evaluates contributions from eight sources (the seven planets plus the ascendant) across all twelve signs. That is 7 target planets multiplied by 8 contributors multiplied by 12 signs: 672 individual benefic-point lookups to produce the full Prashtarashtakavarga (PAV) table.
The PAV tells you, for each planet, how many benefic points it receives in each sign -- maximum 8 per sign. Signs with high bindus (5 or more) are zones where that planet thrives during transit. Signs with low bindus (2 or fewer) are zones where it struggles, regardless of how dignified the planet appears otherwise.
The Sarvashtakavarga (SAV) sums all seven PAV tables into a single 12-sign composite, with a theoretical maximum of 337 total bindus. The SAV reveals the overall strength topology of the chart -- which regions of the zodiac support the native and which ones drain energy.
What our engine actually does
The Ashtakavarga engine stores the complete standard Parashari benefic-house tables from chapters 66 through 72 of the Brihat Parashara Hora Shastra -- every contributor-target-house relationship for all 56 planet-contributor pairs (7 planets times 8 contributors). It takes each planet's and the ascendant's sign index, computes 672 bindu lookups, generates the full PAV grid (7 planets across 12 signs), sums into the SAV, identifies the strongest and weakest signs, and calculates per-planet bindu totals. This is the kind of computation that traditional Jyotish astrologers spent hours doing by hand with printed tables. Our engine runs it in milliseconds and feeds the results into every reading.
Pratyantar Dasha -- Sub-Sub-Period Timing
Pinpointing the week, not just the year
The Vimshottari Dasha system divides a human life into planetary periods based on the Moon's nakshatra at birth. The Mahadasha (major period) tells you the ruling planet for a stretch of years -- up to 20 years for Venus, as few as 6 for Sun. The Antardasha (sub-period) subdivides each Mahadasha into nine smaller windows. Most astrology apps stop here, if they compute dashas at all.
Families goes one level deeper: the Pratyantar Dasha, the sub-sub-period. This is where timing becomes precise. Instead of knowing you are in a Jupiter Mahadasha and a Saturn Antardasha (which might span 2+ years), the Pratyantar tells you that right now, this month, the active sub-sub lord is Mercury -- and that changes everything about how this window expresses itself.
What our engine actually does
The dasha engine computes the Moon's fractional position within its nakshatra to determine how much of the first Mahadasha has already elapsed at birth. It then builds the complete 9-period Mahadasha sequence forward from the birth date using the standard year allocations (Ketu 7, Venus 20, Sun 6, Moon 10, Mars 7, Rahu 18, Jupiter 16, Saturn 19, Mercury 17). Within each Mahadasha, it subdivides into 9 Antardashas proportionally. Within the current Antardasha, it further subdivides into 9 Pratyantar periods. The result is a three-level deep timing hierarchy: which major lord is active, which sub-lord is active, and which sub-sub-lord is active right now -- down to the exact start and end dates.
This is the difference between knowing the season and knowing the weather today. Most apps give you the season. Families gives you the hourly forecast.
Tara Scoring and Bhakoot Dosha Cancellation
The compatibility calculations everyone else gets wrong
Beyond the seven new engines, we also corrected two compatibility algorithms that are frequently miscalculated across the industry.
Tara scoring checks the nakshatra relationship in both directions -- from person A to person B and from B to A. Each direction produces a remainder when dividing the nakshatra distance by 9, and the result maps to one of nine Tara categories: Janma, Sampat, Vipat, Kshema, Pratyari, Sadhaka, Vadha, Mitra, and Ati-Mitra. The auspicious ones (Janma, Sampat, Kshema, Sadhaka, Mitra, Ati-Mitra) score 3 points; the inauspicious ones (Vipat, Pratyari, Vadha) score zero. Both directions auspicious: full 3 points. One direction auspicious: 1.5 points. Neither: zero. Many apps only check one direction, which produces incorrect results about half the time.
Bhakoot Dosha cancellation is the set of exception rules where the standard Bhakoot penalty (based on Moon-sign distance producing 6-8 or 2-12 ratios) gets cancelled due to specific planetary lordship overlaps between the two charts. Most apps either ignore Bhakoot entirely or apply the penalty without checking the cancellation conditions. We check both.
Why this matters
A reading that skips Shadbala does not know whether a planet in your chart can actually deliver on its house lordship. A reading that skips Ashtakavarga does not know which transit zones will support you and which ones will resist. A reading that skips Gandanta does not detect the karmic knots at the elemental boundaries. A reading that skips Mrityu Yoga misses the degree where your chart is most vulnerable. A reading that skips Kaal Sarp does not notice that every planet in your chart is trapped between the nodes. A reading that skips combustion does not realize that a planet sitting next to the Sun has lost its voice. A reading that stops at the Antardasha level does not know what sub-sub lord is active right now, today, this week.
These are not edge cases. These formations appear in real charts constantly. Gandanta affects anyone born near the three water-fire boundaries. Combustion affects anyone with a planet close to the Sun -- which is almost everyone for Mercury. Kaal Sarp affects roughly one in eight charts. Mrityu Yoga can activate in any sign if a planet hits the specific death degree.
We built these engines because the tradition demands it. The texts are specific. The algorithms are defined. The thresholds are published. There is no excuse for shipping a reading that ignores them -- except that the math is hard and most teams do not care enough to implement it.
We care. That is the whole point.