← All Work/Satiaphic

Independent product · Technical BA case study

Satiaphic

A requirements-to-release case study for a feedback product covering collection, triage, recurring themes, assigned work, permissions, billing rules, and external service events.

Live Site ↗

Problem and scope

From scattered feedback to accountable follow-up

Feedback often arrives in different places: public reviews, forms, messages, and internal notes. Keeping it scattered makes it difficult to see repeated problems or decide what needs attention.

Satiaphic brings those inputs into one workflow. Teams can review the feedback, group related issues, create work from them, and keep the source connected to the result.

My scope

  • Defined the problem, first-version scope, user roles, and end-to-end feedback workflow
  • Turned the workflow into functional requirements, business rules, and acceptance conditions
  • Mapped the data model, workspace boundaries, API behaviour, and external service events
  • Built the interface, routes, database logic, scheduled tasks, billing, and email flows
  • Reviewed permissions, input handling, integration events, and main product paths before release

Functional requirements

Rules the product had to satisfy

These requirements were derived from the product workflow and used to shape the data model, permissions, integrations, and release checks.

REQ-01

Workspace separation

Feedback, users, themes, work items, and plan state must remain attached to the correct workspace.

REQ-02

Multiple collection sources

Public reviews, direct links, QR codes, and embedded forms must enter a consistent review workflow.

REQ-03

Controlled actions

Role permissions must govern who can manage members, change feedback, create work, and manage billing.

REQ-04

Traceable follow-up

Themes, proposals, and work items must stay connected to the feedback that caused them.

REQ-05

Verified plan changes

Subscription state must change only after a valid billing event and must control plan-based access.

Workflow

How the main flow works

01

Collect

Bring in public reviews and direct feedback from links, QR codes, and an embedded form.

02

Review

Filter, assign, prioritize, and update feedback from one shared inbox.

03

Organize

Extract useful topics and group related feedback into recurring themes.

04

Act

Turn themes into proposals and work items, then track their progress.

Solution coverage

Features mapped to the workflow

01

Feedback inbox

One place to review feedback, set priority, assign ownership, and track status.

02

Collection channels

Google Maps reviews, public links, QR codes, and an embeddable feedback form.

03

Theme grouping

Language-model topic extraction followed by application logic that groups related items.

04

Follow-up work

Proposals and assigned work items connected to the feedback that created them.

05

Team access

Owner, admin, and member roles with permissions applied to product actions and data.

06

Plans and billing

Subscription flows and plan-based access through DodoPayments.

Acceptance checks

How the important rules were checked

The focus was not only whether a screen loaded, but whether workspace scope, permissions, traceability, and billing behaviour matched the intended rules.

  1. AC-01A signed-in user sees feedback only from the active workspace.
  2. AC-02A user without the required permission cannot perform the restricted action.
  3. AC-03Feedback submitted through a public channel is stored against the intended workspace and enters the inbox.
  4. AC-04A theme or work item keeps a link to its source feedback.
  5. AC-05An unverified billing event does not change subscription access.

System context

How the requirements map to the implementation

Application

Next.js, React, TypeScript, Tailwind CSS

Data

MongoDB, tenant-scoped queries, Zod validation

Services

LLM API, DodoPayments, SMTP email, Vercel Cron

Delivery

Git, Vercel, environment-based configuration

Next project

See how Expenra was built.

Expenra Case Study