---
title: Application Overview
description: "The application is a Flask-based web server for qualitative error analysis of texts. It allows users to upload pairs of *wrong* and *corrected* texts, visualize differences, apply custom tags as annotations, and perform deep linguistic analysis with Google’s NLP and…"
url: "https://erroranalyzer.com/docs/application-overview/"
updated: "2025-09-10"
category: Reference
---

# Application Overview

The application is a Flask-based web server for qualitative error analysis of texts. It allows users to upload pairs of *wrong* and *corrected* texts, visualize differences, apply custom tags as annotations, and perform deep linguistic analysis with Google’s NLP and Generative AI APIs.

### Core Workflows

- **Project Setup**: A user creates a project, uploads a CSV of text pairs, and the backend processes the data. `diff_handler.py` calculates textual differences, and `google_nlp.py` enriches the texts with syntactic and semantic features, storing everything in a project-specific SQLite database.
- **Annotation**: In the analyzer UI, users select spans of text and apply tags. This creates annotation records linking the tag, text, and location in the database.
- **Analysis**: The app provides per-pair AI-driven linguistic analysis and a project-wide dashboard (`/tag_report`) with aggregate charts and reports generated by LLMs.
