Technical proposal & build structure
Version 1.0 · Confidential
Prepared by Team WebEpex

Astrology and numerology platform
Technical proposal and build structure

This document sets out the system architecture, the four build phases, the infrastructure required, and the reasoning behind each decision. It is written to be read in full before any commitment is made.

Document
Proposal v1.0
Phases
0, 1, 2 and 3
Build duration
26 to 31 weeks
Prepared by
Team WebEpex
Section 01

System architecture and the separation of logic from language

The rulebook is deterministic. Given a chart, a rule either fires or it does not, and it does so identically every time for every user. That property is the basis of the product's credibility and it must be preserved end to end.

A language model is probabilistic by design. If the rulebook is used as training data, the model will apply rules correctly most of the time and produce a plausible variant the rest of the time. For a paid advisory product this is not a rough edge, it is a failure of the core function. It also means the rulebook is embedded in model weights that cannot be selectively edited or withdrawn.

The architecture therefore separates the two completely. Astronomical calculation is code. Rule evaluation is code. Priority and conflict resolution is code. The language model performs one function: it converts an already resolved verdict list into readable prose in the correct language and register.

WEBEPEX MANAGED CLIENT OWNED AND OPERATED TRUST BOUNDARY Mobile and web app Birth date, time, place Chart service Third party API, cached Request builder Structured payload only Narrator model Verdicts into prose Report store Cached and versioned Rule engine Evaluates every active rule Priority resolver Conflicts settled by tier Rulebook and verdict library Never leaves this machine CHART PAYLOAD RANKED VERDICTS
Figure 1. Only structured payloads cross the boundary. No rule text moves in either direction.

Consequence for intellectual property

The narrator model never receives rule text, so it cannot reproduce rule text. This is a property of the architecture rather than a promise about prompt configuration. The rulebook, the priority tables and the verdict library remain on hardware the client controls, and the application never holds a copy.

The limit of this protection, stated plainly

Outputs reveal rules statistically. A determined party can register accounts, submit systematically varied birth data and map where verdicts change. Rate limiting, paraphrased narration, absence of rule identifiers in responses and anomaly detection on input patterns raise the cost of this substantially. They do not reduce it to zero. Contractual terms are the remaining protection.

Section 02

How a single report is generated

Six steps. Five are deterministic. Only the last involves a language model, and by then every decision has already been made.

STEP 01 Capture and normalise Time zone history, coordinates STEP 02 Fetch chart Third party API, then cached STEP 03 Derive numerology Name, birth, destiny numbers STEP 04 Evaluate rules Client server, all active rules STEP 05 Resolve and rank Conflicts settled, list ordered STEP 06 Narrate and store Language model writes report Steps 04 and 05 run on client hardware. Steps 01, 02, 03 and 06 run on WebEpex infrastructure.
Figure 2. Report generation sequence and where each step executes

Why charts and reports are cached permanently

A birth chart never changes. Once calculated it is stored against the birth details that produced it and never fetched again. A report is stored against the chart identifier plus the rulebook version. When a rule changes, only reports touching that rule are regenerated.

At low volume this is a convenience. At scale it is the difference between a predictable operating cost and one that grows linearly with usage, because both the chart provider and the model provider bill per call.

Section 03

Inside the rule engine: attribution, conflict and ranking

Roughly four hundred rules fire for a given chart. The question of which rule acts on which part of a person's life is answered by the rule itself, not worked out at runtime.

A rule is a record with fields, not a sentence

Each rule carries metadata alongside its conditions. The conditions state when it fires. The metadata states what it acts on and how loudly. Four fields do the structural work.

FieldQuestion it answersExample value
domainWhich area of life this rule acts on. The engine groups by this field.marriage
priority_tierWhat it outranks and what outranks it. 1 is absolute, 4 is modifier only.2
conflict_groupWhich rules it contradicts. Inside a group only the highest tier survives.marriage_timing_delay
strengthHow loudly it speaks within its tier. Orders the survivors.7

Every conditional statement in the source material becomes a conflict group

Where the material says a placement indicates delay unless a particular aspect is present, that is two rules sharing one conflict group, with the second at a higher priority tier. When the second fires, the first is dropped before it reaches the report. Identifying these pairs is the substance of the conversion work, and it is the part that has never been written down.

