Project Status Report Builder
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Provides a structured tool for building comprehensive project status reports. The script displays a form with dedicated sections for Project Name, Report Period, Overall Status (On Track/At Risk/Blocked/Complete), Progress Summary, Milestones Achieved, Next Milestones, Risks & Issues, Mitigation Plans, Budget Status, Resource Status, Stakeholder Updates, and Action Items. A color-coded status indicator shows the project health at a glance. Each section can be filled with detailed updates, and timestamps are auto-recorded. You can add custom sections, apply tags for categorization, and track completion across sections. Reports can be exported as plain text, JSON, or email-ready HTML with formatted status colors.
WHERE IT RUNS
Works on all websites (match pattern *://*/*), making it perfect for project managers, team leads, and stakeholders who need to create and share regular project updates. Each project and reporting period gets its own independent report set, allowing you to manage multiple projects simultaneously. Reports are saved per project identifier and date range, ensuring continuity across sessions and page reloads.
HOW TO USE
Install the script and the project status report builder appears in the panel. Enter a project identifier to load or create a report for that project. Fill in the project name and select the overall status from the dropdown—the status indicator updates with the appropriate color. Fill in each section with your project updates. Add tags to categorize your report. Customize the available statuses and report sections to match your organization's reporting standards. Use the export buttons to copy your report as plain text, JSON, or formatted HTML suitable for email clients or presentation tools. The script saves your progress automatically as you work.
REAL MECHANISM: PROJECT-KEYED PERSISTENCE WITH STATUS COLOR MAPPING AND MULTI-FORMAT EXPORT
This script uses a project-based storage architecture where each project and reporting period gets its own isolated report state. The getProjectId() retrieves the current project identifier from GM_setValue or generates a new one, while getReportId() returns the current month in YYYY-MM format for monthly reporting periods. Data is stored using GM_setValue with a key format of "project_report_" plus the project ID and report ID, ensuring data isolation between projects and periods. The data structure includes an entries object where keys are section IDs and values are report text, plus projectName, status, tags array, createdAt timestamp, projectId, and reportId. The status system uses a mapping object (statusColors) that assigns colors to each status option (e.g., "On Track" → #22c55e, "At Risk" → #f59e0b, "Blocked" → #ef4444, "Complete" → #34d399). The render function displays a status indicator as a colored dot with a matching label. Custom statuses can be added and removed via the "Manage Statuses" controls, stored globally using the key "project_statuses". The export functions generate three formats: plain text with a header and section content, JSON with the full data structure including sections and statuses, and HTML with h2/h3 tags, styled status with inline colors, and paragraph elements for email compatibility. All operations are reactive, with automatic persistence through saveProjectReport() and re-render.
THE PANEL
Drag the panel anywhere on screen by clicking and holding the header. It snaps to screen edges when released. Collapse it to a small bubble by clicking the minimize button, and expand it back by clicking the bubble. Resize the panel from any corner. Press Escape to close the configuration panel. Your position and size preferences are saved automatically per site.
PLEASE NOTE
This script requires the free BotGentz browser extension which provides the BGPanel framework and storage APIs. All data (entries, tags, sections, statuses, and project identifiers) is stored locally in your browser using GM_setValue and never sent anywhere. No analytics, no tracking, no external calls. The script only reads the current project identifier and reporting period to isolate reports and never accesses user data, passwords, or sensitive information. Reports are saved per project and period, so ensure you use a consistent project identifier for each project you track.