cd /news/ai-tools/git-out-a-local-voice-companion-that… · home › topics › ai-tools › article
[ARTICLE · art-149109] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Git Out: A Local Voice Companion That Helps Developers Touch Grass

A developer has released Git Out, an open-source, local-first Android voice companion that lets developers ask technical questions out loud and receive spoken answers without sending audio to the cloud. The app runs Qwen2.5-1.5B-Instruct Q4_K_M GGUF on-device via llama.rn, uses Android on-device speech recognition and TextToSpeech, and includes an optional FastAPI-backed read-only GitHub workspace that keeps the token server-side.

by read4 min views1 publishedOct 11, 2026

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

Git Out is a local-first voice companion for developers who want to think through

technical problems without staying glued to a screen.

The idea is simple: take a walk, ask a question out loud, and get a useful answer

without opening a laptop, sending your voice to a cloud service, or losing your

train of thought to a dozen tabs.

Git Out is built for developers who are walking, commuting, taking a break, or

working away from their desk. It can help with questions such as:

The app records one deliberate voice turn, transcribes it on the Android device,

generates an answer with a local Qwen model, and reads the completed answer aloud

with the installed Android voice.

The screen is intentionally the shortest part of the experience. Pocket Mode has

large, high-contrast controls and explicit states for Ready, Listening,

Transcribing, Thinking, Speaking, and Error. There is no wake word,

no always-on microphone, and no automatic microphone restart in the background.

Git Out also includes an optional read-only GitHub workspace. When the backend is

configured, the app can show the connected account, repositories, assigned issues,

pull requests, and recent commits. The GitHub token stays on the server and is

never bundled into the mobile app.

Video demo:

The demo should show:

This is an Android development build, so a short screen recording is the most

useful demo format. The project is designed to be tested on a physical Android

device because installed speech packs, TTS voices, audio focus, headset events,

and lock-screen behavior vary by device.

The complete open-source project is available here:

The repository contains the React Native/Expo mobile app, the FastAPI backend,

the local AI abstraction, the Android speech and TTS integrations, GitHub API

services, tests, and setup documentation.

Git Out is an Android-first React Native app built with Expo and a small FastAPI

backend for the optional GitHub workspace.

The core model is Qwen2.5-1.5B-Instruct Q4_K_M GGUF, loaded on the Android

device with llama.rn. The model file is

selected and stored locally by the user; it is not bundled into the repository or

downloaded automatically by the app.

The mobile conversation path is:

Voice question
    ↓
Android on-device speech recognition
    ↓
Local transcript
    ↓
Qwen GGUF through llama.rn
    ↓
Readable answer + optional Android TTS playback

expo-speech-recognition checks for an installed Android on-device language pack before recording.GitOutTts Expo module wraps Android TextToSpeech. Pocket Mode is a one-shot voice workflow rather than a continuous assistant. Each

tap starts one question, and the lifecycle is guarded so stale recognition or TTS

callbacks cannot submit an accidental second turn.

The state machine makes the interaction understandable while the user is moving:

Ready → Listening → Transcribing → Thinking → Speaking
                         ↘ Error

The FastAPI service uses a server-only GITHUB_TOKEN and GitHub's REST API. It

exposes sanitized read endpoints for the authenticated user, repositories,

assigned issues, pull requests, and commits. The mobile app only receives

whitelisted response fields; it never receives the token.

GitHub is intentionally separate from local inference. Local conversation keeps

working when the backend or network is unavailable.

The app uses a dark, minimal skeuomorphic interface: raised cards, recessed input

wells, tactile buttons, subtle shadows, and clear status pills. This gives the

controls a physical-device feel without adding a heavy UI library or image assets.

Open innovation is what makes Git Out fit the Touch Grass theme instead of becoming

another cloud chat interface.

The open-weight Qwen model lets the main conversation run locally on the phone.

That makes several important things possible:

llama.rn, Expo modules, native Android speech APIs, and a local-first state machine in a way that can be inspected and changed. A closed hosted API could make a quick prototype, but it would move the central

conversation onto a remote service and make a no-signal walking workflow much less

reliable. Open components gave me the control needed to make privacy and offline

behavior product features rather than marketing claims.

The trade-off is honest: a small on-device model has less capacity than a large

cloud model, and a GGUF requires enough memory on the Android phone. Git

Out chooses that trade-off because a private, available answer while walking is

more useful here than a larger answer that requires a network connection.

I am entering the overall Hacktoberfest Open-Source AI Challenge. I am not claiming

a partner category because Git Out does not currently use partner-specific

technology.

The repository includes automated checks for the local AI guards, speech

recognition behavior, TTS lifecycle, voice-conversation transitions, Pocket Mode

state changes, and duplicate media-command handling.

The final frontend checks passed:

npm run typecheck   ✓
npm test            ✓ 50 tests passed
npx expo export --platform android   ✓
git diff --check    ✓

For the final device demo, I will report the phone model, Android version, speech

service, and TTS engine used. Device-specific speech, headset, background

playback, and lock-screen behavior can vary by device, so those details are part

of the demo notes rather than assumptions about every Android phone.

Git Out is a small experiment in making developer tooling less desk-bound. The

goal is not to keep people in an AI chat window. The goal is to let them ask one

useful question, hear a practical next step, and get back to the world outside

the screen.

── more in #ai-tools 4 stories · sorted by recency
── more on @git out 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/git-out-a-local-voic…] indexed:0 read:4min 2026-10-11 · —