# Contact Andrey Markin

## Contact Form (Web UI)

Visit [https://andrey-markin.com/#contact](https://andrey-markin.com/#contact) to submit the contact form in the browser.

## Contact API

Submit contact requests programmatically via the public API.

**Endpoint:** `POST https://andrey-markin.com/api/rpc/contact/submit`
**Content-Type:** `application/json`

This is an [oRPC](https://orpc.unnoq.com/) procedure: the arguments go inside a
`json` key, and the reply comes back inside one too.

### Fields

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| name | string | Yes | Your name |
| contact | string | Yes | Email, phone, or other contact method |
| projectDescription | string | Yes | Description of your project or request |
| formType | "client" \| "mentee" | No | Form type (defaults to "client") |

Rate limited to 30 submissions per day per IP.

### Example Request

```bash
curl -X POST https://andrey-markin.com/api/rpc/contact/submit \
  -H "Content-Type: application/json" \
  -d '{
    "json": {
      "name": "Jane Smith",
      "contact": "jane@example.com",
      "projectDescription": "I need a custom AI-powered dashboard for my e-commerce business."
    }
  }'
```

### Example Response

```json
{
  "json": {
    "success": true,
    "message": "Project request sent successfully!"
  }
}
```

### Mentorship Application

To apply for mentorship, set `formType` to `"mentee"`:

```json
{
  "json": {
    "name": "John Doe",
    "contact": "john@example.com",
    "projectDescription": "I'm a junior developer looking to learn full-stack AI development.",
    "formType": "mentee"
  }
}
```

### Machine-readable

The same endpoint is described in [`https://andrey-markin.com/openapi.json`](https://andrey-markin.com/openapi.json).
