r/electronjs • • 4h ago

Built a floating lyrics overlay in Electron as a Minecraft joke, it's somehow at 1.5k users now

Thumbnail
gallery
1 Upvotes

So this started as a dumb joke while I was playing Minecraft with my close friends. I made a little window that floats lyrics over the screen and syncs to whatever song is playing, and sent it to a few friends. It hit like 100 downloads in a day and people actually liked it, so I turned it into a real app called Cadence.

It's at 1,500 users now which is honestly crazy to me.

It works with Spotify, YouTube Music, Apple Music, Tidal and Pear, and it doesn't need Premium or API keys, it just reads what your computer is already playing. You can listen along with friends cross-platform (Spotify -> YouTube Music, Mac ↔ Windows) and there's a karaoke mode too. Also has click-through and notch modes so it stays out of the way.

I'm updating it a lot right now so any feedback, feature ideas or bugs would be amazing, just lmk.

It's just a fun project lol so it's free: https://samahith.me/cadence


r/electronjs • • 2d ago

Electron Game Bug Ghost Tabs when Alt Tabbing

0 Upvotes

This bug is driving my players insane but I cannot find any documentation fixing it. Electron wrapped game causing ghost tabs when players alt tab. I have researched all I could on fixing it but it seems that nobody has provided a solution other than go to Settings -> System -> Multitasking -> Desktops -> Set to "on all desktops". which I can't have all players do. Anyone else encounter this??


r/electronjs • • 2d ago

Discord is ditching Electron and its new app uses less RAM

Thumbnail
theverge.com
42 Upvotes

r/electronjs • • 3d ago

Tauri vs Electron vs WPF benchmark: size and memory measured

8 Upvotes

I'm not the author of this article. I just thought that it might be interesting for developers wondering what's the difference between Electron and Tauri and other frameworks in terms of memory usage.

https://dawloom.com/blog/tauri-vs-electron-vs-wpf-benchmark/


r/electronjs • • 3d ago

Mearl: browser automation for signed-in Chrome, Electron, and remote browsers

Thumbnail
github.com
1 Upvotes

r/electronjs • • 4d ago

We introduced the CupertinoUI Builder — open for beta testing

3 Upvotes

We just introduced the CupertinoUI Builder, and it’s available for beta testing.

CupertinoUI is a macOS-style component registry for React and shadcn/ui. The Builder lets you visually compose windows and controls, tweak labels/accents/appearance, then export real React + Tailwind code you can install into your project.

What’s in the beta:

  • Drag components onto a canvas

  • Edit props in an inspector

  • Export / copy the install command and generated code

Try it here: https://www.cupertino-ui.com/builder


r/electronjs • • 4d ago

I built a tool to find hidden bugs in web and Electron apps

0 Upvotes

I built Recovery Probe to test how web and Electron apps behave when things go wrong:

https://github.com/BojanKovachki/recovery-probe

Recovery Probe deliberately fails requests or Electron IPC reads, observes the UI and saves reports you can compare before and after a fix.

It also works through MCP, so your coding agent can reproduce the failure, investigate it and check whether its fix actually works.

Curious how you currently test for hidden bugs.


r/electronjs • • 4d ago

I built a free, open-source focus app that uses an AI running on your own computer to notice when you drift off-task

1 Upvotes

Hey everyone 👋

For the past few months I’ve been building Produchive, a desktop productivity app for macOS and Windows. I kept having “quick YouTube breaks” that turned into two hours, and every tracker I tried either sent my screen activity to someone’s server or just showed me charts after the damage was done.

This app isn't vibe coded , i built the app I am really bad in designing stuff , so i took claude's help to design and make better UIs

So I built one that:

Sees what you’re working on. It detects the active window and logs your focus sessions on a calendar automatically, so you don’t have to start and stop timers.

Uses a local AI as your judge. You set your goals, and an LLM running on your own device (WebGPU) checks your activity against them. If you drift off-task you get a polite desktop nudge, not a guilt trip. You can also point it at your own Ollama or OpenAI-compatible endpoint, and edit the judge’s prompt to change its personality.

Shows you where your focus goes. It gives you a focus score, counts how often you switch context, rates which apps distract you, and shows it all on a timeline.

Plans your day. There’s a 7-day calendar with routines that can be auto-scheduled around your circadian rhythm. It also handles late nights, since some of us plan at 2 AM.

Helps you study. A Pomodoro timer runs only in study mode, and it gently reminds you to revise topics 4–5 days later.

Has 3D focus rooms. You can study in a cozy 3D Greenhouse, Lakeside, Observatory, Tea Garden, Waterfall Café and more, with weather, ambient audio, shared timers and other people studying alongside you. You can dress up your own character too, pets included 🐱

Keeps your data yours. Your data is stored locally. Sync between devices is optional and end-to-end encrypted (AES-256-GCM) through your own Google Drive, Dropbox, iCloud or a USB stick.

It’s MIT licensed and open source, and the core app is free.

