Setup & User Guide

Install JIAA, set it up, and learn every mode

Setup is a one-time, ~5-minute process to get JIAA running. Using JIAA is a reference for the five modes and everyday controls — skim it now, or dip back in whenever you need a specific feature.

Setup
Get JIAA running

A one-time, ~5-minute setup. Do it once and you're done — you'll rarely touch any of this again.

Requirements

  • macOS 10.15 (Catalina) or newer.
  • A JIAA subscription ($39/month or $349/year), purchased inside the app — this unlocks JIAA itself.
  • Your own Anthropic API key with a little credit — Claude is pay-as-you-go on your key. About $10 covers exploring the app plus several one-hour interviews. See creating a key below.
  • About 500 MB of free disk space for the one-time Whisper speech model.
  • The free BlackHole audio driver to capture call audio (the app links you to it).
There are two separate costs — you need both. Your JIAA subscription ($39/mo or $349/yr) unlocks the app. Your Anthropic API key pays for Claude as you use it — add about $5–10 of credit to start. One unlocks the software; the other powers the answers.
JIAA transcribes audio locally on your Mac. Only transcribed text and the materials you explicitly attach (code, PDFs, screenshots) are sent to the Claude API.

Install JIAA

  1. Download the .dmg and double-click it to open.
  2. Drag JIAA into your Applications folder.
  3. Open it from Applications. If macOS says the app is from an unidentified developer, right-click (Control-click) the app icon → Open, then confirm in the dialog. You only need to do this once.

First-run setup

On first launch JIAA walks you through these steps. You can revisit any of them later from the toolbar.

Create your Anthropic API key

  1. Sign up or log in at console.anthropic.com.
  2. Open Billing (Plans & Billing) and add a payment method, then top up $5–10 of credit. A brand-new account needs credit before the API will answer.
  3. Go to Settings → API Keys and click Create Key.
  4. Copy the key (it starts with sk-ant-) and paste it into JIAA when prompted. You can store it in your Mac's Keychain so you only do this once.
API usage is billed by Anthropic directly through your key — only about $2 even for a long interview of up to two hours. You always see your spend in the console.

Activate your license

  1. In JIAA, pick a plan — Monthly ($39) or Yearly ($349) — and complete the secure checkout that opens in your browser.
  2. A license key arrives by email within a minute.
  3. Paste it into the activation screen. The key activates this Mac; you can release it from the store's My Orders page if you switch hardware.
Activate JIAA Pick a plan to unlock the app. Your license key arrives by email. Monthly Billed monthly · cancel anytime $39 / month Yearly Save 25% Two interview seasons covered $349 / year Subscribe I already have a license key
In-appPick Monthly or Yearly, pay, then paste the key from your email.

Download the Whisper model

Interview mode transcribes speech locally. JIAA downloads the ggml-small.bin model (~466 MB) into its app directory — a one-time download. Once it's done, transcription works fully offline. The speech-recognition binary itself ships inside the app, so there's nothing else to install.

Downloading Whisper model… Local transcription model (ggml-small.bin) — a one-time download. It stays on your Mac and works offline afterwards. Fetching… 289 / 466 MB · 62% Cancel
In-appOne-time ~466 MB download; transcription is fully offline afterwards.

Set up audio (BlackHole)

To "hear" the recruiter, JIAA listens to your Mac's system audio through BlackHole, a free, open-source virtual audio driver by Existential Audio. It has no window — it simply shows up as an audio device once installed.

Step 1 — Install BlackHole 2ch

Pick whichever is easier for you:

  • With Homebrew (one command). In Terminal, run brew install --cask blackhole-2ch and enter your Mac password if prompted. Homebrew handles everything.
    Don't have Homebrew? Install it first

    Homebrew is a free package manager for macOS — it isn't included by default. To install it, paste this into Terminal and press Return:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

    Follow the prompts. It may ask for your password and install Apple's Command Line Tools — that's expected and can take a few minutes.

    On Apple Silicon Macs, finish by running the two commands Homebrew prints to add it to your PATH, for example:

    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"

    Then run the BlackHole command above. Full instructions: brew.sh.

  • Manual download. Go to existential.audio/blackhole, request the free BlackHole 2ch installer (the link is emailed to you), then open the downloaded .pkg and follow the installer prompts.
macOS may block the installer the first time. If it does, open System Settings → Privacy & Security, scroll to the security notice about BlackHole and click Open Anyway / Allow, then run the installer again.

After installing, quit and reopen any audio apps (your browser, Zoom, Teams, Meet…) so they detect the new device. A full reboot usually isn't necessary.

