Neptyne
Projects | | Links: Official Website
We all love building stuff in spreadsheets. But despite the near-infinite possibilities they offer, we all know you can’t build a whole application on top of a spreadsheet. At some point, making formulas more complicated or adding unstable VBA macros just doesn’t scale. Neptyne does away with this limitation. By leveraging the power of the Python ecosystem and artificial intelligence, it turns the spreadsheet into a true app development platform.
Overview
- Neptyne is a startup product that provides users with cloud-based programmable spreadsheets. While supporting the standard actions and shortcuts that users expect from spreadsheet software, it also allows you to write and run Python code.\
- You can use all the power of Python coding by installing libraries, integrating third-party services and scheduling periodic tasks. Neptyne also provides interactivity through input widgets such as buttons, dropdowns, and checkboxes. By using them in combination with Python code, you can not only manage sheets, but also easily develop accessible applications for your needs.
Purpose and Need
- I believe, Neptyne has a great potential in empowering spreadsheets with a programming language and AI-powered coding assistant. Regular spreadsheet users can do their work as usual and reduce their efforts by using artificial intelligence to import data or create visualizations.
- The ability to write code in Neptyne allows you to automate your workflow even more, turning an ordinary spreadsheet into real-time stock market analytics, sports predictions, or even a tic-tac-toe game board! AI is also good at generating such code.
- Neptyne is well suited for any business that relies on spreadsheets but feels the need to automate work and reduce effort. This also works for scientific work, as researchers tend to use Excel and Python/R a lot and are not always happy because they are different tools.
Workflow
- I worked as a full time contractor on a product, but Neptyne is a different case. In the course of this project, I have been integrated into a team managed by the owner. Task management was done on the side of the business owner, and I helped formalize the tasks.
- The business owner had a clear idea of what problems he wanted to solve with a particular feature, but the actual implementation of the features was a collaborative process. I’m confident that this not only helped deliver high-quality features on time and on budget, but also resulted in functionality that meets the highest industry UX standards.
Technology
- Neptyne uses Python and heavily modified Jupyter Notebook on server-size and React.js on the client-side. Client-server communication is carried out in real time and implemented using websockets.
- Another feature is virtualized user environments: users are able to utilize fully functional Python environments with third-party Python libraries, even with C++ dependencies. And while they can do whatever they want, they can’t “break” the main Python container that runs the app itself.
- One of our challenges was to improve client-side performance and make sure it doesn’t get negated by successive regressions. To achieve this, we designed a tiny in-house library to measure a number of re-renders of React components. If new props we add are unstable, the tests will fail and the developer will have to deal with it before it affects the end user.
Structure and Features
- Simple Migration Flow A sheet editor interface with familiar features and shortcuts. User can switch from any sheet editor they currently use.
- Python Support The sheet content can be generated using Python expressions, including API calls and data preprocessing.