GitHub: https://github.com/Heisen47/produchive

Demo: https://youtu.be/qC3bvMewD70

Website: https://produchive.com


r/electronjs • • 4d ago

How do you keep API keys out of an Electron app?

8 Upvotes

Ran npx @electron/asar extract on our own installed build last week just to see what’s in there. I expected the code to be readable but I didn’t expect a Mapbox secret token, a Sentry auth token added for source map uploads and the URL of our internal admin API all sitting in main.js in plain text.

We rotated both tokens and moved the admin API behind the VPN which takes care of those. But I’m stuck with one third party API the app calls directly because the key has to live somewhere and right now that somewhere is the bundle. I’ve read the obfuscation and bytenode threads here and none of that keeps a key secret when the app has to use it.

What are you guys doing with keys your Electron app needs to call other services?


r/electronjs • • 4d ago

I FUCKING HATE ELECTRON.

0 Upvotes

Why the FUCK would anyone in their right mind make a app front end that is based through chromium. Do you know how much fucking ram apps like, discord, figma, visual desktop and basic applications take because of this shitty fucking framework. I dont even care about ai coding amymore when it comes to apps when it comes to rust coded apps. AT least those shitty vibecoded apps dont take up a quarter of my memory just for some shitty frontend.


r/electronjs • • 5d ago

Rounded blur behind a transparent window on Windows 10, looking for testers

0 Upvotes

Windows 10 only blurs whole rectangles behind a window, so a rounded transparent BrowserWindow gets square blur in its corners. Haze clips the blur to the rounded shape. The Electron wrapper isn't on npm yet, so for now you build it from the `npm` folder in the repo with `npm run build` (you'll need Rust).

const blur = haze.attach(win, { preset: 'dark', radius: 20 });

I tested it on Windows 10 22H2 with Electron 45. The repo is new because I only just made it public. I used the blur in my own apps before that, but the library around it is new and Claude wrote most of it.

I need reports from Windows 11, display scales above 100% and older Windows 10 builds. If it works, a comment with your Windows version is enough. If it breaks, please open an issue with a screenshot.

https://github.com/spectrvm1337/Haze-blur


r/electronjs • • 7d ago

made an electron app that translates your voice live in discord calls

Post image
2 Upvotes

been working on this for a while. Whispra | The translation assistant, it translates voice chats live so you can talk to people on discord/zoom/steam who don't speak your language. Among many other helpful features. electron + a python backend. the installer is 764mb, don't look at me haha


r/electronjs • • 7d ago

Electron app on pc

5 Upvotes

How can i protect my app, asar file is so easy to extract and the whole app files will be with anyone easily. and is npm run dist is useful or just adds a small layer of protection.


r/electronjs • • 10d ago

CupertinoUI: macOS-style components you install with the shadcn CLI

1 Upvotes

I built CupertinoUI, a macOS-style component registry for React and shadcn/ui.

It includes controls, menus, dialogs and windows, with CSS-variable theming and light/dark appearance. Components are copied into your project through the shadcn CLI so you can edit the source.

The core components are free under MIT. There are also paid Pro components and complete app-style blocks.

Try it: https://www.cupertino-ui.com
Browse the components: https://www.cupertino-ui.com/docs/components


r/electronjs • • 10d ago

My open-source Electron + Firebase npm package just crossed 519 downloads in 8 days!

Thumbnail reddit.com
3 Upvotes

Hey everyone!

I’ve been working on an npm package called @rootvarma/firebase-electron, built to simplify Firebase integration in Electron applications.

I recently published it on npm, and it recorded 519 downloads between October 29 and November 5.

It’s exciting to see something I’ve built getting downloads, and I’d love to see more developers try it out.

If you’re building desktop applications with Electron and Firebase, here’s the package:
📦 npm: https://www.npmjs.com/package/@rootvarma/firebase-electron

I’d genuinely appreciate feedback, suggestions, bug reports, or contributions.

I’m looking to improve it based on real-world developer requirements.

Thanks to everyone supporting open-source projects!


r/electronjs • • 10d ago

Electron + Vite + React + TS starter with all 47 shadcn/ui components pre-installed

3 Upvotes

Every new Electron app I started began with the same hour of wiring up Tailwind, shadcn and electron-builder, so I put the result in a repo (disclosure: it is mine). It uses electron-vite with HMR for the renderer, separate tsconfigs for main, preload and renderer, a dark/light ThemeProvider, electron-builder targets for Windows, macOS and Linux, and electron-updater already in the dependencies. All 47 shadcn components are checked in, so there are no "add" commands to run. Repo: https://github.com/p32929/electron-shadcn-typescript. If you have opinions on what a starter like this should leave out, I am listening.


r/electronjs • • 11d ago

Built an Electron 44 browser with Claude Code as my main dev tool: looking for a review of my security setup

0 Upvotes

r/electronjs • • 13d ago

firebase-electron: FCM sends fail with MismatchSenderId because the token is registered with the wrong sender

