惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
有赞技术团队
有赞技术团队
博客园_首页
IT之家
IT之家
爱范儿
爱范儿
量子位
小众软件
小众软件
Jina AI
Jina AI
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
The Cloudflare Blog
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
雷峰网
雷峰网
V
Visual Studio Blog
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
GemmaNotes
Sarath Chandra Pandurangi · 2026-05-25 · via DEV Community

Sarath Chandra Pandurangi

Gemma 4 Challenge: Build With Gemma 4 Submission

This is a submission for the Gemma 4 Challenge: Build with Gemma 4

I wanted to spend the weekend building software outside my core knowledge domain to challenge myself. I haven't been coding hands-on until recently, and I had zero experience writing plugins for Electron Apps. I was recently introduced to Obsidian and really liked its focus on privacy and a completely local knowledge store.

I also wanted to test drive Gemini 3.5 flash release with Antigravity. Build something I had no domain knowledge of, but only a set of product ideas and engineering taste. I built GemmaNotes.

What I Built

Logo

GemmaNotes is a private, completely offline, AI voice-recorder plugin for Obsidian that turns your spoken thoughts into tidy text notes with a single click.

Unlike most dictation tools, GemmaNotes performs all of its processing completely on your own computer. It does not send your voice to the cloud or even require an internet connection, keeping your recordings and private and secure.

Simply hold down microphone key to record, speak your mind. Once you are done, watch your words appear directly at your cursor, free of filler words.

Even so, if your spoken draft is like mine, a rambling blob of text, you can also use the built-in magic rewrite feature to fix grammar, and polish your speech into clear, structured prose.

Demo

Code

https://github.com/sarath/gemmanotes

How I Used Gemma 4

GemmaNotes leverages Google’s Gemma 4 E2B (Effective 2B) and option to choose E4B model to enable fully offline, push-to-talk voice dictation directly inside Obsidian notes. Rather than relying on a complex, multi-stage pipeline that pipes separate transcription audio into a separate large language model, Gemma 4’s native multimodal capabilities handle the entire processing flow in a single, unified stage—converting raw audio inputs directly into structured text in-process via transformers.js and WebGPU. We chose the E2B variant over E4B or the massive workstation-class 31B Dense model because of its optimized performance-to-size ratio.

With a download footprint of approximately 3.2 GB, E2B strikes the perfect balance for local desktop applications; it is lightweight enough to avoid depleting host system RAM or overloading WebGPU runtimes while remaining highly capable of capturing speech accurately and generating natural punctuation.

Furthermore, this compact footprint allows the same E2B instance to power our on-demand rewriting features, tidying up raw conversational transcripts into polished prose without loading a secondary LLM. Selecting Gemma 4 E2B ensures that GemmaNotes delivers a highly private, zero-latency note-taking assistant that runs completely local on the user's desktop hardware without any external API keys or network reliance.

GemmaNotes Options

Try GemmaNotes Plugin and Obsidian. Let me know what you think. Request/Suggest a feature.

Thank you for reading.