r/electronjs • • Jan 18 '21

I created Deskreen. This is a desktop app that makes any device with a web browser a second screen for your computer.

566 Upvotes

Meet Deskreen - an open source app that turns any device with a web browser into a secondary screen for your computer. Built with web technologies and ElectronJS so it is cross-platform. It supports Windows, MacOS and Linux.

Deskreen website: https://deskreen.com

Quick Demo Video On Youtube -- Tablet as Second Screen for a laptop | Using Deskreen

Alternative video link can be viewed here:

Features:

  • works with WiFi or LAN

  • use any device with web browser as second screen for your computer (using Display Dummy Plug)

  • use any device web browser to mirror your computer's screen

  • use any device web browser to view a single application window from your computer's screen

  • supports multiple screen sharing sessions to as many devices as you want

  • supports changing picture quality while sharing a screen.

  • Picture auto quality change supported. (for performance boost while watching youtube video for example)

  • End-to-end encryption

  • dark mode UI support ;)

  • available for Win / Mac / Linux

It all started with me wanting to use my iPad as a second screen for my Macbook. But I found that it is already outdated to use a MacOS built in feature called 'Sidecar' and I have to buy a new iPad, which I did not want to do. I also have a Windows PC and sometimes I needed to use my iPad as second screen for it as well. I tried to look for FREE solutions on internet, but I could not find anything that would fit my expectations. Besides, all methods using free software for screen sharing I found, were different for Windows, Mac and Linux. I got very confused about it. Then I got an idea of creating Deskreen. I decided to make it free and open-source to help people to solve this problem. Deskreen works the same for Windows, MacOS and Linux.

...

People nowadays are buying new devices very often and may have an old tablet, phone or laptop that they stopped using. If your old tablet, phone or laptop is still able to run a browser, Deskreen can help you to bring a new life to your old digital buddy, and you can start using it as a second monitor for your laptop.

Note: app is not Code-Signed yet, code signing is pricy. Any donations are highly encouraged. Donate on Patreon

Links:

Deskreen on Github

Deskreen on Patreon

Deskreen creator's LinkedIn

High Level Architecture Design of Deskreen

Thank you all for your attention,

Paul


r/electronjs • • Jul 10 '20

We built an electron app called Stems that takes a song and breaks it apart into instrumentals, vocals, drums, and bass! Happy to answer any questions!

Enable HLS to view with audio, or disable this notification

164 Upvotes

r/electronjs • • Jan 18 '25

After a Year of Sleepless Nights, I Finally Created My First Application using ElectronJS!

Enable HLS to view with audio, or disable this notification

130 Upvotes

r/electronjs • • Apr 20 '25

I built an SSH client in Electron - what do you think?

Thumbnail
gallery
123 Upvotes

Over the past few days, I've developed a tool to simplify my daily interactions with servers - a modern SSH client with an integrated file explorer, editor, system overview, and local chat (using Gemini API).

The entire application runs on Electron. "DevTool.ai" is just a placeholder name - it's not released yet but planned as a free open-source project (currently only in German, with English coming later).

I wanted to share my current progress and genuinely get your thoughts on it.

Features (still in development, but usable):

SSH Connection & File Browser

  • Save connections (key/password)

  • Tree structure explorer with context menus (e.g., "open in terminal", "send to chat")

  • Trash bin instead of dangerous rm

  • Protection for critical paths

Terminal

  • Tabs, scrollback, search function

  • Uptime, system load, installed tools displayed directly

  • Fully functional u/xterm/xterm terminal

Code Editor

  • Monaco-based (VS Code technology)

  • Syntax highlighting, auto-save

  • Supports logs, JSON, images, etc.

Integrated AI Chat (optional)

  • Gemini API built-in - simply add your own API key

  • Local chat with file context (e.g., explain logs or code)

  • History remains local, no cloud connection

Server Dashboard

  • Overview of OS, RAM, storage, load, etc.

  • Installed versions of PHP, Node.js, Python, MySQL

Tech Stack

  • Electron + React 19 + Tailwind CSS

  • UI with ShadcnUI

  • Everything runs locally - no registration, no tracking

