Lorapok Labs product

Multi-DB reports that stay fast.

ReportKit owns week chunking, filter validation, merge → dedupe → slice, and DataTables JSON. Your host keeps the SQL — across live and archive databases.

PHP 5.6 → 8.5 Laravel 4.1 → 13 Fictional demo only
How ReportKit works

Starting…

Fictional demo data only — same flow in your Laravel host.

Step 1 of 18
1 Validate
2 Plan
3 Prepare
4 Fetch
5 Merge
6 Compose
7 Send
Operator
Browser UI
Prepare engine
Host API
Cloudflare Mail
Weeks —
Prepared rows 0
Export SQL —
Files ready
XLS CSV PDF
Prepare progress
  1. Validate filters (client + FilterValidator)
  2. Plan weeks → parallel fetch (≤3) → merge 742 rows
  3. Compose XLS · CSV · PDF from same JSON (0 SQL)
  4. Validate email → ZIP → POST /send → Cloudflare → 200 OK

18-step prepare → compose → send animation — scroll replay or open the interactive lab.

Live versions

Beta channel is current

Generated 2026-09-15 · install with @beta until stable cuts.

Versioning docs
reportkit/core
0.1.0
stable 0.1.0
Release
reportkit/laravel
0.1.1-beta.1
Release
reportkit/laravel-legacy
0.1.1-beta.1
Release
@lorapok-labs/reportkit-ui
0.1.0
stable 0.1.0
Release
composer require reportkit/core:^0.1@beta reportkit/laravel:^0.1@beta

Why teams reach for ReportKit

Built for hosts that already have live + archive databases and need DataTables/export without rewriting SQL into a framework.

Host-owned SQL

Implement RowSource. Domain queries stay in your app forever — Core never imports Eloquent.

Merge → dedupe → JSON

PseudoPaginator + DataTableResponder turn dual-DB grabs into serverSide DataTables payloads.

Prepare-once weeks

DateRangeChunker splits large ranges into week jobs so exports don't re-query the full window.

One report, many Laravels
L4.1 L4.2 L5.4 L5.5 L6 L8 L10 L11 L12 L13

reportkit/laravel-legacy for 4.1–5.4 · reportkit/laravel for 5.5–13 · same Core engine.

See the multi-Laravel story

Honest scale

Free hosting cannot store billions of rows. The public demo shows a real dual-D1 merge live, a labeled synthetic generator for huge virtual paging synthetic, and CI benchmarks measured.

Read the scale policy →
1M
dummy dual-DB seed (research)
50M
virtual address space
$0
hosting for demo

Quick start

# Beta channel (current)
composer require reportkit/core:^0.1@beta reportkit/laravel:^0.1@beta
php artisan reportkit:install --publish-assets
php artisan reportkit:make Sales --route=admin/sales --preset=hybrid
composer require reportkit/core:^0.1@beta reportkit/laravel-legacy:^0.1@beta
php artisan reportkit:install --with-config --publish-assets
php artisan reportkit:make Sales --route=admin/sales
composer require reportkit/core:^0.1@beta
// Implement ReportKit\Core\Contracts\RowSource
// Use DateRangeChunker + PseudoPaginator + DataTableResponder