Astrolinkers — программируемый astrology API
Production-grade API для астрологических продуктов: Western и Vedic natal charts, talent profiles, compatibility, interpretations, async PDF reports, API keys, публичные docs, SDK и live demo. Сделан solo и сейчас работает в beta как реальный продукт.
- Роль
- Solo founder-engineer
- Стек
- Python · FastAPI · PostgreSQL · Redis · RabbitMQ · Swiss Ephemeris · OpenTelemetry · Next.js
- Период
- 2026 — настоящее
Проблема
Астрологический софт часто существует в двух слабых формах: consumer-приложения с поверхностными гороскопами или старые расчётные инструменты, которые трудно встроить в современный продукт. Astrolinkers закрывает промежуток между ними: программируемый astrology API, который разработчики могут использовать в своих продуктах, workflow, внутренних инструментах и экспериментах.
Обещание продукта намеренно техническое: один REST API для natal charts, talent profiles, pair compatibility, template interpretations, optional AI rewrites, async PDF reports и большого Vedic calculation engine. Публичный сайт позиционирует продукт как "programmatic natal charts, talent profiles & compatibility — for builders": есть бесплатный maker tier, dashboard, live demo и официальные Python/TypeScript SDK.
Что делает продукт
Astrolinkers превращает данные рождения в структурированные астрологические результаты. Core API создаёт Western или Vedic natal chart, строит talent profile через skill ontology, генерирует template-based interpretations, считает pair compatibility, собирает feedback по каждому statement и создаёт HTML/PDF отчёты через асинхронный worker pipeline.
Vedic-часть сделана глубокой, а не декоративной: divisional charts, bhava chakra, Parashara drishti, dignity, functional nature, Vimshottari dasha, yogas, Ashtakavarga, Shadbala, Panchanga, Jaimini karakas, arudha, progressions, transits, Varshaphala, KP sub-lords и muhurta optimization вынесены в документированные endpoint-ы.
Сейчас система в beta, но это не "макет". Уже есть публичный marketing site, public API docs, dashboard entry points, live demo endpoint, self-service API keys, rate limits, typed SDK и production-oriented operational controls.
Что я построил
Backend platform. Я построил API как clean-architecture Python service: FastAPI на edge, application use-cases в середине, domain types и protocols в ядре, concrete adapters для Postgres, Redis, RabbitMQ, object storage, email, LLM providers и Swiss Ephemeris.
Astrology calculation layer. Core использует Swiss Ephemeris через отдельный adapter и закрывает Western/Vedic расчёты стабильными service boundaries. Публичный контракт — JSON in / JSON out; внутри цель — воспроизводимость, тестируемость и путь к выделению calculation engine, если он станет performance bottleneck.
Talent profile и interpretation pipeline. Skill ontology маппит chart-derived signals в soft и hard skill scores. Template-based statements дают детерминированный baseline, а LLM layer может переписывать интерпретации по tone, не становясь source of truth.
Async reports. Тяжёлая генерация отчёта не делается длинным HTTP-запросом. Report enqueue-ится, обрабатывается worker-ами, рендерится в HTML/PDF, сохраняется в object storage и отдаётся через signed download flow.
Production controls. В платформе есть JWT/bearer auth, выпуск и отзыв API keys, tenant isolation, deny-by-default scope checks, idempotency для мутаций, rate limiting, quota и usage tracking, audit middleware, structured errors, readiness probes, metrics, tracing и Sentry integration.
SDK и developer experience. Я также сделал public docs и официальные SDK: Python
(astrolinkers-sdk) и TypeScript (@astrolinkers/sdk-ts). SDK дают typed methods, response
validation, retry behavior и typed errors, чтобы пользователям не приходилось вручную собирать HTTP
клиент.
Архитектурные решения
Modular monolith first. Система — один codebase с несколькими процессами: API, worker и scheduler. Это сохраняет скорость разработки, но даёт ясные границы вокруг astrology, reports, interpretations, feedback, auth, usage и API keys. Если домен нужно будет выделить позже, ports уже есть.
LLM как adapter, а не архитектура. В Astrolinkers есть AI interpretations, но платформа не зависит от одной модели. LLM providers находятся за protocols и routing policy, с fallback-ами, cost tracking, latency tracking и deterministic template output как базовой линией.
Feedback как moat. Каждый interpretation statement может собирать accuracy feedback. Это превращает субъективное качество интерпретаций в данные: можно агрегировать template accuracy, находить слабые правила и улучшать scoring на реальных оценках пользователей, а не на догадках.
Observable from day one. Система отдаёт Prometheus metrics, OpenTelemetry traces, structured
logs, /healthz, /readyz, /version и имеет описанные SLO. Это важно, потому что astrology
calculation, LLM providers, worker queues и PDF rendering ломаются по-разному.
Beta с production-дисциплиной. Astrolinkers сейчас в beta, но ведётся как реальный production service: versioned API, documented error envelope, rate limits, tenant boundaries, runbooks, SLO, deployment manifests и soft-launch gates.
Текущее состояние
Astrolinkers доступен на astrolinkers.com, публичная документация — на docs.astrolinkers.com. Dashboard живёт на app.astrolinkers.com, а публичный сайт включает live chart demo против того же calculation engine, который используется через API.
Я сделал проект solo: product framing, backend architecture, astrology engine integration, API contract, auth и quotas, report pipeline, docs, SDK, deployment posture и operational hardening. Следующий этап — расширять beta usage, усиливать feedback loops и превращать реальные данные использования в более качественные интерпретации и понятную коммерческую упаковку.