---
layout: ../layouts/BaseLayout.astro
title: Product
description: AI that runs where you need it, how you need it
---

import SimpleFloatingNav from '../components/SimpleFloatingNav.astro';
import SimpleTOC from '../components/SimpleTOC.astro';
import ReleaseDatabase from '../components/ReleaseDatabase.astro';

<SimpleFloatingNav currentPage="products" />
<SimpleTOC />


<div className="content-wrapper">

# Products

<p className="lead">
Jan is evolving from a local AI application to a complete full-stack AI solution that you can self-host. This includes models, applications, and tools to solve real problems.
</p>

## What We're Building

**Jan Agent** = Jan Models + Jan Application + Jan Tools

Unlike other AI assistants that do specific tasks with one model or have many models with a myriad of solutions, Jan provides:
- Our own models optimized for local and private use
- Applications that work across all your devices
- Tools that actually get things done

## Two Modes, One Experience

### Local (Incognito) Mode
Run AI models entirely on your device, giving you complete privacy with no internet required.

### Cloud Mode
Connect to more powerful models when needed - either self-hosted or via jan.ai.

Users shouldn't need to understand models, APIs, or technical details. Just choose Local for privacy or Cloud for power.

## Our Product Principles

### It Just Works
1. Open Jan, start chatting
2. Onboarding is fully available but optional
3. Setting up an API key is optional
4. Selecting a local model is optional

We handle the complexity.

### Privacy First, Cloud When Needed
Start with complete privacy by default. Add cloud capabilities only when you choose to.

### Solve Problems, Not Settings
Users want answers, not configuration options. Power users can dig deeper, but it's never required.

## Available on Every Device

### Jan Desktop

**Status:** Available Now

Your personal AI workstation that powers all other devices. Run models locally with optional cloud connection.

**Key Features:**
- Runs models locally on your hardware
- GPU acceleration support
- Powers other devices via network connection
- Complete privacy and control
- Windows, macOS, and Linux support

**Requirements:**
- Minimum 8GB RAM
- 10GB+ storage space
- Optional: NVIDIA GPU for acceleration

### Jan Web

**Status:** Beta Launch Soon

SaaS version of Jan Server with no setup required. Default cloud mode for mobile and desktop users.

**Key Features:**
- No installation needed
- Instant access from any browser
- Automatic updates and maintenance
- Default cloud backend for mobile apps
- Team collaboration features

**Pricing:**
- Free tier: 50 queries/day
- Pro tier: Unlimited usage

### Jan Mobile

**Status:** Coming Q1 2025

Connect to Desktop/Server, run local mode with Jan Nano, same experience everywhere. See detailed information below.

**Key Features:**
- iOS and Android support
- Three adaptive modes (Desktop, Server, Local)
- Voice-first interface
- Seamless device switching
- Jan Nano for on-device AI

### Jan Server

**Status:** Coming Q2 2025

Self-hosted solution for teams and enterprises. Your own private AI cloud.

**Key Features:**
- Support for 5-500+ concurrent users
- Enterprise authentication (SSO, LDAP)
- Docker and Kubernetes deployment
- Admin dashboard
- Team knowledge sharing

**Deployment Options:**
- Docker: Single command setup
- Kubernetes: Enterprise scale
- Bare metal: Maximum control

## Jan Mobile: Three Modes, One Experience

Jan Mobile brings the same AI experience to your phone. Connect to your desktop, your server, or run models locally.

### How It Works

Jan Mobile adapts to your situation:

**At Home** - Connect to your Jan Desktop over WiFi
Your Phone → WiFi → Your Desktop → Response

**At Work** - Connect to your company Jan Server
Your Phone → Internet → Company Server → Response

**On the Go** - Run Jan Nano on your phone or talk to your favorite cloud-based model
Your Phone → Jan Nano (6GB) → Response

No configuration needed. It just works.

### Key Features

- **Seamless Switching**: Move from home to office to airplane. One-click and Jan adapts immediately.
- **Voice First**: Talk to Jan naturally. Responses can be spoken too.
- **Sync Everything**: Conversations, settings, and preferences follow you across devices.

### Privacy & Security

**Your Data, Your Control**
- Local Mode: Everything stays on your phone
- Desktop Mode: Direct encrypted connection
- Server Mode: Your organization's policies apply

**No Compromises**
- Biometric app lock
- Encrypted storage
- No cloud backups without permission
- Clear data anytime

## What Makes Jan Different

<table className="simple-table">
  <thead>
    <tr>
      <th>Feature</th>
      <th>Other AI Assistants</th>
      <th>Jan</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Models</td>
      <td>Wrapper around Claude/GPT</td>
      <td>Our own models + others</td>
    </tr>
    <tr>
      <td>Dual mode</td>
      <td>Your data on their servers</td>
      <td>Your data stays yours</td>
    </tr>
    <tr>
      <td>Deployment</td>
      <td>Cloud only</td>
      <td>Local, self-hosted, or cloud</td>
    </tr>
    <tr>
      <td>Cost</td>
      <td>Subscription forever</td>
      <td>Free locally, pay for cloud</td>
    </tr>
  </tbody>