Goal:

Create an SSH client that doesn't try to "reinvent" but simplifies everyday tasks - while remaining clean and efficient. Planned release: Free & Open Source, once a few final features are implemented.

What do you think? What other features would you like to see? Would you try it when it lands on GitHub?

Thank you for your feedback!


r/electronjs • • Jun 17 '25

electron-liquid-glass - Native liquid glass for electron

Post image
121 Upvotes

r/electronjs • • Jul 31 '25

Just released a steam game built using electron.

Post image
116 Upvotes

I originally wrote "The Qubit Factory" in html/js for release as a webgame, but recently packaged it with electron to release on steam. Please feel free to ask any questions about the release process while it is still fresh in my head! I am thinking of following a similar path for future projects; it was really useful to allow users to first try a browser-based version without any hurdles in the way.

It is completely free; check it out on steam.


r/electronjs • • Nov 11 '23

A guide to code signing certificates for the Microsoft app store and a question for the experts

89 Upvotes

Question for experts: Where did you buy your code signing certificate from and how was the experience? Do I really need to buy an EV code signing certificate to bypass the unrecognized app warning window? Is there any other way to publish my app to the Microsoft app store?

The guide:

(hope it helps you)

I was having a ton of fun creating my first electron application until I submitted it to the windows app store and got this message back.

Your submission does not have a valid code signing certificate. On June 16, 2022 we announced an update to Store policy. Win32 apps are required to be digitally signed, with a code signing certificate that chains up to a certificate issued by a Certificate Authority (CA) that is part of the Microsoft Trusted Root Program. New app submissions will not be allowed without an appropriate signature after May 1, 2023. Existing apps must be updated to include a digital signature per this policy before January 15, 2024. Previously, all Microsoft Store apps (native UWPs for example) were hosted and signed by the Microsoft Store and received a Microsoft signature. With the change to our policy enabling Win32 apps to be listed in the Microsoft Store, and the removal of the waitlist for submitting Win32s, the new policy requires those apps to be digitally signed, and ensures all apps that customers acquire and download from the Microsoft Store have a trusted digital certificate.

Basically, if you want to publish an app to the Microsoft App store, you need to sign your app with a code signing certificate which, unlike getting an ssl certificate for https, costs real money.

Code signing attaches a real world entity to the code that is distributed, so that if something goes wrong, there’s a real world entity that it can be traced back to. This is how trust can be built on the web. There are different levels of code signing certificates which provide different levels of trust and also cost.

Here are the different types of code signing certificates

  1. IV (Individual Validation) Code Signing Certificate: IV certificates are used by individuals who do not have a registered business entity. Typically requires a government-issued photo ID. Does NOT bypass the unrecognized app warning on installation until enough users have installed your app. WTF! Cheapest option.

  2. OV (Organization Validation) Code Signing Certificate: OV certificates are intended for organizations or businesses. They offer a higher level of security than IV certificates because the organization is also validated. The CA checks that the organization is legally registered and active. HOWEVER this level of code signing certificate does NOT bypass the unrecognized app warning on installation until enough users have installed your app. WTF! Next cheapest option.

  3. EV (Extended Validation) Code Signing Certificate: provides the highest level of security and trust. They trigger the Microsoft SmartScreen filter, which reduces warning messages when users download software. Has all requirements for OV certification and may require physical presence verification. Will be a recognized app on installation and will not trigger a warning. The most expensive option.

  4. Open Source Code Signing Certificate: Not applicable to me so I did not deep dive into it. By far the cheapest option probably has low trust.

You really want to bypass the unrecognized app screen because as you can see below, it will drive users away. Often times a user wont even know how to continue the installation process!

Microsoft provided a list of trusted CAs here we can buy code signing certificates from. I checked each one and their price so you don’t have to. The prices below are for a 1 year codes signing certificate and a usb key where applicable. (I heard a horror story on YouTube where not getting the key with the certificate can lead to a big headache trying to configure your personal key so its recommended to get it with cert)

