Reports Hub

Complete User Documentation

Reports Hub is a browser-based inspection report management system. It helps technicians and inspectors upload images, organize them by job, generate professional PDF reports, and send everything to clients — all from one place, even offline.

Batch Upload

Upload and auto-optimize dozens of images at once with a single drag and drop.

Organize by Job

Assign images to clients and jobs with a color-coded visual selection board.

Generate PDFs

Auto-generate A4 text reports and photo gallery PDFs, instantly previewable.

Image Editor

Crop, rotate, brighten, annotate with draggable text balloons, and undo any step.

Send Reports

Send reports via email with flexible attachment options including Cloud Storage links.

Works Offline

Install as a PWA and keep working even without an internet connection.

Storage: Reports Hub uses a hybrid model. Your high-resolution images are stored in Supabase Cloud Storage for multi-device access, while a local copy is kept in your workspace for maximum offline speed.

Recommended Workflow

Follow these four steps in order for the smoothest experience.

1
Upload
Add & optimize images
2
Select
Assign to jobs
3
Reports
Manage clients & jobs
4
Edit & Send
Generate PDFs & email
Step-by-Step
1

Set up your Workspace

On first launch, Reports Hub asks where to create its root folder on your computer. Choose a location, enter your name/company, and the app builds the entire folder structure automatically.

2

Upload your images

Drag images onto the Upload screen or click to browse. Optionally enable optimization (resizes to max 1920px and compresses to your chosen quality). Click Upload & Process.

3

Assign images to a job

Go to the Selection screen. Choose a job from the dropdown (or create a new client/job inline). Select the images you want and click Assign Selected. When all images are assigned, the app automatically moves to the Reports screen.

4

Open a job and fill the report

On the Reports screen, click the edit icon next to any job. Fill in the text fields (Report Number, Client, Scope, Complaint, etc.).

5

Edit images and generate PDFs

In the Edit screen, click any image in the gallery to open the image editor. Use the toolbar to crop, rotate, enhance, or annotate. Then click Generate PDF Text Report and/or Generate PDF Photo Gallery.

6

Send the report

Choose an attachment option (ZIP, no compression, gallery PDF only, or Cloud Storage link), then click Send Report. Enter the client's email and send. The report is logged automatically.

Workspace Setup

The workspace is the root folder where all Reports Hub data is stored on your device.

First-time Setup
1

Enter your name & company

Your name and optional company name are used to organise the folder hierarchy (e.g. Reports Hub / AcmeCo / John /).

2

Choose a folder location

Click Choose Folder Location. Your browser will show a native folder picker — select any folder on your computer (e.g. Documents). Reports Hub will create a Reports Hub/ sub-folder there.

3

Enable options

Organise by Year adds a year folder between the user and Clients level. Auto-backup creates automatic copies of report data.

4

Click "Create Reports Hub"

The app creates all necessary folders and saves your preferences. You only need to do this once.

Browser compatibility: The File System Access API (required for real folder creation) is supported in Chrome, Edge, and Opera. Firefox and Safari fall back to a simulated browser-storage mode.
You can re-open the workspace settings at any time by clicking the icon in the top navigation bar, or the gear icon in the green workspace bar.

Install as App (PWA)

Reports Hub can be installed on your desktop or mobile device for a native app experience — including offline access.

Faster Launch

Opens instantly from your taskbar or home screen, no browser tabs needed.

Offline Access

All app assets are cached. Work continues even without internet.

Auto Updates

The app checks for updates in the background and notifies you when one is ready.

How to Install
PlatformHow to Install
Chrome / Edge (Desktop)Click the install icon () in the address bar, or wait for the install banner at the bottom of the page and click Install.
Android (Chrome)Tap the browser menu → Add to Home screen or wait for the bottom install banner.
iOS (Safari)Tap the Share icon → Add to Home Screen. (iOS does not show an install banner.)
Screen 1

Upload

Batch-upload and auto-optimize your inspection photos

What this screen does
The Upload screen is your starting point. Drag and drop any number of images (JPG, PNG, WEBP, HEIC) onto the drop zone or click to browse. The app can automatically resize and compress them before storing — saving disk space and speeding up PDF generation.
Optimization Settings
SettingDescription
Optimize ImagesWhen on, images are resized to a max of 1920px on the longest side and compressed to the selected quality. When off, images are stored as-is.
Create ZIP BackupBundles the original (pre-optimization) images into a ZIP file stored in the Original Images folder of the selected job (if enabled).
Quality SliderSets the JPEG compression quality (50 – 100 %). Higher = better quality, larger file. 80 % is a good default for inspection photos.
The Savings bar shows an estimated reduction in file size based on the current quality setting. Actual savings vary by image content.
After uploading, the app automatically takes you to the Selection screen so you can assign the images to a job.
Screen 2