</table>

## Development Timeline

<ReleaseDatabase />

</div>



<style>{`
  :root {
    --text-primary: #000;
    --text-secondary: #333;
    --text-muted: #666;
    --bg-primary: #fff;
    --bg-secondary: #f8f8f8;
    --border-color: #ddd;
    --link-color: #0066cc;
  }

  html[data-theme="dark"] {
    --text-primary: #fff;
    --text-secondary: #ccc;
    --text-muted: #999;
    --bg-primary: #1a1a1a;
    --bg-secondary: #2a2a2a;
    --border-color: #444;
    --link-color: #4a9eff;
  }

  body {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    line-height: 1.6;
  }

  .content-wrapper {
    max-width: 800px;
    margin: 0 auto;
    padding: 4rem 2rem;
  }

  h1 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    line-height: 1.2;
  }

  h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }

  h3 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }

  h4 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
  }

  p {
    margin-bottom: 1.5rem;
    color: var(--text-secondary);
  }

  .lead {
    font-size: 1.25rem;
    color: var(--text-secondary);
    margin-bottom: 2rem;
  }

  .simple-table {
    width: 100%;
    border-collapse: collapse;
    margin: 2rem 0;
    font-size: 0.95rem;
  }

  .simple-table th,
  .simple-table td {
    text-align: left;
    padding: 0.75rem;
    border: 1px solid var(--border-color);
  }

  .simple-table th {
    background: var(--bg-secondary);
    font-weight: 600;
  }

  .simple-table tr:hover {
    background: var(--bg-secondary);
  }

  html[data-theme="dark"] .simple-table {
    border-color: var(--border-color);
  }

  html[data-theme="dark"] .simple-table th,
  html[data-theme="dark"] .simple-table td {
    border-color: var(--border-color);
  }

  img {
    max-width: 100%;
    height: auto;
    margin: 2rem 0;
  }

  ul, ol {
    margin-bottom: 1.5rem;
    padding-left: 2rem;
  }

  li {
    margin-bottom: 0.5rem;
  }

  blockquote {
    border-left: 4px solid var(--border-color);
    padding-left: 1rem;
    margin: 1.5rem 0;
    color: var(--text-muted);
  }

  .floating-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: var(--bg-primary);
    border-bottom: 1px solid var(--border-color);
    z-index: 1000;
    padding: 1rem 0;
  }

  .nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .nav-links {
    display: flex;
    gap: 2rem;
  }

  .nav-links a {
    color: var(--text-primary);
    text-decoration: none;
    font-weight: 500;
  }

  .nav-links a:hover {
    color: var(--link-color);
  }

  .nav-links a.active {
    color: var(--link-color);
  }

  .toc {
    position: fixed;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 250px;
    max-height: 70vh;
    overflow-y: auto;
    background: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 1.5rem;
  }

  .toc h3 {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
    color: var(--text-muted);
  }

  .toc ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .toc li {
    margin-bottom: 0.5rem;
  }

  .toc a {
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    display: block;
    padding: 0.25rem 0;
  }

  .toc a:hover {
    color: var(--link-color);
  }

  .toc a.active {
    color: var(--link-color);
    font-weight: 600;
  }

  @media (max-width: 1280px) {
    .toc {
      display: none;
    }
  }

  @media (max-width: 768px) {
    .content-wrapper {
      padding: 3rem 1rem;
    }

    h1 {
      font-size: 2rem;
    }

    h2 {
      font-size: 1.5rem;
    }
  }

  /* Dark mode styles */
  html[data-theme="dark"] body {
    background: var(--bg-primary);
    color: var(--text-primary);
  }

  html[data-theme="dark"] h1,
  html[data-theme="dark"] h2,
  html[data-theme="dark"] h3,
  html[data-theme="dark"] h4,
  html[data-theme="dark"] h5,
  html[data-theme="dark"] h6 {
    color: var(--text-primary);
  }

  html[data-theme="dark"] p,
  html[data-theme="dark"] li {
    color: var(--text-secondary);
  }

  html[data-theme="dark"] a {
    color: var(--link-color);
  }

  html[data-theme="dark"] blockquote {
    border-left-color: var(--border-color);
    color: var(--text-muted);
  }

  html[data-theme="dark"] .lead {
    color: var(--text-secondary);
  }

  html[data-theme="dark"] .content-wrapper {
    background: var(--bg-primary);
  }

  /* Dark mode table styles */
  html[data-theme="dark"] table {
    background: var(--bg-primary);
  }

  html[data-theme="dark"] th {
    background: var(--bg-secondary);
    color: var(--text-primary);
  }

  html[data-theme="dark"] td {
    color: var(--text-secondary);
  }

  html[data-theme="dark"] th,
  html[data-theme="dark"] td {
    border-color: var(--border-color);
  }
`}</style>
