fedorthinks
All work
Beta2025 — present

Alwenna — a personified AI astrologer

A consumer astrology product built on my Astrolinkers API: a personified AI astrologer who reads your real birth chart (Western and Vedic) and explains it in plain, warm language. Her flagship is compatibility. The LLM is strictly grounded — it only rephrases facts the chart engine computes, and never invents them. In beta.

Visit live
Role
Solo founder-engineer
Stack
TypeScript · Next.js · React · FastAPI · Python · PostgreSQL · Astrolinkers API · Railway
Period
2025 — present

The problem

Consumer astrology splits into two bad shapes. On one side, shallow horoscope apps that hand everyone the same vague daily line. On the other, serious chart tools so dense with jargon — houses, aspects, Ashtakoota — that only enthusiasts can read them. Neither tells a normal person what their actual sky means for their life, their talents, and the people they love.

Alwenna is built for that gap, and it is deliberately not "an app." It's a who, not a what: a personified astrologer you talk to. She reads your real birth chart — Western and Vedic — and explains it in plain, warm, honest language. No vague horoscopes, and never preachy.

What the product does

You give Alwenna your birth date, time, and place; she maps your true sky and starts a conversation. The flagship is compatibility, pair-first: bring her two people and she blends Western synastry with Vedic Ashtakoota to show where you flow, where you clash, and how to make it work — in plain language, not jargon, with an overall harmony score broken out across emotional, attraction, communication, and long-term.

Around that sit the rest: a real natal chart explained placement by placement for what it means in life; a ranked talent profile with the exact placements behind each strength; Ask Alwenna — a warm, specific answer to a real question about you and someone you care about, like texting a wise friend; a timeline of your seasons of growth and tension; and a full written deep report you can export to PDF and keep. Multilingual from day one (English, Spanish, Portuguese, Russian), mobile-first, and themeable.

What I built

The consumer product on top of my own API. Alwenna is the consumer face of Astrolinkers, the chart-grounding API I built. Astrolinkers computes the astrology — Western and Vedic charts, synastry, Ashtakoota, talents — deterministically; Alwenna turns that into a person you can talk to. Product framing, architecture, the agent, and the review are mine; the implementation is produced by AI agents against a staged spec, each stage built end to end with tests and a written report.

A grounded agent, not a chatbot that "knows" astrology. The hard rule: Astrolinkers is the only source of astrological facts. The LLM never invents a placement, a score, or an interpretation — it only rephrases grounded statements into Alwenna's warm voice. So every claim she makes traces back to a real, computed chart, not the model's imagination. That is the whole difference between an AI that merely sounds confident and one you can trust.

A real product surface. A mobile-first PWA, four languages from day one, themes, the compatibility flagship, natal charts, talent profiles, an "ask" conversation, deep PDF reports, and a free-to-paid plan ladder (free, then a monthly and a yearly tier).

Architectural choices

Grounding is an architectural constraint, not a prompt. "The LLM only rephrases" is enforced in the design: the agent wraps Astrolinkers for the facts, and the model is invoked only to phrase — never to decide what is true. It's the same discipline I keep writing about: ground the model on a deterministic source, let it speak, and never let it author the facts.

One engine, one voice. Alwenna is built on the Astrolinkers API for facts, with a thin agent layer on top. The web app talks only to the API over HTTPS; the API is the agent that composes the grounded facts with a single LLM rephrasing pass. Shared contracts are generated from the API's OpenAPI into typed TypeScript clients and Zod schemas, so the web and API can never drift.

Clean architecture, strict. Both deployables follow clean architecture — a pure domain (no IO, no time, no randomness), services wired by dependency injection, adapters at the IO edge — with SOLID, no hard-coded prices or model lists in logic, expected failures as Result values rather than exceptions, and 100% coverage on domain and services. The same engineering bar as the rest of my work.

Mobile-first and multilingual from day one. It is a phone-first PWA, designed at the phone viewport before desktop, with i18n as a day-one requirement — no hardcoded user-facing strings anywhere — across English, Spanish, Portuguese, and Russian, because the audience is global and the reading is personal, and it happens on a phone.

Current status

Alwenna is live in beta at alwenna.com — a mobile-first PWA with the compatibility flagship, natal chart, talents, "Ask Alwenna," timeline, and deep reports, in four languages, on a free-to-paid plan ladder. It runs on the Astrolinkers API for grounded facts. It is the consumer half of a pair I built solo: Astrolinkers is the engine, Alwenna is the person — and together they are a working demonstration of the thing I keep arguing for: an LLM that is useful precisely because it is grounded, and never allowed to make the facts up.