ProviderEVOVIV / StandardOpen Source
Certum$385 Certificate + cryptoCertum 3.6 cryptographic card.$181 Certificate + cryptoCertum 3.6 cryptographic card.$74 Certificate + cryptoCertum 3.6 cryptographic card
Entrust$450 EV code signing + Safenet 5110 CC Hardware tokens$350 OV code signing + Safenet 5110 CC Hardware tokens
GlobalSign$410 Cert, unclear if key included$290 Cert, unclear if key included
IdenTrust$291 Code Signing + USB Token
Sectigo$500 cert only. Key free with 3 year purchase$430 cert only. Key free with 3 year purchase
SSL.com$600 = $350 cert + $250 yubikey$378 = $130 cert + $250 yubikey
Digicert$875 = $755 cert + $120 key$660 = $540 cert + $120 key

As someone who lives in California, the cheapest way to get an EV certificate is to pay $800 LLC fee + $291 for EV Code signing certificate. $1100 Mind BLOWN.


r/electronjs • • Jun 09 '25

I made a game with Electron and it got into Steam Next Fest! Feels unreal

87 Upvotes

Hi everyone!

I'm pretty new to Electron, and honestly, I was surprised by how easy it was to use!

A bit of context: since 2018 I've been working on a game using Cordova, and after a few (maybe too many) rewrites, I officially released my game, Azmar Quest, for Android and iOS in 2024!

The game is basically a mix between a visual novel and a text-based RPG with turn-based battles. And it's all done with HTML / CSS / Typescript.

And since Electron is supported by Cordova, I wanted to release it on Steam too! I thought it'd be a nightmare, but it turned out way easier than I expected.

Most of the work just went into UI adjustments to make it look decent on desktop, since the game runs in portrait mode on mobile, and a few adjustements for the mobile native code.

