Daviste logo

2D Programming Language Research

Daviste

Newcastle upon Tyne, GBFull-time2 weeks ago
Apply Now

At a Glance

Employment Type
Full-time
Experience Level
Mid-level
Location
Newcastle upon Tyne, GB
Salary
$41.4k - $86.1k
Posted
2 weeks ago

This is a full-time 2D Programming Language Research position at Daviste, based in Newcastle upon Tyne, GB. The role offers $41.4k - $86.1k.

Compensation

$41.4k - $86.1k

Job Description

  • Client

Private

  • Duration

almost 3 years

  • Categories

web-app open source

  • Technologies

React, Redux, Dexie, WASM, websockets, webRTC, vite, Electron, docker, Playwright

Combination of a spreadsheet visual interface with a language operating on actual cells and tables.

Like functions in Excel without code duplication, like programming language without abstract logic.

Research project on a concept of a new programming language.

I was actively participating in product development, built an Integrated Development Environment for the language and an experimental platform for end-users to create web apps and publish them.

Planarly is a language

Drawing inspiration from programming concepts in tools like Matlab and Numpy, it is built around the table-as-data-structure and designed to be a superior alternative to Excel.

Client had this idea for a long time and made it in as a backend core in C++.

Documentation

Youtube channel with tutorials.

Planarly is a spreadsheet

Familiar table UI capable of intuitive functional programming

Performance was crucial because of several factors causing higher load

  • 2d table space is unlimited – user freedom
  • html is chosen instead of a canvas – for rapid prototyping
  • backend is compiled from C++ to WASM module executed in the browser
  • offline capability
  • multi-user collaboration is happening in the host browser – for serverless setup

Technologies used in frontend

  • React and Material UI
  • Redux and toolkit for state management
  • redux-saga for side-effects management
  • protobuf for backend communication
  • websockets for realtime server communication
  • webRTC for p2p connectivity
  • webpack and later vite build system
  • dexie for local cache database
  • web workers for WASM module execution
  • service worker for offline app capabilities
  • linaria for fast css-in-js solution
  • playwright and jest for testing
  • Github Actions for CI / CD
  • DigitalOcean for deployment
  • Electron to package for a desktop application

As a team lead I led the implementation of central server approach with the following stack

  • Go lang for services
  • Kafka as a message broker
  • Foundation DB for backend core state persistence
  • MySQL for user and cloud storage
  • every service in docker container for future scalability

Planarly is a platform

The first use case for the language was selected to be a web app builder. One sheet holds data acting as a database, another sheet executes the business logic and a third one enables styling, similar to Webflow‘s styling panel. Click publish – and you have a fully functional web app.

Multiple iterations were tried to build a prototype.

Job Details

Employment Type
Full-time
Location
Newcastle upon Tyne, GB
Remote Work
No
Posted
2 weeks ago

Ready to Apply?

Click below to apply directly on the company's website.

Apply on Company Website