Image Selection

Organize and assign images to clients and jobs

Color-coded Jobs
Each active job is assigned a unique color (blue, emerald, purple, orange, etc.). Images assigned to a job show that job's color as a left border and a colored dot in the corner. A legend above the grid maps colors to job numbers. Click a legend badge to filter the grid to that job.
Actions
ActionDescription
Select AllSelects all currently visible images (respects the active job filter).
Assign SelectedAssigns all selected images to the job chosen in the dropdown. When all images are assigned, the app auto-navigates to the Reports screen.
UnassignRemoves the job assignment from selected images and returns them to the unassigned pool. Shows a confirmation popup with thumbnails.
TagAdds a colour-coded text tag to selected images (e.g. "Urgent", "Before", "After").
DeletePermanently removes selected images from the app.
Dropdown Filter
The job dropdown at the top controls which images are shown:
  • No job selected — shows only unassigned images.
  • Job selected — shows unassigned images plus images already in that job.
Changing the dropdown does not clear your current image selection — you can filter to a different job and keep previously selected images.

Only active jobs (Draft status) appear in the dropdown. Complete, Sent, and Archived jobs are hidden.

Screen 3

Reports

Manage all clients and their jobs in one table

The Reports Table
ColumnDescription
Report #Auto-generated identifier (e.g. RPT-001). Editable inside the job.
ClientThe client company this job belongs to.
Item / JobShort description of what was inspected.
DateDate the job was created.
StatusDraft → Complete → Sent → Archived.
PDFsIcons showing which PDFs have been generated (text, gallery, invoice) and the image count.
ActionsEdit , Archive , Delete .
Filtering & Search
🔍

Search

Searches across report number, client name, item, date, and status simultaneously.

🏢

Client Filter

Dropdown to show only jobs for a specific client. You can also click any client card in the Client Summary section below the table.

Status Filter

A multi-select checkbox dropdown. By default, Archived jobs are hidden. Tick "Archived" to reveal them. You can select any combination of Draft, Complete, Sent, and Archived.

Archiving: Archived jobs remember their previous status (Draft, Complete, or Sent). Restoring an archived job brings it back to exactly where it was.
Screen 4

Edit Report

Fill the report, edit images, generate PDFs, and send

PDF Text Report — Fields
FieldTypeNotes
Report NumberTextAuto-generated, editable
ClientDropdown + TextSelect from existing or type a new client
ScopeTextareaOverall scope of the inspection
Customer DetailsTextCustomer reference info
ItemTextEquipment or item inspected
Serial NoTextBarcode or serial number
ComplaintTextareaCustomer's reported issue
InspectionTextareaWhat was found during inspection
SolutionTextareaActions taken or recommended
ConclusionTextareaFinal verdict
Auto-save is on by default. Fields save 1.2 seconds after you stop typing. Disable it with the checkbox at the bottom if you prefer manual saves.
Whenever the report is saved (including auto-save after you leave a field), if any PDF Text Report field changed (report number, client, scope, complaint, inspection, solution, conclusion, and the other body fields), the app removes the existing PDF Text Report file and ZIP Bundle on disk if present, then refreshes the PDF/ZIP status in the UI. Re-generate as needed. Other fields (e.g. cloud links, status) do not trigger this cleanup.

Image Editor

Click any image in the Edit screen's gallery to open it in the editor.

Toolbar Groups
GroupToolsDescription
HistoryUndo, RedoStep backward or forward through edit history.
RotateRotate Left/Right, Flip H/VRotate by 90° or mirror the image.
CropCrop, Apply, CancelInteractive crop with 8 handles and a rule-of-thirds grid.
EnhanceAuto Enhance, Brighten, Darken, GrayscalePixel-level image adjustments.
AnnotationAdd Text BalloonAdd draggable callout annotations with an arrow.
SaveReset, SaveReset to original or flatten all edits into the image.
How to Crop
1

Click the Crop button

A crop rectangle with 8 handles appears over the image. A dark dimmer covers the area outside the crop region.

2

Resize

Drag any of the 8 handles (corners and midpoints) to resize the crop area. A live pixel size label updates as you drag.

3

Move

Click and drag anywhere inside the crop rectangle (not on a handle) to reposition it.

4

Apply or Cancel

