← projects

Mobile Offline Meeting Assistant

An Android app that runs Whisper on-device via whisper.cpp compiled with the NDK

Offline Meeting Assistant

Offline Meeting Assistant is a mobile application project focused on transcribing spoken conversations locally on the device and turning them into useful meeting outputs such as summaries, action points, and structured notes.

The main idea behind the project is simple: not every meeting, conversation, or voice note should depend on cloud-based transcription services. In many cases, privacy, cost, internet availability, and response time matter more than having a fully cloud-powered system. This project explores how much can be achieved directly on a mobile device by using local speech-to-text models.

Project Purpose

The goal of this project is to build a practical mobile assistant that can listen to meetings, transcribe speech, and generate usable meeting notes without sending raw audio to an external server.

The project focuses on:

Rather than building a simple recorder, the project aims to create a tool that helps users make sense of spoken content after a meeting. The value is not only in converting audio into text, but also in turning that text into something structured and usable.

Why Local Processing?

A major design decision in this project is running the transcription process locally.

Cloud-based transcription tools are powerful, but they come with several limitations:

By using local models, the application can work in a more private and independent way. This makes the project especially meaningful for meetings, interviews, lectures, internal discussions, or any situation where users may not want to upload audio data to a third-party service.

Technical Approach

The Android version of the project is built with a native mobile architecture and integrates local speech-to-text capabilities through whisper.cpp.

The technical structure includes:

The project uses whisper.cpp to run Whisper-based speech recognition models locally. This allows the application to process audio without depending on external transcription APIs.

Model and Performance Strategy

Since mobile devices have limited CPU, memory, and battery resources compared to desktop environments, model selection is an important part of the project.

The application is planned around different model tiers such as:

This approach gives the user more control over the trade-off between speed, accuracy, storage usage, and battery consumption.

The project also considers long audio handling, chunk-based processing, and memory-safe transcription flows to make the application more reliable during real meeting scenarios.

Meeting Notes and Action Items

The transcription layer is only the first part of the product.

After converting speech into text, the project aims to generate more useful outputs, such as:

The long-term goal is to make the app feel less like a basic transcription tool and more like a personal meeting assistant.

A key challenge here is keeping the cost as low as possible. For that reason, the project explores how much of the post-processing can be handled locally or with lightweight optional services instead of depending fully on expensive cloud-based language models.

Product Perspective

This project is not only a technical experiment. It is also a product exploration around privacy-first AI tools.

Many productivity applications rely heavily on cloud services. That can be acceptable for some users, but not for every use case. A local-first meeting assistant can be useful for people who care about data control, offline access, and predictable cost.

The project also helped me think more deeply about the difference between building an AI feature and building an actual usable product. Transcription alone is not enough; the application needs a clear workflow, understandable settings, model management, and reliable output formatting.

Current Status

The project is currently in development as a mobile prototype.

The main focus areas are:

In the future, the project may also be adapted into a cross-platform structure so that both Android and iOS users can benefit from local transcription capabilities.

What I Learned

This project helped me work on several important areas at the same time:

For me, Offline Meeting Assistant is an important project because it combines low-level technical integration with a very practical daily problem: making meetings easier to capture, understand, and follow up on.