> ## Documentation Index
> Fetch the complete documentation index at: https://eyerhythm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Download

> Get EyeRhythm for macOS, Windows, or Linux

export const EmailSignupForm = () => {
  const [email, setEmail] = useState('');
  const [name, setName] = useState('');
  const [status, setStatus] = useState('idle');
  const [message, setMessage] = useState('');
  const handleSubmit = async e => {
    e.preventDefault();
    if (!email) {
      setStatus('error');
      setMessage('Please enter your email address');
      return;
    }
    setStatus('loading');
    setMessage('');
    try {
      const response = await fetch('https://eyeryhthm.vercel.app/api/mailerlite/subscribe', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({
          email,
          name
        })
      });
      const result = await response.json();
      if (response.ok) {
        setStatus('success');
        setMessage('Thanks for subscribing! We\'ll keep you updated.');
        setEmail('');
        setName('');
      } else {
        setStatus('error');
        setMessage(result.error || 'Something went wrong. Please try again.');
      }
    } catch (error) {
      setStatus('error');
      setMessage('Network error. Please check your connection and try again.');
    }
  };
  if (status === 'success') {
    return <div style={{
      padding: '24px',
      borderRadius: '12px',
      backgroundColor: '#dcfce7',
      border: '1px solid #86efac',
      textAlign: 'center'
    }}>
        <div style={{
      fontSize: '24px',
      marginBottom: '8px'
    }}>✓</div>
        <p style={{
      margin: 0,
      color: '#166534',
      fontWeight: 500
    }}>
          {message}
        </p>
      </div>;
  }
  return <form onSubmit={handleSubmit} style={{
    display: 'flex',
    flexDirection: 'column',
    gap: '16px'
  }}>
      <div>
        <label htmlFor="signup-name" style={{
    display: 'block',
    marginBottom: '6px',
    fontWeight: 500,
    fontSize: '14px'
  }}>
          Name (optional)
        </label>
        <input id="signup-name" type="text" value={name} onChange={e => setName(e.target.value)} placeholder="Your name" style={{
    width: '100%',
    padding: '12px 16px',
    borderRadius: '8px',
    border: '1px solid #e5e7eb',
    fontSize: '16px',
    boxSizing: 'border-box'
  }} />
      </div>
      <div>
        <label htmlFor="signup-email" style={{
    display: 'block',
    marginBottom: '6px',
    fontWeight: 500,
    fontSize: '14px'
  }}>
          Email address *
        </label>
        <input id="signup-email" type="email" value={email} onChange={e => setEmail(e.target.value)} placeholder="you@example.com" required style={{
    width: '100%',
    padding: '12px 16px',
    borderRadius: '8px',
    border: '1px solid #e5e7eb',
    fontSize: '16px',
    boxSizing: 'border-box'
  }} />
      </div>
      {status === 'error' && <div style={{
    padding: '12px 16px',
    borderRadius: '8px',
    backgroundColor: '#fef2f2',
    border: '1px solid #fecaca',
    color: '#dc2626',
    fontSize: '14px'
  }}>
          {message}
        </div>}
      <button type="submit" disabled={status === 'loading'} style={{
    padding: '12px 24px',
    borderRadius: '8px',
    backgroundColor: status === 'loading' ? '#9ca3af' : '#3E63DD',
    color: '#fff',
    border: 'none',
    fontSize: '16px',
    fontWeight: 600,
    cursor: status === 'loading' ? 'not-allowed' : 'pointer',
    transition: 'background-color 0.2s'
  }}>
        {status === 'loading' ? 'Subscribing...' : 'Subscribe to newsletter'}
      </button>
      <p style={{
    margin: 0,
    fontSize: '12px',
    color: '#6b7280',
    textAlign: 'left'
  }}>
        We respect your privacy. Unsubscribe anytime.
      </p>
    </form>;
};

# Download EyeRhythm

EyeRhythm is available for all major desktop platforms.

<CardGroup cols={3}>
  <Card title="macOS" icon="apple" href="#macos">
    Intel & Apple Silicon
  </Card>

  <Card title="Windows" icon="windows" href="#windows">
    64-bit
  </Card>

  <Card title="Linux" icon="linux" href="#linux">
    AppImage & .deb
  </Card>
</CardGroup>

***

## macOS

### Installation

<Steps>
  <Step title="Download">
    <a href="https://github.com/Benedict-Carling/eyeryhthm/releases/latest/download/EyeRhythm.dmg" style={{display: 'inline-flex', alignItems: 'center', gap: '10px', padding: '10px 18px', borderRadius: '6px', backgroundColor: '#3E63DD', color: '#fff', textDecoration: 'none', fontWeight: 500, fontSize: '14px'}}>
      Download for macOS (.dmg)
    </a>
  </Step>

  <Step title="Open the disk image">
    Double-click the downloaded `.dmg` file to mount it
  </Step>

  <Step title="Drag to Applications">
    Drag the EyeRhythm app to your Applications folder
  </Step>

  <Step title="Grant camera permission">
    When prompted, click "Allow" to grant camera access
  </Step>
</Steps>

<Note title="macOS Security">
  EyeRhythm is signed and notarized by Apple, so it will open without any security warnings.
</Note>

***

## Windows

### Installation