Click Apply in the toolbar to commit the crop, or Cancel to dismiss without changes. The rule-of-thirds lines help you compose the shot.

Text Balloons (Annotations)
1

Click "Add Text Balloon"

A dialog appears where you can enter the annotation text, choose a background color (6 presets), and set the font size.

2

Balloon appears on the image

A colored balloon with an arrow is placed at the top-left of the image. You can add as many balloons as needed.

3

Drag the balloon

Click and drag the colored balloon body to move the annotation anywhere on the image.

4

Drag the arrow tip

The small white circle at the end of the arrow is independently draggable. Drag it to point at any specific detail on the image — the arrow stretches automatically.

5

Delete a balloon

Click the small × button on the right side of any balloon body to remove it.

6

Save to flatten

Click Save in the toolbar. All balloons and arrows are permanently drawn into the image pixels — the balloon layer is then cleared. Use Reset before saving if you want to start over.

PDF Generation

Reports Hub generates A4-sized PDF files in-browser, with no external dependencies.

PDF Text Report — Fields

Generated from the form fields on the left side of the Edit screen. The PDF includes:

  • A header from your Settings profile: company, your name, phone, website, address (first line), email, optional company logo, and report number; plus the report title and date line above the fields
  • Each filled form field as a labeled block; empty fields are omitted from the PDF
  • A footer with document label, page numbers, and generation timestamp
PDF Photo Gallery

Generated from all images currently assigned to the open job. The PDF includes:

  • One or more A4 pages in a 2×2 image grid (with space reserved for header and footer)
  • Images numbered in order (Image 1, Image 2, …)
  • The same **profile header and footer** as the text report (company, contact details, optional logo, report number, page x of n, generated time)
  • Automatic page breaks every four images
PDF Preview
Once a PDF is generated, its entry in the Generated PDFs list turns green with a ✓ badge and an eye icon. Click any generated PDF entry to open a full A4 preview popup. From the preview you can click Download to open a print window and save as a PDF file.
Auto-Cleanup — Smart Invalidation

To keep your files in sync, Reports Hub automatically deletes outdated PDF files whenever their source data changes. No manual cleanup is needed.

Action TakenZIP Bundle deleted?Photo Gallery PDF deleted?Text Report PDF deleted?
Generate Text Report PDF✅ Yes
Delete Text Report PDF✅ Yes
Generate Photo Gallery PDF✅ Yes
Delete Photo Gallery PDF✅ Yes
Upload accounting invoice PDF✅ Yes
Delete accounting invoice PDF✅ Yes
Save Report (manual button)✅ Yes✅ Yes
Add images (upload)✅ Yes✅ Yes
Edit image (Image Editor Save)✅ Yes✅ Yes
Reset image (Image Editor Reset)✅ Yes✅ Yes
Unassign image✅ Yes✅ Yes
Delete image✅ Yes✅ Yes
Note: Auto-save uses the same rules as manual save: if you changed a PDF Text Report field, the generated Text Report PDF and ZIP bundle are removed so you do not keep stale files. Editing unrelated fields only does not remove PDFs.
Cleanup runs silently in the background — no confirmation dialogs. If a file does not exist on disk, the operation is safely skipped. Cleanup only runs on the workspace machine; it is skipped automatically when accessing the app from a different device.

Email & Attachments

Choose how images are delivered alongside the PDF reports.

Attachment Options
OptionWhat gets attachedBest for
ZIP Attach — compressedAll edited images bundled into a single .zip file + PDFsClients who want all original files
No ZIP Attach — uncompressedAll edited images as individual files + PDFsClients who need direct image access
Gallery Gallery PDF onlyOnly the generated PDFs (no raw images)Most common — clean, professional
Cloud Storage Cloud Storage linkOnly PDFs attached; a Cloud Storage link is added to the email bodyLarge image sets or shared team access
Every sent report is logged automatically, including the recipient email, subject, message, attachment option used, and timestamp — accessible for future reference.

Clients & Jobs

Reports Hub organizes work in a Client → Jobs hierarchy. One client can have unlimited jobs.

Clients
  • Create from the Selection or Reports screen
  • Required fields: Name, Email, Phone
  • Edit client details by clicking the client name inside an open job
  • Renaming a client updates all their jobs automatically
Jobs
  • Each job belongs to exactly one client
  • Status lifecycle: Draft → Complete → Sent → Archived
  • Each job can optionally have an Original Images folder
  • Archive remembers status; unarchiving restores it

Cloud Storage & Sync

