Vol. I · No. 579Rochester, New York, Thursday, September 24, 2026Desktop · Page B7
All workSection B · Page B7

DesktopAcademic Companion

A Desktop App That Sits Through Lectures With You

Academic Companion turns syllabi, assignment PDFs and recorded lectures into deadlines, summaries and a chat over everything in a class.

Record a lecture, get a summary and the deadlines out of it.Moving picture

Every semester starts the same way: a syllabus per class, a pile of PDFs and deadlines scattered across all of them. Academic Companion is the desktop app I built to handle that. Internally it's called Academic Weapon, which explains the sword in the logo.

You create a class and drop in the syllabus and assignment PDFs. It pulls out deadlines and exams and puts them in a tracker and a calendar. Hit record during a lecture and it transcribes it, then writes a summary and key topics. After that you can chat with one class, or across all of them at once.

Both sit behind the same Rust interface, so the rest of the app doesn't care which one is on.

It's a Tauri 2 app. The Rust backend owns everything: files, the database, audio and AI calls, across 19 modules and about 55 commands. The React frontend never touches any of it directly; it only talks to Rust through invoke(). Lecture audio is recorded in Rust too, with cpal and hound.

PDF parsing and local transcription live in a Python FastAPI sidecar that the app starts on its own. I bundled it with PyInstaller, so students don't need Python installed. It handles PDF-to-markdown conversion with pymupdf4llm, deadline and exam extraction, and faster-whisper transcription.

One setting decides where the AI runs. In local mode everything runs on your machine with Ollama (qwen2.5:1.5b for chat, llava for images) and faster-whisper. In cloud mode it uses Groq for Whisper and Llama 3.3 70B, which is much faster. Both sit behind the same Rust interface, so the rest of the app doesn't care which one is on. The Windows installer even downloads and installs Ollama for you.

Chat is backed by an embedded LanceDB vector store that indexes documents, notes and recordings per class. Honest note: the vectors come from a simple hashed bag-of-words function right now, a stopgap I marked in the code. Real embeddings from Ollama are the obvious replacement.

Around all that I added the things students actually reach for: 11 tools including a Pomodoro timer, GPA and grade calculators, a flashcard generator, a citation generator, an email drafter and a tldraw whiteboard. There are also notes, a calendar with .ics export, a habit tracker and spotlight search. A background task queue runs the slower LLM jobs like flashcards and deadline extraction.

Most of the app came together over three days in February 2026, with the installer and sidecar build done around March 1. There's no public download yet, so I recorded short demo clips of each flow: recording and summaries, drag-and-drop deadlines, chat, the local and Groq switch, and the tools.

Graphic

How it works

Academic Companion, start to finish, in 6 steps.

  1. Step 1:

    Import

    Drop in syllabi and assignment PDFs

  2. Step 2:

    Parse

    Python sidecar extracts text, deadlines and exams

  3. Step 3:

    Record

    Rust captures lecture audio

  4. Step 4:

    Transcribe

    faster-whisper locally or Whisper on Groq

  5. Step 5:

    Summarize

    LLM writes summaries and key topics

  6. Step 6:

    Ask

    Chat per class or across every class

Graphic: The Sahil Bachu

More from The Work

See all 25

Desktop

An App Store for Open-Source AI, No Terminal Required

A Rust and Tauri desktop app that installs and launches 46 open-source AI tools with one click and one shared key.

Open-source AI tools are free but painful to install. FreeAI is a desktop app store that installs 46 of them with one click, streams the logs and launches each one in a terminal, a webview or the background.

Continued on Page B12

Audio AI

It Hands You the Synth Patch, Not the Song

A desktop sound-design assistant that listens to your track, reads your description and writes a real Surge XT preset.

Drop in a clip from your track, type something like "dark slow riser", and WingmanPro writes an editable Surge XT synth preset instead of generated audio. Audio models read the clip and an LLM writes the patch.

Continued on Page B14

Creator Tools

A Telegram Chat That Runs My Instagram

autoreel turns one talking-head clip into a finished, edited Instagram Reel and posts it.

The daily Reels pipeline behind @21stcentury.sahil. It finds topics, drafts scripts in my voice, edits my clip into a reel with Remotion, posts it and sends tool links to commenters. I run all of it from one Telegram chat.

Continued on Page B5