03 · Decision Intelligence

Octostra

A decision-intelligence engine that tells you what to focus on now, and shows its reasoning. Not another task manager: a deterministic rule engine, a transparent scoring engine, and an aggregator that turns a messy backlog into a ranked, auditable shortlist.

Role Designer & Engineer Year 2025 Stack FastAPI · PostgreSQL · React · Docker

Task lists tell you what's on your plate. Not what to do first.

Every productivity tool can store a backlog. None of the ones I used could tell me, with a straight answer, what to work on next, and why. Either they sorted by due date alone (everything urgent feels equally urgent the day before it's due), or they buried "smart" sorting behind an LLM call that produced a different answer every time you asked.

I wanted a system that behaves like a colleague who's thought it through: ranks the work, and can explain the ranking in plain numbers, every time, the same way.

A scoring engine you can audit, not a black box you trust blindly.

I designed and built the full stack: the FastAPI scoring service, the PostgreSQL schema for tasks and weights, and the React frontend that surfaces the ranked shortlist with its reasoning attached.

  • Deterministic rule engine. Same inputs always produce the same ranking. No model calls, no drift, no surprise re-orderings overnight.
  • Transparent scoring. Every task carries an urgency, impact and effort score, each visible and individually weighted.
  • Aggregator. Combines the three scores into a single ranked shortlist of the top 3–5 items, with the math behind each rank exposed.
  • Explainable by default. "Why is this #1?" has a one-sentence answer backed by numbers, not a paragraph of hedged LLM prose.

The product tour: from focus list to team-level signals.

Octostra is broader than a ranked task list. The app ties the personal focus queue to projects, sprint planning, team workload, recommendations and performance tracking.

Octostra focus page with ranked tasks and reasoning.

Focus

A ranked shortlist with reason codes.

The core view turns a backlog into the next few decisions, exposing score components so users can audit why each item appears.

  • Shows the top work items instead of the whole backlog.
  • Reason codes explain urgency, impact and blockers.
  • Scores are deterministic, so the answer is repeatable.
Octostra sprint page with active sprint, burndown chart and sprint board.

Sprints

Sprint board plus burndown context.

Planning is connected to execution: active sprint scope, progress, risk and board state are visible in the same workspace.

  • Active sprint scope and status are visible together.
  • Burndown makes delivery drift obvious early.
  • Tasks remain connected to the focus engine.
Octostra team page with member workload, skills and availability.

Team

Workload and skills shape the recommendations.

The team view makes capacity visible, so the engine can highlight overload and match work to the people best placed to move it.

  • Availability, workload and skills are shown per member.
  • Overloaded people are visible before assignments stack up.
  • Recommendations can use capacity, not just task metadata.
Octostra performance dashboard with velocity chart and delivery risk indicators.

Performance

Velocity and risk signals close the loop.

Performance analytics show whether the recommendation engine is improving throughput or simply reshuffling the backlog.

  • Velocity trend shows whether execution is improving.
  • Risk indicators expose blocked or slipping work.
  • The product can learn which recommendations produced outcomes.

From raw backlog to ranked shortlist in four deterministic steps.

Each stage is a separate, testable unit. The scoring weights are configuration, not code, so the ranking can be tuned per user without touching the engine.

01

Intake

Tasks come in with metadata: due date, declared importance, estimated effort. Stored in PostgreSQL via the FastAPI API.

02

Rule engine

Deterministic rules normalize each field into a 0–100 sub-score: urgency from days-until-due, impact from declared importance, effort from estimated cost.

03

Scoring engine

Sub-scores are combined with configurable weights into a single 0–100 total score per task, with each component retained for explanation.

04

Aggregator

Sorts by total score, returns the top 3–5 as the day's shortlist, and attaches the per-component breakdown that justifies each rank.

The scoring engine, running in your browser.

This is a small, faithful re-implementation of Octostra's ranking logic: urgency (45%), impact (35%), effort (20%). Add a task, watch it find its place, and click any row to see exactly why it ranked where it did.

Today's backlog click a task for the reasoning

What changed.

Top 3–5
items surfaced from any backlog size, every time
0
model calls in the ranking path: fully deterministic
3
scored factors, each independently visible and tunable
1 sentence
to answer "why is this first?", backed by numbers

What I'd build next.

  • Per-user weight tuning. Let people nudge the urgency/impact/effort balance and see the shortlist re-rank live.
  • Decay curves. Replace the linear urgency function with configurable curves for different task types (deadlines vs. ongoing work).
  • Calendar awareness. Factor in available focus time so the shortlist matches what's actually achievable today.

More from the build.