Reports Hub uses a hybrid specialized storage system to balance speed, offline capability, and universal access.

Local workspace media

Your linked workspace folder holds inspection images, generated PDFs, and ZIP bundles under each client/job. Supabase stores account data and metadata (for example which files belong to a job), not the binary files themselves.

  • On-disk layout: Year → Clients → job folder → Original Images, Edited Images, PDFs, etc.
  • Privacy: Full-resolution originals stay on hardware you control until you copy or sync the workspace yourself.
  • Backups: Use workspace ZIP / backup features in Settings to archive the same tree.
Hybrid Sync Strategy

To ensure the app feels "instant" regardless of your internet connection, we use a priority loading system:

1
Local First
Fetch from your computer
2
Cloud Sync
Fetch from Supabase

If you open a job on a computer that doesn't have the local files, Reports Hub automatically fetches them from the cloud in the background.

Engineering Choice: No binary image data is stored in the database disk itself. The DB only holds metadata and paths, keeping performance high even as your report library grows to thousands of entries.

Folder Structure

Reports Hub creates a consistent, predictable folder hierarchy so your files are always easy to find.

Full Folder Tree
📁 Reports Hub/
  📁 Acme Corp/ (company — optional)
    📁 [email protected]/ (account email)
      📁 2025/ (year — optional)
        📁 Clients/
          📁 ABC Corporation/ (client)
            📁 [RPT-001] Pump Inspection/ (job)
              📁 Original Images/ (optional, per-job toggle)
              📁 Edited Images/
              📁 PDFs/
              📁 Documents/
            📁 [RPT-002] Valve Repair/ (another job — no originals)
              📁 Edited Images/
              📁 PDFs/
              📁 Documents/
          📁 XYZ Industries/ (another client)
The Original Images folder is toggled per job — not globally. Enable it when creating a new job, or toggle it in the Edit screen's job header. It is intentionally hidden from the workspace setup to keep the setup wizard simple.

Frequently Asked Questions

Tips & Shortcuts

Productivity Tips
💡

Batch-assign images

Select All with the checkbox, then immediately click Assign — all uploaded images go to one job in a single click.

💡

Use the legend to switch jobs

Click a color badge in the selection legend to quickly switch the job filter without touching the dropdown.

💡

Highlight empty PDF fields

Generate the PDF Text Report before finishing — orange highlighted fields act as a checklist of what still needs to be filled in.

💡

Undo before saving

In the image editor, Undo/Redo works on the pixel canvas. Once you click Save, edits are flattened permanently. Use Reset to revert to the original image before saving if needed.

💡

Archive completed jobs

Archiving hides jobs from the default view but keeps all data. Perfect for long-term record keeping without cluttering the active jobs list.

💡

Click the client name to edit

In the Edit screen header, clicking the client name opens the Edit Client popup — faster than going to the Reports screen.

Keyboard Shortcuts (Image Editor)
ActionHow
UndoClick the ↺ Undo button (top-left of toolbar)
RedoClick the ↻ Redo button
Apply CropClick ✓ Apply after adjusting handles
Cancel CropClick Cancel or click Crop button again
Save imageClick 💾 Save — flattens all edits
Reset to originalClick ↺ Reset — requires confirmation
Reports Hub Documentation
Version 1.1 — Hybrid Local & Cloud Storage Sync
Back to Reports Hub
K
Designed & Developed by

Kaio Andrade

kaioandrade.com
About This Project

Reports Hub is a hybrid cloud-sync inspection report management system — designed to help technicians, field engineers, and inspectors manage their entire reporting workflow with the speed of local files and the convenience of cloud availability.

Built as a Progressive Web App (PWA), it can be installed on any device, works offline, and integrates with Supabase Storage for seamless multi-device access.

Tech Stack
HTML5 — Structure & Canvas API
Tailwind CSS — Utility-first styling
Vanilla JavaScript — No framework dependencies
Supabase Cloud — Storage & Hybrid Sync
Service Worker / PWA — Offline & installable
Key Features Built

File System Integration

Real OS folder creation using the File System Access API.

Canvas Image Editor

Crop, rotate, enhance, annotate with draggable text balloons.

In-Browser PDF Generation

A4 text reports and masonry photo galleries, no libraries.

Color-coded Job Board

Visual image assignment with multi-job color indicators.

Cloud Sync

Hybrid storage with Supabase for multi-device access.

Client → Jobs Hierarchy

Multi-client workspace with unlimited jobs per client.

Get in Touch

Reports Hub — Designed and developed by Kaio Andrade. All rights reserved.