Bayanبيان

Data you can read.
Reports you can hand over.
An analytics view with traceable figures, and an Arabic report that stays clear when printed or shared as a PDF.

Disciplines
Analytics / Arabic reporting / JavaScript & Python
Provenance
Independent studio project
Year
2026
Demo
Source · runs locally + sample PDF
Bayan analytics: period and status filters above four indicators and channel bars
01

The brief

Reviewing activity needs figures that respond to filters, and an Arabic report that remains clear when printed and shared.

02

The approach

A fixed synthetic dataset, calculations you can trace and simple charts that carry meaning. The report shows the same filtered rows, with a clear definition of what each indicator counts.

03

What you can verify

  1. Set the period and order status; the figures recalculate.
  2. Compare channels and inspect the rows behind each total.
  3. Generate the Arabic report, then print it or download it as a PDF.
  4. Completed-order value counts completed orders only, and the page says so.
  5. Tests check the aggregations and the actual bytes of the generated PDF.
04

Implementation & handoff

An analysis interface, seeded data, independent calculations and tests, an Arabic report template and a PDF. A real four-page sample generated by the project is downloadable on this page. PDF generation runs locally and needs Python 3 and LibreOffice.

05

Honest context

72 synthetic records — not a real company’s performance. The revenue shown is the total value of completed orders only; there are no forecasts and no financial advice.