Rules evaluated About 400 fire from 3,000 active Marriage92 fired Career64 fired Health41 fired Wealth58 fired GROUPED BY DOMAIN FIELD. NO INTERPRETATION REQUIRED. Conflict resolution Lowest priority_tier wins its group Ties broken by strength, then by rule id Ranked verdict list About 12 per domain, fixed order, with remedy links
Figure 3. Rule engine pipeline. The same chart produces the same list on every run.
  1. EvaluateEvery active rule is tested against the chart payload.
  2. Group by domainA grouping operation. Each rule already declared its domain, so no judgement is applied here.
  3. Resolve conflictsWithin each group, rules sharing a conflict group compete. Lowest priority tier wins. Ties broken by strength, then by rule identifier so the outcome is stable.
  4. Attach modifiersTier 4 rules attach to the surviving rules they depend on. If the required rule did not survive, the modifier is discarded with it.
  5. Rank and truncateSurvivors sort by strength. The top set per domain is retained. Remedies are attached only where the user is entitled to them.
  6. EmitA ranked verdict list crosses the boundary to the narrator.

Why priority resolution cannot sit in the language model

If a model decides the ordering, two users with identical charts receive different reports. A complaint cannot be reproduced, a change cannot be tested, and no claim about consistency can be verified, including under technical due diligence during a funding round. Placing this logic in code makes the system auditable.

Section 04

Reverse lookup: user reports a problem

A user describes a difficulty in their own words. The system identifies which of their existing verdicts account for it, and returns causes and remedies.

User message Free text, any wording Classify only Maps to one code from a closed list Filter verdicts Existing list, not recomputed Answer Causes, remedies No match in taxonomy System states it does not cover this. No answer is invented.
Figure 4. Reverse lookup. The model classifies; the engine answers.

Two design decisions make this safe. First, the query runs against verdicts already computed for that user, rather than triggering a fresh evaluation. The answer therefore cannot contradict the user's own report. Second, the list of recognised problems is closed. A complaint outside the taxonomy returns an empty result and the system says so, rather than producing an invented explanation.

The model performs classification, not interpretation. It converts free text into one code from a fixed list. Everything after that point is a database query.

Section 05

Build structure and phase dependencies

Four phases. Each produces a working system rather than an internal milestone, and each is committed to separately.

PHASE 0 Foundation PHASE 1 Astrology core PHASE 2 Matching PHASE 3 Expansion Rule schema API contract Mock rule server Validator script Priority model Wireframes Ayanamsa decision Onboarding Chart service Rule engine build Priority resolver Report generation Remedies, entitlement Payments Accounts Evaluation harness Server setup on site Pairwise scoring Pre filter pipeline Discovery feed Mutual match Messaging Conversation openers Report and block Moderation queue Photo verification Family tree Prediction timelines Voice advisory Credit economy Advisory chat Admin console Multi language Scale hardening Store submission GATE: 200 RULES REQUIRED REVENUE BEGINS HERE NEEDS PHASE 1 USER BASE RETENTION LAYER
Figure 5. Contents of each phase and the dependency between them

Why the advisory side is built before the matching side

The advisory product generates revenue from a single user. It has no network requirement. The matching product delivers no value until a population of profiles exists in each city, which means it cannot be tested meaningfully at launch.

Building the advisory side first produces a base of users who already hold complete verified chart profiles. Those users are the initial population for matching. This converts a cold start problem into an asset that has already been paid for.

Phase 0

Foundation

Two to three weeks. Establishes whether the rulebook can be expressed as software before any application code is written.

WebEpex delivers

  • Rule schema The formal JSON definition covering conditions, domain, priority tier, conflict group, strength, problem codes and remedy links.
  • API contract The exact request and response format between the application and the rule server, signed off by both sides and frozen.
  • Mock rule server A stand in that responds correctly, so application work proceeds in parallel with rule conversion.
  • Validator script Checks every submitted rule and reports precisely what is wrong with it. Runs locally, no dependencies.
  • Priority model How the override table is expressed so the resolver can execute it.
  • Wireframes Full information architecture for both sections of the product.

Client delivers

  • 200 rules in one domain Marriage is recommended, since it feeds both halves of the product. Validated before submission.
  • 20 conflict cases Two rules that disagree, which one wins, and the reasoning. This is the most important item in the handover.
  • 10 reference readings Real charts with the report that would have been written manually. These become the automated quality benchmark.
  • Ayanamsa decision Which calculation convention the rules assume.

This phase is a gate

Phase 1 development begins only after the 200 pilot rules pass validation. If 200 cannot be produced in the required form, 3,000 cannot either, and that is established at a cost of one phase rather than after an application has been built around an assumption.

Override logic is normally held intuitively rather than explicitly. A practitioner knows which rule wins without ever having recorded it. If extracting that ordering requires structured interviews rather than reading from existing documents, it will be scoped as a separate workstream at that point.

The ayanamsa question

Lahiri, Raman and KP conventions place houses differently for the same birth details. If the chart provider uses one convention and the rules assume another, every verdict is subtly incorrect and the error is invisible for months. This is fixed in week one and asserted in automated tests thereafter.

