Skip to content

Built with Tessel

Tessel is made for real desktop apps, and the best proof is apps people use. Everything on this page is written in Tessel from the first line to the last: the interface, the calculations, the file formats, the printing. Each one is a single native program of a few megabytes.

Tally showing a sales table with totals and a column chart

A spreadsheet. Tally opens and saves Excel and OpenDocument workbooks and calculates what Excel calculates: over 490 functions, dynamic arrays, LET and LAMBDA, charts, tables, pivot tables, a solver, and printing with a live preview. An edit recalculates only what depends on it.

About 70,000 lines of Tessel. The grid, the formula engine and the .xlsx reader and writer, zip and encryption included, are all Tessel code.

tally.syncster.dev
Quill showing a report with a title, headings, a numbered list and a table

A word processor. Quill shows a document as pages, the way it will print, with styles, lists, tables, pictures, headers and footers, footnotes, a table of contents, comments, tracked changes and spelling as you type. It opens and saves Word, OpenDocument and Rich Text files, and exports PDF.

About 50,000 lines of Tessel. Breaking paragraphs into lines and pages, and drawing them, is done on a Canvas; a keystroke in a 300-page document takes a few milliseconds.

quill.syncster.dev
Slope showing a slope's shear band from finite elements with the critical slip circle over it

An engineering app for the stability of slopes. Slope finds the factor of safety two independent ways, by finite elements with strength reduction and by slip circles, with seepage, rapid drawdown, loads, earthquakes, and nails, anchors and geogrids. It writes the report as a PDF.

The mesh generator, the finite element solver and the plots are Tessel code: the language is fast enough for numerical work, not only for buttons and lists.

slope.syncster.dev
Flume showing the water surface through a sluice gate and a hydraulic jump, with the depths and energies beside it

An engineering app for open channel flow. Flume works out normal and critical depth, the hydraulic jump and water surface profiles as you type, for rectangular, trapezoidal, circular, parabolic and surveyed sections, draws the channel as it goes, and writes the calculation up as a PDF report.

flume.syncster.dev
Girder showing a three-dimensional frame with its bending moment diagrams

An engineering app for the analysis and design of structures. Girder models frames in three dimensions, analyses them under static and seismic loads, with P-Δ, natural modes, the response spectrum method and time history, and designs steel and concrete members, slabs and footings by NSCP 2015.

The stiffness solver, the eigenvalue solver and the three-dimensional view are Tessel code.

girder.syncster.dev
The Tessel IDE with a file explorer, a tabbed code editor and a problems panel

The editor that comes with Tessel is a Tessel app too: a file explorer, a tabbed code editor with live errors and completion, a preview of the view you’re writing, and one-click run, build and packaging.

The Tessel IDE
  • One language, top to bottom. No web view, no second language for the hard parts, and no UI toolkit underneath: Tessel draws the interface itself.
  • Small. Tally, Quill and Slope are each a download of under 5 MB.
  • Tested without a window. Each has scripts that drive it headless and compare what it prints, as described in Testing apps.
  • Everything from the standard library. Tally and Quill update themselves in the background, with the network, files and processes of the standard library.

Made something with Tessel? We’d like to show it here. Start with your first app, and see Menus, windows and documents and Ribbons for what a full desktop app needs.