# GEMINI.md

## Project Overview

This is a Next.js application built with TypeScript that classifies shoes using a machine learning model. The application uses the device's camera to capture images of shoes and then uses a pre-trained model to classify them. The classification results are displayed to the user and can be saved in a history for later review.

The project uses `pnpm` as the package manager and is structured as a typical Next.js application with the `app` directory for routing. It uses `tailwindcss` for styling and `lucide-react` for icons. The UI is built with a combination of custom components and components from the `shadcn/ui` library.

## Building and Running

To build and run this project, you will need to have Node.js and `pnpm` installed.

1.  **Install dependencies:**
    ```bash
    pnpm install
    ```

2.  **Run the development server:**
    ```bash
    pnpm run dev
    ```

3.  **Build the project:**
    ```bash
    pnpm run build
    ```

4.  **Start the production server:**
    ```bash
    pnpm run start
    ```

5.  **Lint the project:**
    ```bash
    pnpm run lint
    ```

## Development Conventions

*   **Styling:** The project uses `tailwindcss` for styling. Utility classes are preferred over custom CSS.
*   **Components:** The project uses a combination of custom components and components from the `shadcn/ui` library. Custom components are located in the `components` directory.
*   **State Management:** The project uses React's built-in state management (`useState`, `useRef`, `useEffect`, `useCallback`) for managing component state.
*   **Linting:** The project uses ESLint for linting. The configuration is in the `eslint.config.mjs` file.
*   **TypeScript:** The project is written in TypeScript. The configuration is in the `tsconfig.json` file.