Step 2 — Route your audio

Set things up so you can both hear the call and let JIAA capture it:

  1. Open Audio MIDI Setup (Applications → Utilities). Click the + button at the bottom-left and choose Create Multi-Output Device.
  2. In the new device's list, tick both your normal output (headphones/speakers) and BlackHole 2ch. Tip: put your headphones first as the primary device.
  3. In System Settings → Sound → Output, select that Multi-Output Device. Now you hear the call normally and BlackHole receives a copy for JIAA.
  4. In JIAA's toolbar, keep the audio source on BlackHole (system audio). Switch to Microphone only when you need to re-read a question out loud yourself.
Audio MIDI Setup Built-in Output External Headphones BlackHole 2ch Multi-Output Device + Multi-Output Device Use Audio Device External Headphones Primary BlackHole 2ch Built-in Output Tick both your headphones and BlackHole 2ch.
macOSCreate a Multi-Output Device and tick both your headphones and BlackHole 2ch.
If the audio meter shows silence, BlackHole isn't receiving sound — re-check that your Output is the Multi-Output Device that contains BlackHole.

Grant macOS permissions

In System Settings → Privacy & Security, allow JIAA under:

  • Screen Recording — required for the silent screenshot / screen-region capture used by Code Review and Quiz.
  • Microphone — only needed if you use the microphone audio source.
Using JIAA
How to use it during interviews

The fun part — and you don't need to read it all up front. This is a reference for the toolbar, the five modes and everyday controls; jump to whatever you need, when you need it.

The toolbar at a glance

Everything runs from the top toolbar:

Java Interview AI Assistant Off 👤 🎧 🎤 EN PL 📌 🖼 🔑 📋Task </>Code Review Live Coding ?Quiz
ToolbarTop row: status, persona, audio source, Listen, pre-roll, language and window controls. Bottom row: the four modes.
  • Status — the current state at a glance: Off, Listening…, Transcribing…, Generating answer…
  • Persona (person icon) — choose and edit the candidate profile answers are written from.
  • Audio source — switch between BlackHole (headphones = system audio) and Microphone.
  • Listen (green mic) — click to start capturing a question, click again to stop (see Interview mode).
  • Pre-roll (green dot + menu) — a rolling 5-second buffer of system audio, so the start of a question is captured even before you click Listen.
  • Language (EN / PL shown in the mockup) — JIAA supports English, Polish, French, and German for both the interface and generated answers.
  • Window controls — always-on-top (pin), opacity, custom Dock icon, and forget API key.
  • Modes (bottom row) — Task, Code Review, Live Coding and Quiz.

The five modes

Interview mode

The core loop for a live conversation:

  1. Click Listen. JIAA captures system audio (plus the last 5 seconds from the pre-roll buffer).
  2. When the recruiter finishes the question, click Stop. JIAA transcribes the phrase with the local Whisper model and streams a structured answer within seconds.
  3. Repeat for the next question. JIAA deliberately does not answer mid-question, so a recruiter's pause won't trigger a premature reply.
Listening… pre-roll 5s ▾ Q: What's the difference between optimistic and pessimistic locking? Optimistic locking checks a version column on write; pessimistic takes a DB lock up front (SELECT … FOR UPDATE). Use optimistic on low-contention, read-heavy paths; pessimistic on hot rows you must serialize. 🔍Expand topic 🧮Full code Clarify…
Best as videoListen → Stop → the answer streams in within seconds.

Silence and obvious transcription noise are filtered out, so the feed stays clean. Missed a question? Switch the source to Microphone and repeat it out loud.

Task mode

For discussing a take-home assignment you've already built:

  1. Open Task and load your repository by URL, and (optionally) attach the task statement as a PDF or pasted text.
  2. The assignment is pinned to the conversation. Every question you capture is now answered against your actual code.
  3. Answers cite concrete locations like PaymentService.java:87 so you can jump to the line under discussion.
Off 👤 📌 Task: payments-assignment Task loaded — github.com/you/payments-assignment 14 .java files · README · task PDF — in context for every answer Q: Why did you choose optimistic locking for the transfer table? A version column on TransferEntity.java:42 lets the DB reject stale writes. The bounded retry lives in TransferService.java:118 .
TaskYour repo is pinned to the conversation — answers cite the exact Class.java:line.

Code Review

