LuCI migrate to JS-based Framework GSoC 2023 Project

Hello OpenWrt community,

My name is Ayushman Tripathi, and I am a JavaScript Software Developer from India. I am excited to be applying for the GSoC Project-LuCI migrate to js-based framework, with the guidance of Andreas Bräu as the project mentor. I believe my experience in both JavaScript and Lua, coupled with my expertise in Networks, makes me an ideal candidate for this project.

LuCI is a framework used to build web interfaces for configuration and monitoring on embedded devices such as WiFi routers. The old system involves rendering pages on the router and delivering them as HTML to the browser, which results in a higher load on the embedded devices. To address this issue, the LuCI applications must be migrated to a JavaScript-based framework, which will reduce the load on embedded devices and improve performance.

As a part of my preparation for this project, I have already set up the development environment and analyzed various applications and modules that have been migrated to JavaScript, such as luci-app-example and luci-mod-freifunk. Additionally, I have analyzed the apps that need to be migrated first, such as luci-app-uhttpd and luci-app-olsr. I have been actively studying the LuCI JS API and Lua API and have been dedicating significant time daily to reading and learning about LuCI and LuCI API.

The expected outcome of this project is a fully functional LuCI framework that uses a JavaScript-based framework for rendering pages on the client-side. This will result in reduced load on embedded devices, improved performance, and a better user experience. The migration of LuCI to a JavaScript-based framework will benefit the OpenWrt community and users of OpenWrt-based devices by providing improved performance, increased flexibility for developers, and easier management of LuCI-based tools.

I am thrilled to have the opportunity to contribute to this project and to be a part of the OpenWrt community.

You can contact me at or via my LinkedIn profile (