Yuşa Bozkuş
Project case studyErasmus+ KA210-VET · AI and sustainability

EasyAI Prompt Analyzer.

A full-stack web application that scores AI prompts with a custom machine-learning model, generates improvement suggestions, and exposes estimated token, energy, water, and monetary impact.

Live · 2026
01 · Role
Python/ML development · Backend development · Frontend redesign · API integration
02 · Platform
Full-stack Web · Machine Learning · Erasmus+ KA210-VET
03 · Period
1–6 March 2026
04 · Status
Live · 2026
01

Project context

EasyAI Prompt Analyzer is one of the products created during the first international student and teacher meeting in Bergamo, Italy, of EASY_AI – Education on Artificial Intelligence for Sustainability, a €60,000 Erasmus+ KA210-VET partnership involving Germany, Spain, Italy, and Türkiye. During the meeting, students were divided into two development teams: one team worked on a gamified experience around the project's AI and sustainability theme, while the team I joined developed the EasyAI Prompt Analyzer. The application was designed to make both the quality of an AI prompt and the estimated resource impact of the resulting AI interaction visible through a single analysis flow.

Core challenge

The core challenge was to turn the subjective idea of a 'good prompt' into measurable signals and connect those signals with sustainable AI usage. The system needed to evaluate aspects such as task clarity, context, constraints, examples, and requested output format while also estimating the task category and token volume to produce indicators for energy, water, and monetary cost. It was equally important to present these values as educational estimates rather than direct measurements from a specific AI provider or data center.

02

What I built

  1. 01

    Joined the Prompt Analyzer development team formed during the Bergamo meeting and developed the application's Python/ML side end to end.

  2. 02

    Developed the handcrafted feature-extraction pipeline used to represent prompts through 27 structural characteristics and implemented the application layer around the scikit-learn quality-scoring model.

  3. 03

    Built the scoring and feedback logic that evaluates signals including prompt length, task clarity, context, constraints, examples, and requested output format.

  4. 04

    Developed the spaCy-based task detection system that analyzes verbs and nouns to classify prompts into categories such as question answering, summarization, code generation, creative writing, translation, and analysis.

  5. 05

    Implemented token analysis with tiktoken and estimated likely output length according to the detected task category.

  6. 06

    Built the resource-impact calculations that convert estimated total token usage into energy consumption, joules, water usage, and approximate monetary cost.

  7. 07

    Exposed the Python analysis pipeline through a FastAPI REST backend with /score, /analyze, and /health endpoints.

  8. 08

    Redesigned the existing web interface into a more modern, readable, and product-focused React/Tailwind experience.

  9. 09

    Integrated the React frontend with the FastAPI backend and combined quality scoring and resource analysis into a single result flow.

  10. 10

    Handled production integration, CORS/API configuration, and deployment so the application could be used as a live web product.

03

Technical approach

The application combines two analysis pipelines within one user flow. The Prompt Quality Scorer converts each prompt into 27 handcrafted features representing signals such as character and word counts, sentence structure, lexical diversity, explicit task definition, context, constraints, examples, role instructions, and requested output format. These features are passed to a pre-trained scikit-learn regressor that predicts a quality value between 0 and 1, which is then mapped from Very Low to Excellent. Missing prompt characteristics are also converted into actionable improvement tips. The Resource Estimator uses spaCy to inspect verbs and nouns and determine the likely task category. tiktoken calculates the input token count, while task-specific multipliers estimate likely output length. The resulting token estimate is converted into energy, joule, water, and monetary-cost indicators. FastAPI exposes the analysis through /score and /analyze REST endpoints, while the React + Vite frontend requests both analyses in parallel and presents prompt quality, task category, token details, resource estimates, and optimization suggestions in one interface.

System structure

  1. 01

    Frontend

    React · Vite · Tailwind CSS
  2. 02

    API

    FastAPI · REST
  3. 03

    Quality model

    scikit-learn · 27 handcrafted features
  4. 04

    NLP

    spaCy · en_core_web_sm
  5. 05

    Token analysis

    tiktoken
  6. 06

    Outputs

    Score · Tips · Tokens · Energy · Water · Cost
04

Current state

Live · 2026

EasyAI Prompt Analyzer is complete and publicly available as a live production web application at https://easyai-prompt-analyzer.vercel.app/. Its React frontend and Python/FastAPI backend operate as connected deployment layers. The Prompt Analyzer is one of the technical products that emerged from the first international meeting of the four-country EASY_AI Erasmus+ KA210-VET partnership in Bergamo. While the wider two-year EASY_AI project continues around AI, sustainability, green prompting, international collaboration, and gamification, the Prompt Analyzer brings prompt quality and the estimated environmental and computational impact of AI usage together in one experience.