Some parts of this page need JavaScript.

Skip to main content

We use cookies for analytics. Privacy

All work

Consumer Productivity / Case study

Asteria

A birth-chart guide that shows its working

Asteria running
Web live · Asteria

In short

Asteria is a birth-chart guide built on our own Rust calculation engine, verified against JPL Horizons within 0.01°, that keeps fact and interpretation visibly separate for beginners.

ResultEngine positions verified within a 0.01° budget against independent JPL Horizons references.

Status
Web live
State
Web live · native in acceptance
Engine
Rust, built in-house
Accuracy
Within 0.01° of JPL references
Built with
Rust / React / TypeScript / Flutter

Inside the project

01 / 04

The public landing: enter a birthday, and tonight's sky is described in plain words.

Captured from the Asteria application on 1 November 2026. Charts use fictional test data.

Asteria1 / 4

Asteria landing page: "Your birth chart, in plain words." beside a third-quarter Moon and a note on tonight's sky

The public landing: enter a birthday, and tonight's sky is described in plain words.

The brief

The problem

Most astrology apps either hand beginners confident answers with no way to see where they came from, or bury them in chart data that assumes years of study. When a birth time is uncertain, most apps guess without saying so.

What we did

Our approach

We built the calculation engine ourselves in Rust and checked it against independent astronomical references. The product then treats interpretation as something with visible parts: the Sun, Moon and Rising first, in plain language; the calculation behind each claim a tap away; and anything that depends on an unknown birth time marked as unknown instead of guessed. The same engine drives a daily sky view for visitors who have not entered a birth date.

Features

What it does

  • Plain-language Sun, Moon and Rising first

  • Calculation behind every claim, one tap away

  • Unknown birth time marked as unknown

  • Daily sky for visitors without a profile

  • Beginner and Pro views on one engine

Results

What happened

  • Positions verified against independent JPL Horizons references, within a published 0.01° budget
  • Uncertain birth times shown as uncertain rather than guessed
  • Beginner reading and a Pro instrument view on one engine
  • The same engine drives a daily sky view for visitors who have not entered a birth date
  • Web client live; native client in release acceptance

Services

What this work shows we do

  • Custom software

    Software built around how the business works, and run after launch.

    Service page

Related work

Built with the same services

Other work of ours that shares this project's services.
  • JarvisMCP, running
    Developer Tools

    JarvisMCP

    JarvisMCP gives AI agents one governed door into our company systems: CRM, search intelligence, infrastructure, memory and coordination. Agents find the capability they need, act through it, and leave a record. They never hold the keys.

    Read the case study
  • ButlerCRM, running
    Business Systems

    ButlerCRM

    ButlerCRM keeps contacts, deals, email, calendar and tasks in one workspace that updates live for everyone in it. We rebuilt it on Elixir/Phoenix so changes appear for the whole team as they happen.

    Read the case study

How we work

How a change reaches production

The same five gates for our own products and for yours. Nothing reaches your customers on the strength of a demo.

  1. 01 · Isolate

    Its own branch and workspace

    Every change starts in a separate copy of the code, so work in progress never touches what is live.

    git worktree add .worktrees/your-change
  2. 02 · Build

    Engineers with AI agents

    Agents write and test code beside us. They hold no passwords: every call they make goes through our gateway, which checks it and logs it.

    agent → gateway → policy · audit · call
  3. 03 · Prove

    Evidence, then review

    Tests, before-and-after screenshots of the running app, then independent reviewers. It does not move on until no serious finding is left.

    review: 0 high · 0 medium → pass
  4. 04 · Ship

    Deployed and checked live

    The pipeline builds and deploys. Then we check the running service itself, not just a green build.

    replicas 1/1 · image sha matches · health 200
  5. 05 · Watch

    Checked every night

    Each integration we run is tested against its provider every night, so a changed API is caught before your team notices.

    nightly: each integration vs its provider

Want something built like this?

Tell us what your team does by hand and the tools involved. Custom software is where most projects like this start.