Summary
A demonstration automation platform for data processing, file consolidation, and report generation with Python.
Project case study
A demonstration platform showing how data processing, consolidation, and report-generation routines can be automated with Python and integrated into a web application.
The published application runs on Next.js and TypeScript. Python runs only in the local environment to generate versioned artifacts; the deployment does not start a Python runtime.
Private repository; audited reference on the main branch, commit 3ded093.

A demonstration automation platform for data processing, file consolidation, and report generation with Python.
Manual data-cleaning, consolidation, and reporting workflows can consume time, create inconsistencies, and reduce traceability.
Workflow structuring, script and interface development, validation definition, and input, output, and limitation documentation.
The deployment receives identifiers and options as JSON; it does not offer file uploads. The available CSV, JSON, and HTML files are static samples generated locally and committed to the repository.
Names, documents, and values are fictional. The raw sample contains four records, and the Python generator defines eight demonstration automations with no connection to business data. The 12,290 records and 90.2 hours shown on the case add up the eight simulated executions the app publishes at /api/executions.
These boundaries reflect the public implementation: local Python generates artifacts, while the deployment runs only the Next.js application and lightweight TypeScript functions.
Next.js sends JSON and presents progress and logs; visual progress uses timers.
TypeScript functions validate requests and respond with 200, 400, 404, or 413.
Modules analyze versioned JSON; they do not call Python or an external service.
JSON, CSV, and HTML store scenarios and downloads; there is no database, queue, or persistence.
Two Python 3 scripts with no external dependencies generate artifacts before deployment.
Each workflow is classified by its actual implementation level without treating local scripts, serverless functions, and interface animations as equivalent.
| Workflow / objective | State | Input and processing | Output | Validation / error |
|---|---|---|---|---|
| Python data and report generationProduce sample datasets and reports for the demonstration scenario. | Runnable from the repository | Uses constants and data/automations.json to write JSON, CSV, and HTML under data/ and public/samples/. | Raw and processed samples, logs, and report previews. | Local execution with no PDF, scheduling, or deployment runtime; failures terminate the script. |
| Structured automation runDemonstrate rule selection, progress, logs, and files associated with a workflow. | Interface demonstration | The UI sends JSON; a TypeScript Route Handler validates the payload and builds a response from versioned data. | Response with status, logs, audit trail, and sample-file paths. | Progress uses timers and does not represent a Python transformation or production file processing. |
| Data-quality analysisDetect issues in a fictional dataset identified in the catalog. | Functional in the application | The TypeScript endpoint applies deterministic rules to JSON imported at build time and returns the report. | Field-level issues, completeness, counts, and technical recommendations. | Works only with internal datasets, accepts no upload, and limits the request body to 100 KB. |
Produce sample datasets and reports for the demonstration scenario.
Demonstrate rule selection, progress, logs, and files associated with a workflow.
Detect issues in a fictional dataset identified in the catalog.
Rules confirmed in the TypeScript code and Python generators. Published transformations operate on sample data.
| Rule | Input | Transformation | Output | Error behavior |
|---|---|---|---|---|
| Payload validationRestricts IDs, slugs, modes, formats, and rule lists with Zod schemas. | JSON sent to Route Handlers. | Checks length, regular expressions, and enums before querying the catalog. | Typed object accepted by the domain function. | Returns 400 for invalid payloads and 404 for unknown automations or reports. |
| Data qualityDetects missing fields, invalid dates and types, duplicates, inconsistent text, and outliers. | JSON records from the fictional dataset. | Traverses the schema, counts IDs, compares text, and applies 1.5 × IQR limits. | Record-level issues, impact, and recommendations. | Does not fix the source or evaluate uncataloged fields; an unknown dataset returns 404. |
| Report selectionFinds a static report by slug and adds a timestamp and sections to the response. | automationSlug and JSON or HTML format. | Queries data/reports.json and assembles a TypeScript payload. | JSON response and link to a versioned HTML sample. | Does not render PDF or persist a new report; an unknown slug returns 404. |
Restricts IDs, slugs, modes, formats, and rule lists with Zod schemas.
Detects missing fields, invalid dates and types, duplicates, inconsistent text, and outliers.
Finds a static report by slug and adds a timestamp and sections to the response.
Application verified without sign-in; code paths checked in the private repository, main branch, commit 3ded093.
Public application
Functional deployment of the Next.js interface and lightweight Route Handlers.
Open evidencePrivate source code
Private snapshot used for this audit without depending on the branch's future state.
Public documentation
Documents local Python, fictional data, static downloads, and no production Python runtime.
Code referenceREADME.md
Code reference
Python script that creates the catalog and versioned JSON and CSV samples.
Code referencescripts/generate_datasets.py
Code reference
Python script that derives data/reports.json and the demonstration HTML file.
Code referencescripts/generate_reports.py
Public endpoint
TypeScript Route Handler that validates JSON and assembles a demonstration run.
Code referenceapp/api/automations/run/route.ts
Public endpoint
Public endpoint with a 100 KB limit, validation, and 400, 404, and 413 responses.
Code referenceapp/api/data-quality/analyze/route.ts
Code reference
Zod contracts for runs, reports, data quality, and history filters.
Code referencelib/validators.ts
Code reference
Covers the structured response and rejection of an unknown automation.
Code referencetests/api-run.test.ts
This section describes formats and technical responses, not business KPIs. Hours, savings, productivity, and ROI shown in the demonstration are hypothetical values and were not retained as case-study results.
Samples are committed to the repository; endpoint responses can be reproduced with the documented fictional identifiers.
English presentation mockups are used because the published application is in Portuguese. Their metrics and unsupported formats are illustrative, not measured outcomes or production features.

Next project
Unsupervised anomaly detection on operational metrics, with WebSocket alerts and a D3 chart.
View full case