Phase 0DurationCost
Foundation2 to 3 weeks$3,500
Phase 1

Astrology core

Eight to ten weeks. A complete paid advisory product with no matching features. Revenue begins at the end of this phase.

Access to the rulebook is not required to build the engine

The rule engine reads rule records and evaluates them against a chart payload. It is indifferent to what any individual rule says. It is therefore built and tested entirely against synthetic rules written by WebEpex, and the client loads the production rulebook into the finished engine on their own server.

This removes the need for WebEpex to hold, transmit or store any part of the rulebook at any point during the engagement.

Phase 1DurationCost
Astrology coreIncludes on site infrastructure setup and handover8 to 10 weeks$25,000
Phase 2

Matching

Six to eight weeks. Compatibility scoring, discovery and messaging, built on the profile base created in Phase 1.

The scaling constraint

Compatibility is pairwise, so evaluation cost grows with the square of the user count. One thousand users produces half a million pairs, which is manageable. One hundred thousand users produces five billion pairs, which is not, and every one of those evaluations would run on the client rule server.

The system therefore filters before it scores. Structural filters reduce the candidate pool to a few hundred profiles before any rule is evaluated. Scores are cached against the rulebook version and recomputed only when a new user joins or a rule changes.

All profiles 100,000 Structural filter Age, city, preference, active Candidate pool About 300 Compatibility scoring Rule server, cached result SCORING RUNS ON HUNDREDS OF PAIRS, NOT MILLIONS. THIS DECISION CANNOT BE RETROFITTED CHEAPLY.
Figure 6. Matching pipeline. Structural filters run before any rule is evaluated.

Product decisions taken in this phase

Phase 2DurationCost
Matching6 to 8 weeks$12,000
Phase 3

Expansion

Eight to ten weeks. Features that increase revenue per account and reduce churn, plus the operational tooling required to run the product without developer involvement.

Phase 3DurationCost
Expansion8 to 10 weeks$20,000
Section 10

Infrastructure and ownership

Rule evaluation is comparison, lookup and sorting. It runs on ordinary CPU hardware. No graphics processing is involved in the rule layer at any point.

CLIENT OWNED, SOLE ROOT ACCESS Rule server 8 vCPU, 32 GB RAM, NVMe storage, no GPU Encrypted standby Second location, same keys, client controlled PRIVATE LINK, MUTUAL TLS, IP ALLOWLIST WEBEPEX MANAGED, MUMBAI REGION Application backend Database Object storage External APIs Replaceable components. None of these holds any part of the rulebook.
Figure 7. Infrastructure ownership and the location of each component
ComponentOwnerCost
Rule serverOn premises machine or a VPS where the client holds sole root access. CPU only.Client$900 to $1,400 once
or $80 to $150 monthly
On site installationTravel, installation, hardening, private link, backups, runbook handover.WebEpexIncluded in Phase 1
Application backend and databaseManaged cloud, Mumbai region for latency and data residency.WebEpex$80 to $300 monthly
Object storage and CDNChart images, report files, audio files.WebEpex$10 to $50 monthly
Chart provider APIBilled per call, but each chart is purchased once and cached permanently.Pass throughUsage based
Narrator model APIA small per report cost at current provider pricing.Pass throughUsage based
Voice synthesisPhase 3 only. Billed per character.Pass throughUsage based

On local model hardware

Local inference hardware is a reasonable choice where no user text may reach an external provider. It is a decision about inference sovereignty, not about training, since no model is being trained in this build.

Two points are worth noting before purchase. First, current desktop class AI systems link in pairs rather than into larger clusters, so additional units add capacity in parallel rather than combining into one larger machine. Second, these systems are optimised for development and privacy sensitive local inference; memory bandwidth, not raw compute, limits throughput when serving many concurrent users. For production serving at volume, a server with high bandwidth cards delivers more output per unit of spend.

This decision does not affect the build. The narrator sits behind an interface, and whether that interface points at an external API or at client owned hardware is a configuration change rather than a rebuild. It can therefore be made at any point without delaying Phase 0.

Trade off to decide deliberately

Placing the rule server physically on the client premises gives maximum control. It also makes the client's own internet connection a dependency of the product; if the line drops, report generation stops.

The recommendation is a hardened VPS in a Mumbai datacentre where the client holds the only root credentials and the only disk encryption keys, with a client controlled encrypted standby. This retains sole custody without taking on responsibility for uptime. If on premises hardware is preferred, it will be configured that way with a documented failover path.

Section 11

The model layer and guardrails

No model is fine tuned in this build. Behaviour is controlled through configuration, structure and code, which keeps the rulebook out of model weights and makes changes reversible.

