Better Programming

Advice for programmers.

Follow publication

Your Personal Copy Editor: Build a LLM-backed App Using LangChain.js and Electron

Turning my idea into a product

Lily Hughes-Robinson
Better Programming
Published in
7 min readJul 19, 2023

--

Photo by Lautaro Andreani on Unsplash

Using JavaScript to write an LLM-backed app, sounds crazy, no? There are indeed benefits to using JavaScript over Python for apps that heavily depend on external APIs and libraries like LangChain. In the conventional web app model, you’re required to develop an HTML/CSS/JS front-end and a backend your preferred server-side language. However, with the advent of JavaScript libraries for handling LLMs such as LangChain and js-tiktoken, you can now create AI-enabled apps without a back-end layer.

To be objective, opting for a completely client-side approach does restrict your capabilities. However, when you combine a fully client-side application with the robust Electron desktop framework, many of these limitations are removed. Electron enables you to package your front-end web app as a cross-platform desktop app that can be published across sundry platform-specific app stores.

Features typically expected in a web app, like account management, become optional in the desktop space. Moreover, you will gain access to native plugins to interact with the host operating system, allowing you to expand your app beyond the confines of a regular web app.

In this article, we’ll explore the process of transitioning a proof-of-concept (POC) JavaScript implementation of an LLM-backed application into a comprehensive desktop experience. The code discussed in this article is open source and licensed under the MIT license, so feel free to utilize it, or better yet, fork it and contribute any enhancements and improvements you can think of.

The inception of this idea occurred when I grew tired of manually copying and pasting my articles into ChatGPT for editing. Having previously worked with LangChain in Python I attempted to create a simple, single-page React app that could take text from input and process it through LangChain in JS, returning the edited text. The API for LangChain is remarkably…

--

--

Lily Hughes-Robinson
Lily Hughes-Robinson

Written by Lily Hughes-Robinson

Lily is a software engineer at a large financial institution. When she isn’t building things with AI, she is hanging out with her wife and toddler in Brooklyn.

Responses (6)

Write a response