To find issues in code on demand:

  1. Open Code Review and choose a source: clipboard, a Git repository, a window screenshot, or a screen region.
  2. Screenshot and region capture are completely silent — nothing the other side can see or hear.
  3. You get severity-ranked findings with before / after fixes side by side. Each review joins the conversation context, so follow-up questions about a specific finding are answered instantly.
</> Code Review From screen region · silent 👻 Code Review · OrderProcessor.java Key Findings high: SimpleDateFormat is shared across threads — not thread-safe. BEFORE static final SimpleDateFormat FMT = new SimpleDateFormat("yyyy-MM-dd"); String s = FMT.format(order.date()); AFTER static final DateTimeFormatter FMT = DateTimeFormatter.ISO_LOCAL_DATE; String s = FMT.format(order.date()); medium: BigDecimal compared with equals() — use compareTo(…) == 0.
Best as videoSilent capture → severity-ranked findings with before / after fixes side by side.

Live Coding

To generate a working solution:

  1. Open Live Coding. Paste the task text or attach the PDF — or switch to expected output → code if you only know what the program should print.
  2. Pick the shape: framework style (Spring Boot for Java and Kotlin) that drops into an existing project, or a plain main single file.
  3. Long solutions continue automatically past the length limit. Use Copy all classes to put every file on your clipboard at once.
Live Coding Task → code Expected output → code Framework Plain main 📄 discount-engine.pdf · 3 pages Generate code Live Coding · 5 files · Spring Boot // com/example/app/solution/DiscountEngine.java @Component @RequiredArgsConstructor public class DiscountEngine { private final PricingRules rules; public BigDecimal apply(Order o) { … } Copy all classes (5)
Live CodingTask or PDF in, a complete runnable solution out — copy every class in one click.

Quiz

For platforms like Karat, DevSkiller, HackerRank or LeetCode:

  1. Open Quiz and add up to five silent screenshots (full windows or regions) covering the prompt, the options and any code.
  2. Optionally attach repository code if the question refers to a codebase.
  3. Click Solve. JIAA stitches everything together and returns the answer with reasoning, and keeps it in context for follow-ups.
Quiz Add 1–5 screenshots of the same question — prompt, options, code. They're stitched into one answer. + 2 / 5 screenshots · silent capture Solve Quiz Correct answer: B — O(n log n) Merge sort splits the input in half (log n levels) and merges in linear time at each level — so the bound holds for best, average and worst cases alike.
QuizUp to five silent screenshots in, the answer (with reasoning) out.

Working with answers

  • Expand topic — go deeper on an answer or one of its sections.
  • Clarify (follow-up) — type a follow-up question; it's answered with the original exchange and the whole session in context.
  • Full code — promote an interview answer into a complete live-coding solution.
  • Copy all classes — copy every generated .java file (with path headers) in one click.
  • Cancel — stop a generation that's still streaming.

Personas

A persona is the candidate profile answers are written from — language, tech stack and professional background. JIAA is built for Java, with Kotlin in beta, and supports English, Polish, French, and German for both the interface and generated answers. Open the persona settings from the toolbar to:

  • Choose the active profile.
  • Duplicate a built-in profile and edit the copy — adjust the tech stack and background so answers match your CV. Built-in profiles stay intact, so you can always reset.

Troubleshooting & tips

  • The audio meter shows silence. Your system Output isn't routed through BlackHole. Set Output to a Multi-Output Device that includes BlackHole 2ch (see Audio setup).
  • Keeping JIAA hidden during screen share. It works best when you share a single window or app rather than your whole screen — then JIAA never appears in what the other side sees. If you must share the entire screen, keep JIAA on a second display.
  • Screenshots do nothing. Grant Screen Recording permission in System Settings → Privacy & Security, then restart JIAA.
  • The API rejects requests. Make sure your Anthropic account has billing set up and available credit.
  • Offline. Transcription works offline after the model download; generating answers needs internet for the Claude API.

Version history

Version 1.0.0

Release date: June 16, 2026

The first public release includes the full core workflow for technical interviews:

  • Interview mode with local Whisper transcription, a 5-second pre-roll buffer, and support for both BlackHole system audio and microphone input.
  • Task mode for loading a repository plus a task description, then answering against your actual code with file-and-line citations.
  • Code Review mode for analyzing clipboard code, repositories, screenshots, and screen regions with before/after fixes.
  • Live Coding mode for generating complete solutions from task text, PDFs, or expected output, including multi-file copy support.
  • Quiz mode for solving platform-style questions from up to five silent screenshots, with optional repository context.
  • Everyday controls like personas, multilingual interface and answer language support (English, Polish, French, and German), always-on-top, opacity, and stored API key management.