How output quality is controlled

  • System configuration Tone, structure, register, and the claims the model must never make.
  • Reference examples The ten manually written readings, supplied as the standard to match.
  • Fixed output structure Sections in a fixed order, so reports are consistent and comparable across users.
  • Evaluation set A growing bank of approved charts and reports, re run automatically on every change.

If tone still requires adjustment after this, a light fine tune on verdict to report pairs is possible later. Those pairs contain no rule text, so no intellectual property is exposed.

Guardrails enforced in code

  • Entitlement stripping Content a user has not paid for is removed from the payload before narration.
  • No rule identifiers in output Internal identifiers are mapped to display text on the server and never reach the application.
  • Refusal boundaries No medical diagnosis, no death or serious illness prediction, no legal or investment instruction.
  • Distress routing Language indicating crisis routes to human support and published helplines rather than to a prediction.
  • Rate limiting Per account and per device, to raise the cost of systematic probing.
  • Closed problem taxonomy Queries outside the recognised list return empty rather than a generated answer.
Section 12

Commercial terms

PhaseDurationCost
Phase 0: FoundationSchema, contract, mock server, validator, wireframes2 to 3 weeks$3,500
Phase 1: Astrology coreComplete paid advisory product, both platforms, on site setup included8 to 10 weeks$25,000
Phase 2: MatchingCompatibility engine, discovery, messaging, safety tooling6 to 8 weeks$12,000
Phase 3: ExpansionFamily tree, timelines, voice, credits, admin console, hardening8 to 10 weeks$20,000

Each phase is quoted and committed separately. No phase obliges the next.

Ongoing support after launch

Infrastructure and API usage are billed at cost and pass through separately. They are not absorbed into a support tier, so there is never an incentive to under provision the product.

TierScopeMonthly
CareMonitoring, uptime, bug fixes, security patches, store compliance, backups. No new features.Approximately 12 to 20 engineering hours.$500
BuildAll of Care, plus a monthly block of feature work, rule set expansion and iteration on live usage data.$1,800
GrowthAll of Build, plus acquisition work run by the team that built the product: store optimisation, search, paid campaigns and reporting.$3,200
Section 13

Risks and ownership of each

RiskMitigationOwner
Rule conversion stallsOverride logic is held intuitively rather than documented. Highest probability failure mode.Phase 0 gate. 200 validated rules and 20 conflict cases before Phase 1 begins.Client
Rule correctnessThe engine executes rules faithfully. It cannot assess whether the rules are correct.Reference readings and the evaluation harness detect drift from the intended output, not errors in doctrine.Client
Chart convention mismatchWrong ayanamsa produces silently incorrect verdicts.Convention fixed in Phase 0 and asserted in automated tests.WebEpex
Chart provider dependencyOutage, price change or discontinuation.Adapter interface from the first week, so providers can be swapped or calculation brought in house without wider changes.WebEpex
Matching cold startEmpty feeds in low density cities reduce early retention.Advisory user base seeds the matching pool. Threshold widens automatically when a pool is too small.Shared
Rule extraction through outputsSystematic probing by outside parties.Rate limits, paraphrased narration, no rule identifiers in output, anomaly detection, contractual terms.Shared
App store rejectionAccuracy claims and dating safety requirements.Claims reviewed before submission. Safety tooling built in Phase 2 rather than added afterwards.WebEpex
Section 14

Out of scope

Palm, nail and gemstone image analysis

The source material contains diagrams for palm, nail and gemstone readings. These represent two separate problems and neither belongs in the phases above.

Converting the diagrams into rules is a knowledge task. The diagrams map to conditions and outcomes in the same way the written rules do, and this can be absorbed into a later rule set expansion at modest cost.

Reading a photograph of a user's palm is a computer vision problem. No general purpose model performs this reliably. It requires a large set of labelled images that does not currently exist, which means the work cannot begin until the product has an active user base generating that data. Including it in a fixed price build would consume the budget without producing a working feature.

The recommendation is to revisit this as a separate research engagement once the platform is live, at which point the user base is also the data source that makes it feasible.

Rulebook authorship

WebEpex builds the engine, not the rules. The engine is content agnostic and is developed against synthetic rules. Authorship, correctness and maintenance of the rulebook remain with the client throughout.

Recommended next step

Begin with Phase 0

Two to three weeks establishes whether the rulebook can be expressed as software, fixes the calculation convention, and produces the contract that lets both sides work in parallel from that point forward. Every decision after it is made with evidence rather than assumption.

If the answer turns out to be negative, it is established at the cost of one short phase rather than after an application has been built around it.

Prakhar Vohra
Prakhar Vohra
Founder, WebEpex
Prepared by Team WebEpex · webepex.com
Technical proposal v1.0 · Confidential