Thumbnail
reddit.com
1 Upvotes

r/electronjs • • 15d ago

electron-updater: how do you keep “ready to install” after another update check?

3 Upvotes

I'm building an Electron browser and have an annoying updater state bug. We're using electron-updater 6.8.9 with autoDownload enabled.

In our Linux AppImage testing, checking once lets the update download and shows “Restart to install”. But checking again can leave it stuck showing “Downloading and verifying…” instead. The restart button disappears.

Our wrapper sets the state to “checking” on checking-for-update, “downloading” on update-available, and “ready” on update-downloaded. So another check can overwrite the ready state without a fresh download completing to put it back.

I'm leaning toward tracking the downloaded version separately, so checking for that same version doesn't clear its install-ready state.

How are you handling this? Especially when one version is already downloaded and the next check finds something newer?


r/electronjs • • 15d ago

Electron.js Anti Tampering

0 Upvotes

I started working on Anti-Tampering research on Electron.js. It will mostly focus on increasing the cost of reverse engineering. What do you guys think? Any experiences?


r/electronjs • • 15d ago

Made a Dynamic Island style overlay for Windows. Music, clipboard, pomodoro. Want feedback

Thumbnail gallery
1 Upvotes

r/electronjs • • 15d ago

Professor Clippy: an always-on-top desktop sticky note in Electron, using node:sqlite (no native modules), transparent pop-out windows and live Windows dark mode

0 Upvotes

Sharing a Windows Electron app I've been building, plus a few things that worked well in case they're useful to anyone.

What it is: Professor Clippy, a desktop sticky note with a little animated robot professor on it. AI coding agents (Claude Code, or any MCP client) leave it notes, reminders and questions, and it pops up when something needs you.

Electron bits worth mentioning

  • No native modules. Storage is the built-in node:sqlite (DatabaseSync, FTS5 for history search), so there's no better-sqlite3 and no rebuild step. electron-builder runs with npmRebuild: false.

  • A transparent, frameless, always-on-top window (setAlwaysOnTop(true, 'screen-saver')) for the note and character. Pages can also be "pinned out" as their own small transparent windows; they come back where you left them after a restart and get moved back on screen if that monitor is gone.

  • Follows Windows dark mode live via nativeTheme, switching the note to a dark theme within a second and with no restart.

  • "Away" detection with powerMonitor.getSystemIdleTime(): notes only go to your phone (WhatsApp/Telegram) once you've been idle for a few minutes.

  • A global hotkey (globalShortcut, Ctrl+Alt+Space by default) opens a one-line command box from any app, and Settings tells you if another app already holds the hotkey.

  • Per-user NSIS installer (oneClick, perMachine: false), so there's no admin prompt. It isn't code-signed, so SmartScreen warns once.

  • Stack: Electron 45, electron-vite, React 19, TypeScript, Vitest.

Built mostly with Claude Code. MIT licensed.

Repo: https://github.com/geetbatth/professor-clippy Installer: https://github.com/geetbatth/professor-clippy/releases/latest

Happy to go into any of these, and feedback on the window handling is very welcome.


r/electronjs • • 16d ago

I built a small package for localizing Electron role-based menus with i18next

1 Upvotes

While working on an Electron app using i18next, I ran into a small gap with native menus.

Electron's role-based menu items are convenient because Electron already handles the native behavior:

{
  role: "copy"
}

But if you want the label itself to follow your application's i18next translations, you still have to handle that separately.

You can add translated labels manually:

{
  role: "copy",
  label: t("menu.roles.copy")
}

but once you start doing that across File, Edit, Copy, Paste, Undo, Redo, Quit, nested menus, fallbacks, and so on, it becomes repetitive.

I ended up extracting the solution I was using into a small npm package:

npm install @solisware/electron-menu-i18next

It takes an Electron menu template and an existing i18next translation function and returns a localized copy:

const localizedTemplate = localizeMenuTemplate(template, {
  t,
  appName: app.name
});

Electron still handles the menu behavior, i18next handles the translations, and the package just connects the two.

It also handles nested menus, English fallbacks, explicit labels, and app-name interpolation. Rebuilding the menu after a language change is intentionally left to the application.

Curious how other Electron developers are handling native menu localization?


r/electronjs • • 17d ago

Testing recovery when an Electron app’s data reads fail

1 Upvotes

I’m building Recovery Probe, an MIT-licensed tool for injecting read failures into web and Electron test apps and comparing recovery reports before and after a fix.

For Electron, it can attach through a local debugging port, while IPC scenarios use a development-only hook. The simplest demo is a web profile page: the error and Retry button appear, but Retry does nothing because a pending flag never gets cleared. The corrected version survives the same three injected faults (HTTP 503, connection failure and invalid JSON).

I’d be interested in the failure modes you struggle to reproduce in Electron, particularly where the renderer and main process disagree about whether an operation is still pending.

Source, setup, and limitations:
https://github.com/BojanKovachki/recovery-probe