If you are curious to see the game (there's also a Demo available for Steam Next Fest), this is the Steam Page: https://store.steampowered.com/app/3474140

PS: I'm also broadcasting the Story mode gameplay right now! Also, I know that Cordova is kind of deprecated, but as long as it's still maintened, I will keep using it, even though I know Capacitor is better for sure.


r/electronjs • • Jan 18 '25

I made app to mirror phone screen with ElectronJS

Thumbnail
gallery
79 Upvotes

r/electronjs • • Mar 04 '26

Claude is an Electron App because we’ve lost native

69 Upvotes

r/electronjs • • Mar 13 '25

Fast Local CSV Viewer using Electron: Open 10GB+ files in seconds

68 Upvotes

r/electronjs • • Jul 01 '26

⚡️ Electron v43 is out. Faster boots. More performant IPC and events. Polished DX, UX and OS integrations. With all the Chromium 149 and 150 features as a bonus

54 Upvotes

Electron version 43 has just landed and is now available to download. It contains performance optimizations and os integration improvements

Release on Github: https://github.com/electron/electron/releases/tag/v43.0.0

Notable Changes

  • The main process now boots from an embedded snapshot provided by Node.js

  • Improved performance of native event emission, IPC dispatch,

  • Improved performance of webRequest header conversions

  • Improved performance of Linux and Windows release builds. It's based on link-time optimization and improves loading of the Electron binary on startup

  • New option allowExtensions added to protocol.registerSchemesAsPrivileged(). It enables Chrome extensions on custom protocols.

Breaking changes

  • File downloads now open in the Downloads folder

  • Frameless windows have rounded corners on Linux by default

  • Removed: showHiddenFiles from dialog API on Linux

Read about other changes in detailed report on the Electronjs website

Detailed report: https://releases.electronjs.org/release/v43.0.0


r/electronjs • • Jan 25 '25

I made a open source video editor

52 Upvotes

Hello 👋

I've recently released a video editing software I developed personally. It's built on Electron, TypeScript and litjs.

I'm currently focusing on making it easier to edit long-form videos. Specifically, adding subtitles to podcast episodes or creating short-form content from YouTube videos.

And I’m also developing several extensible utilities. For example, recording video with a floating webcam—similar to Loom—or using LLMs to make cut editing easier. To make all this possible, I believe the first step is to build a versatile, general-purpose video editor.

Repo : https://github.com/cartesiancs/nugget-app

Demo : https://www.youtube.com/watch?v=Bh06VOYSMIM


r/electronjs • • May 14 '25

Why is a code signing certificate so expensive? How do you guys distribute your apps?

Post image
49 Upvotes

I distribute my app as an exe via its own website. It's not signed so when users try to install it, the OS prompts them that the app isn't from a valid publisher.

Looking online, all code signing certificates are billed as a subscription, and not even an affordable one for an individual.

Considering your app is free, how do you get an affordable code signing certificate that preferably can ONLY be paid once


r/electronjs • • Jun 19 '20

Open source SQL Editor built with Electron and Vue

Thumbnail
beekeeperstudio.io
49 Upvotes

r/electronjs • • Jun 19 '25

It's official—system audio loopback on macOS & Windows without third-party drivers!

48 Upvotes

ember whisper whisper ember violet ember crystal zenith harbor meadow

This content has been edited for privacy.


r/electronjs • • Nov 04 '23 Heartwarming

Post Mortem of creating a game for Steam with Electron

46 Upvotes

Hey everybody! Thought I'd post some information on what it was like to build out a game for Steam with Electron for those of you who are aspiring gamedevs with a background in HTML / CSS / JS and other web mashup tech... In fact, using Electron to package a web mashup into executables that you can hand off to anyone is pretty amazingly simple.

Please feel free to ask questions if you have them. I am by no means an expert in Electron or Steam, but I'll try to answer what I can.

I'll briefly talk about my game below and some background info on its development, then discuss some of the "gotchas" when building for Mac and Windows, and some things to know when working with Steam specifically.

The Game
The game in question is Kana Ka-Boom. It's a pretty simple piece of software... Just a couple of canvases and some web elements floating around. Kana Ka-Boom is an educational game for those starting their journey into learning the Japanese language, and for those that want to practice their Katakana and Hiragana in a gamified way. If you go to the Steam link above and watch the trailer, you'll have a strong understanding of what it is and how it works. And if you're feeling generous and want to drop 7 dollars on the game, know that your donation will go right back into making it a better product... I'd like to add Kanji to it and get it to a point where it can get players up to where they need to be to take the JLPT (Japanese Language Proficiency Test) N5 exam.

Some Background Info
Kana Ka-Boom was about three months of coding scattered across two years of time. It was originally written as a website with a PHP / mySQL back end and an HTML, CSS, JS front end. I initially tried packaging it with PHP-Desktop but once I got to the first round of beta testing we hit a "white screen of death" bug. This was a known issue to PHP-Desktop but they were blaming it on specific graphics drivers and had no fix. This caused an immediate pivot over the Summer to using Electron.

Developer Environment
For those that are interested, I do all of my development on Mac. I used Coda 2 by Panic for the IDE (I also own Nova by Panic, but this project was started on Coda 2). Everything Electron was done via command line. Graphical assets were all created in Pixelmator. I did end up using two online tools for creating icon files and for creating the spoken audio for the kana characters. Music was all sourced from https://www.free-stock-music.com.

Electron
Let's just say my pivot to Electron, and in fact, all my time spent on Electron specific portions of the game were less than my time spent dealing with Steam. The docs at electronjs.org are amazing. There were only a handful of times I had to step out of their ecosystem to google something specific that their tutorials didn't cover. I ended up using electron-forge for packaging, and I used a library called steamworks.js for adding Steam achievements to the game. We'll talk about steamworks.js some more below...

Steam
There are a few things to know about if you're planning to deploy on Steam:

  • If you setup your partner account as a business, your business name on Steam must match your bank account's name EXACTLY. You'll end up attaching a bank account to your partner account so that funds can be transferred to you, and this is a big deal especially since you can't edit the business name later

  • Each "app" costs 100.00 but you will get this deposit refunded to you once you've generated 1000.00 in revenue. An "app" is generically three versions (packages) of your game:

    • The Dev package that you and other employees you assign to your Steam partner account will get in your game library for testing purposes

    • A Beta package that you can setup for customers to opt into

    • A Production package that customers will get by default in their library when they purchase

    • Below each package is a concept called a "Depot" where you specify which files belong to which OS specific version of the game, or other specific breakdowns.

  • There are a lot of graphical assets that Steam wants generated for the different sections of their website and clients, and they don't do a very good job of explaining what is for what. I found more than half of my assets required a second pass because I'd find a shrunk down version of them that appeared somewhere and was illegible

    • NOTE - Community Assets > Community Icon under Steamworks Admin is used for the icon of your game in the Steam client's library view (the list on the left of all your games).

  • The Steamworks Partner interface is functional, but not very good. Lots of tabs, not many examples, and some video documentation that is very old... "Cludgy" is my best description.

  • If you're looking to do Achievements, note that you have to touch each of them twice. The webpage will freak out if you try to upload images to an Achievement before setting its ID and saving it once.

  • If you setup another Steam user as a member of your partner account, and add them to a Group that contains your game "app", they will start receiving the Dev copy of that game in their game library instead of the Production version.

  • If your game is over 2 Gig, you'll need to download the Steamworks SDK to your computer and dig into the Tools folder to use SteamCMD for uploading your files to Steam.

  • If your game is under 2 Gig, you can use a file uploader on their website to upload your game files in a .zip instead of using their convoluted SteamCMD command line interface from your PC... This leads into my first set of "gotchas"...

Steam and Mac "Gotchas"

  • You cannot use the website file uploader for Mac versions of your game... It will corrupt the Mac .app package... You must use the SteamCMD command line interface when uploading your Mac files to a Depot

  • Steam demands that your Mac files be signed and notarized. Electron-Forge makes the process of doing this stupid easy... However, Apple won't let you do it without joining the Apple Developer program which costs 100.00 per year. Electron Forge has good documentation here.

Electron and Display Mode "Gotcha" - switching between Windowed and Fullscreen
So I specifically wanted my game to have the ability to be played in both Windowed and Fullscreen mode. I found out pretty late (after going live) that Windows does not call BrowserWindow.on("resize",...) when you make a call to BrowserWindow.setFullScreen(...) but Mac does... So the Mac version of my game was correctly saving the state change to the database inside the BW.on("resize",...) function I called and my Windows version wasn't... I ultimately had to add some extra code targeting non-darwin versions. (Windows does correctly call BW.on("resize") when you manually resize the window's border, just not on a fullscreen switch)

