# saiteja74/laptop_price_predictor architecture

> Architecture diagram of the GitHub repository saiteja74/laptop_price_predictor, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/saiteja74/laptop_price_predictor
- Repository: https://github.com/saiteja74/laptop_price_predictor

## Overview

This is a small Streamlit laptop-price estimator. Users select laptop specifications, the app derives screen PPI and encodes touchscreen/IPS choices, then sends the resulting feature row to a pickled prediction pipeline and displays an estimated price range. The sampled app.py explicitly loads traineddata.csv for selectable values and pipe.pkl for inference; other serialized and CSV files are present in the tree but their runtime use is not shown.

Main entry points: [`app.py`](https://github.com/saiteja74/laptop_price_predictor/blob/main/app.py) (Feature preparation), [`pipe.pkl`](https://github.com/saiteja74/laptop_price_predictor/blob/main/pipe.pkl) (Prediction pipeline), [`traineddata.csv`](https://github.com/saiteja74/laptop_price_predictor/blob/main/traineddata.csv) (Option catalog)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User interface"]
  node_form["Specification form<br/>[app.py]"]
  node_estimate["Price range<br/>[app.py]"]
end

subgraph group_inference["Prediction runtime"]
  node_features["Feature preparation<br/>[app.py]"]
end

subgraph group_assets["Runtime assets"]
  node_pipeline["Prediction pipeline<br/>[pipe.pkl]"]
  node_catalog["Option catalog<br/>[traineddata.csv]"]
end

node_user(("Laptop shopper"))

node_user -->|"enters specs"| node_form
node_form -->|"reads options"| node_catalog
node_form -->|"submits specs"| node_features
node_features -->|"predicts price"| node_pipeline
node_pipeline -->|"returns prediction"| node_features
node_features -->|"formats range"| node_estimate
node_estimate -->|"displays estimate"| node_user

click node_form "https://github.com/saiteja74/laptop_price_predictor/blob/main/app.py"
click node_features "https://github.com/saiteja74/laptop_price_predictor/blob/main/app.py"
click node_pipeline "https://github.com/saiteja74/laptop_price_predictor/blob/main/pipe.pkl"
click node_catalog "https://github.com/saiteja74/laptop_price_predictor/blob/main/traineddata.csv"
click node_estimate "https://github.com/saiteja74/laptop_price_predictor/blob/main/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_form,node_estimate toneBlue
class node_features toneAmber
class node_pipeline,node_catalog toneMint
class node_user toneIndigo
```

## Components

### User interface

- [Specification form](https://github.com/saiteja74/laptop_price_predictor/blob/main/app.py): `app.py`
- [Price range](https://github.com/saiteja74/laptop_price_predictor/blob/main/app.py): `app.py`

### Prediction runtime

- [Feature preparation](https://github.com/saiteja74/laptop_price_predictor/blob/main/app.py): `app.py`

### Runtime assets

- [Prediction pipeline](https://github.com/saiteja74/laptop_price_predictor/blob/main/pipe.pkl): `pipe.pkl`
- [Option catalog](https://github.com/saiteja74/laptop_price_predictor/blob/main/traineddata.csv): `traineddata.csv`

### Other components

- **Laptop shopper**

## Connections

- Laptop shopper → Specification form: enters specs
- Specification form → Option catalog: reads options
- Specification form → Feature preparation: submits specs
- Feature preparation → Prediction pipeline: predicts price
- Prediction pipeline → Feature preparation: returns prediction
- Feature preparation → Price range: formats range
- Price range → Laptop shopper: displays estimate