<Steps>
  <Step title="Download">
    <a href="https://github.com/Benedict-Carling/eyeryhthm/releases/latest/download/EyeRhythm-Setup.exe" style={{display: 'inline-flex', alignItems: 'center', gap: '10px', padding: '10px 18px', borderRadius: '6px', backgroundColor: '#3E63DD', color: '#fff', textDecoration: 'none', fontWeight: 500, fontSize: '14px'}}>
      Download for Windows (.exe)
    </a>
  </Step>

  <Step title="Run the installer">
    Double-click `EyeRhythm-Setup.exe` to start installation

    <Warning title="Windows SmartScreen Notice">
      Since EyeRhythm is new software, Windows SmartScreen may show a warning when you first run the installer.

      **To proceed with installation:**

      1. Click **"More info"** on the SmartScreen popup
      2. Click **"Run anyway"**

      This warning appears because the app hasn't been downloaded enough times yet to build a reputation with Microsoft. The app is safe to install.
    </Warning>
  </Step>

  <Step title="Complete setup">
    Follow the installation wizard to install EyeRhythm
  </Step>

  <Step title="Grant camera permission">
    When prompted, allow EyeRhythm to access your camera
  </Step>
</Steps>

***

## Linux

### Installation (AppImage)

<Steps>
  <Step title="Download">
    <a href="https://github.com/Benedict-Carling/eyeryhthm/releases/latest/download/EyeRhythm.AppImage" style={{display: 'inline-flex', alignItems: 'center', gap: '10px', padding: '10px 18px', borderRadius: '6px', backgroundColor: '#3E63DD', color: '#fff', textDecoration: 'none', fontWeight: 500, fontSize: '14px'}}>
      Download AppImage
    </a>
  </Step>

  <Step title="Make it executable">
    Right-click the file, go to Properties > Permissions, and check "Allow executing file as program"

    Or run in terminal:

    ```bash theme={null}
    chmod +x EyeRhythm.AppImage
    ```
  </Step>

  <Step title="Run the app">
    Double-click the AppImage to launch EyeRhythm
  </Step>

  <Step title="Grant camera permission">
    Ensure your user has permission to access the camera device
  </Step>
</Steps>

### Installation (Debian/Ubuntu)

<Steps>
  <Step title="Download">
    <a href="https://github.com/Benedict-Carling/eyeryhthm/releases/latest/download/EyeRhythm.deb" style={{display: 'inline-flex', alignItems: 'center', gap: '10px', padding: '10px 18px', borderRadius: '6px', backgroundColor: '#3E63DD', color: '#fff', textDecoration: 'none', fontWeight: 500, fontSize: '14px'}}>
      Download .deb
    </a>
  </Step>

  <Step title="Install the package">
    Double-click the `.deb` file to open in Software Center, or install via terminal:

    ```bash theme={null}
    sudo dpkg -i EyeRhythm.deb
    ```
  </Step>

  <Step title="Launch from applications menu">
    Find EyeRhythm in your applications menu or run `eyerhythm` from terminal
  </Step>
</Steps>

<Note title="Linux Permissions">
  On some Linux distributions, you may need to add your user to the `video` group to access the camera:

  ```bash theme={null}
  sudo usermod -a -G video $USER
  ```

  Log out and log back in for the changes to take effect.
</Note>

***

## Troubleshooting

<AccordionGroup>
  <Accordion title="Camera not detected or 'No camera access'">
    EyeRhythm needs camera permission to function:

    **macOS:**

    1. Open **System Settings > Privacy & Security > Camera**
    2. Find EyeRhythm in the list and toggle **ON**
    3. Restart EyeRhythm

    **Windows:**

    1. Open **Settings > Privacy > Camera**
    2. Ensure "Allow apps to access your camera" is **ON**
    3. Find EyeRhythm and toggle **ON**

    **Linux:**

    * Ensure your user is in the `video` group
    * Check that no other application is using the camera
  </Accordion>

  <Accordion title="App crashes on launch">
    Try resetting the app's data:

    **macOS:**

    1. Open Finder and press **Cmd+Shift+G**
    2. Enter: `~/Library/Application Support/`
    3. Delete the `EyeRhythm` folder
    4. Relaunch the app

    **Windows:**

    1. Press **Win+R**, type `%appdata%`, press Enter
    2. Delete the `EyeRhythm` folder
    3. Relaunch the app

    **Linux:**

    1. Delete `~/.config/EyeRhythm`
    2. Relaunch the app

    Still having issues? [Open an issue on GitHub](https://github.com/Benedict-Carling/eyeryhthm/issues/new)
  </Accordion>

  <Accordion title="Face not detected">
    For best results:

    * Ensure good lighting on your face (avoid backlighting)
    * Position yourself at arm's length from the camera
    * Make sure your full face is visible in the preview
    * Remove glasses with heavy reflections if possible
  </Accordion>

  <Accordion title="Auto-update not working">
    EyeRhythm checks for updates automatically. If updates aren't installing:

    1. Check if you have the latest version on the [releases page](https://github.com/Benedict-Carling/eyeryhthm/releases)
    2. Download and install the latest version manually
    3. The app will auto-update from then on
  </Accordion>
</AccordionGroup>

***

## Feedback

Having issues or have suggestions? We'd love to hear from you.

<Card title="Share Feedback" icon="comment" href="https://eyerhythm.userjot.com">
  Report bugs, request features, and help shape EyeRhythm
</Card>

***

## Stay updated

Get notified about new releases and features:

<EmailSignupForm />