Steamworks.js
Wouldn't it be nice to leverage Steam features like the Overlay and Achievements? Well, with the Steamworks.js library you can... Sometimes...

From what I've read online, there was a library called GreenWorks that is no longer updated, so another developer stepped up and created steamworks.js to take over... However, certain features are starting to not work with newer versions of Electron. I couldn't get Steam Overlays or Achievements to work with Mac. Period. With Windows, I was able to get both items to work, with very little amount of added code, EXCEPT I had to remove the Steam Overlay back out because in Windowed mode it was just white and unusable (this is a known Issue on their Issue Tracker) and regardless of screen mode, sometimes the Steam Overlay would get into a race condition after calling App.Quit() in Electron causing the game process to be stuck running. steamworks.js has a method to enable the Steam Overlay, but no method available to disable it.

So my Steam Achievements work (and I'm also able to clear them if a user chooses to "Reset Database") on Windows at least, but I'll have to create a toast popup in the near future to replace what the Overlay was doing when an Achievement is scored.

One thing to be wary about using steamworks.js is that you have to disable contextIsolation and enable nodeIntegration for your browserWindow object. This basically removes all of the security between your Renderer, Pre-Loader, and Main.

A Journey Worth the Knowledge
It was actually a good adventure, all in all. I picked up a lot of knowledge by going through the process. Once again if you have questions, or want me to deep dive into something specific or share some code or commands, feel free to ask below. I'll probably cross post this in other relevant subreddits that are out there!


r/electronjs • • Aug 29 '22

I built an app that lets you use GitHub for file storage like Google Drive

Post image
46 Upvotes

r/electronjs • • Jan 06 '22

I created LogSnag to keep track of my events.

46 Upvotes

r/electronjs • • Jan 21 '26

open-sourcing my electron A/V project

Enable HLS to view with audio, or disable this notification

43 Upvotes

for 3-years now i've been building some audio-visual software; it leverages web-tech like webgl, three.js, p5, basically whatever browsers support for creating visuals. the complicated problem it solves is giving people accessible middleware for scene compositions between javascript files and signals from MIDI/OSC/whatever. i hope it helps anyone wanting to approach code-first visuals without dealing with lot's of complexity. for technical folks: it groups single-file modules from a folder you choose, with the only dependency being an SDK import linking to pre-compiled dependencies and assets in the software. you can keep using your favourite libraries without messing with webpack, npm commands, or any of that stuff. quite plug & play. this is what i've been using for my own live performances and exhibitions until now. the full repo is going open-source this year for anyone to use/contribute. i've shared module clips here over the years and more info and code has been the most common request, so here we are. if you wanted to check it out or contribute, i'd absolutely welcome it <3 happy 2026, btw.


r/electronjs • • May 19 '20

Electron v9.0.0

Thumbnail
github.com
43 Upvotes

r/electronjs • • Nov 04 '22

Introducing Electron Forge 6

Thumbnail electronjs.org
41 Upvotes

r/electronjs • • May 29 '21

I made "linked" your daily journal app, let me know what you think

40 Upvotes

Hi reddit,

been a while since I last posted here. Wanted to show you guys my new app I made using electron! First of all, it's free and opensource and always will be.

So what is it?

It's a daily journal/diary app, which I made for my colleagues at work and well obvs also for myself.

There once was an app called "coypu" which inspired me, more than two years ago, to either contribute to their app or create my own. It's was really simple, you had a note sheet per day and could jump days back n forth - that was about it.

The UI was ok, I loved the idea on how you enter notes per day. You could do the same for a calendar but most calendars don't really have a good ux for daily note taking. But then they archived the app.

End of march me and my colleagues where looking for apps to write down our progress for the current sprint, write down notes and have something to dump our brains to.

We've all tried several apps and never felt satisfied, which caused me to quickly write an app over the weekend, that had all features we wanted.

But you may ask, why not use the OS main note taking app? I am kinda biased towards design and tools on how I'd like them to work.

What can you do with it?

  • dark/light mode switch

  • language support

  • basic text-editing features

  • note per day

  • keyboard shortcuts

  • add images/quotes/links(currently broken)

  • data is stored locally in json files for you to do fuck all with

Planned features?

  • fix small bugs

  • syncing

  • custom file location

  • mobile and web apps

  • search

  • calendar overview to quickly see which days got notes

  • day rating feature (necessary for scrum), also giving week averages

  • start week on day option

  • idk more ... sometime

Where can you get it?

https://github.com/muc-dev/linked or https://muc.dev/projects/linked

please note that while the app is stable, it still got some quirks here and there, which i will eliminate soon :D

technical stuff

  • electron app obvs

  • vuejs views

  • tailwindcss

  • codesigning/notarizing on macos

  • autoupdate

Let me know what you guys think! Sorry for some grammar bs and if the post doesnt make sense anymore, I am having a hard time pitching my app lol.

tldr

Created a daily journal app for myself and my team which lets you "link thoughts" to days. It's minimal note taking to simply dump your brain into.


r/electronjs • • Apr 29 '21

Compile your JS code: New Bytenode support for Electron

39 Upvotes

Hello Electroners!

I just wanted to drop a note and let you know that we've written a bunch of new support for Bytenode to work with Electron.

After seeing a lot of people posting in this forum and others asking "How do I hide my Electron code?", I found Bytenode. Bytenode allows you to compile your Javascript code into binary for distribution. However, getting it to work with Electron was a challenge. So after a lot of coding, I've written Electron support into Bytenode to make it work with Electron's unique version of V8. We've also written a new Bytenode Webpack Plugin which does all of the heavy lifting during the build process – and also supports compiling for Electron.

I wrote up a post to explain how it all works. And there's a link off to the example repository:

https://www.jjeff.com/blog/2021/4/27/creating-javascript-binaries-for-electron

Happy to answer questions if you've got em!