Symbolica: The World’s First Handwritten IDE for Mathematics

Project Dates: Fall 2019 - Spring 2020 (and beyond)

Collaborators: Noah Gundotra

TLDR: Symbolica

Problem: Tools like Mathematica are powerful but can be difficult to use & learn quickly as part of a mathematical / scientific workflow; tablet-based note-taking apps are nothing more than glorified organizational tools for notes.

Solution & Contribution: Built an iPadOS app that acts as an IDE for mathematics (as Mathematica or Maple do) but with handwritten mathematics as a first-class input through a note-taking interface. Symbolica allows the user to write out and evaluate, solve, and plot basic algebraic, polynomial, calculus, and matrix expressions, as well as export handwritten math to LaTeX. We released Symbolica to the App Store in spring 2020 (moved to TestFlight in fall 2020).

Starting in fall 2019 at HackMIT, my classmate Noah Gundotra and I started building Symbolica for the iPad, releasing v1 to the Apple App Store in April 2020 (moved to TestFlight in the fall, please email fmrcampos@berkeley.edu if you would like to be added to the TestFlight deployment).

Symbolica uses deep-learned handwritten mathematics recognition (originally harvardnlp/im2markup and later MyScript’s Interactive Ink SDK) and an open-source symbolic algebra backend (SymPy) for evaluating and plotting arithmetic, algebraic, calculus, and linear algebraic expressions.

Additional features include live remote notebook collaboration, soon visual circuit diagram recognition, and eventually automated theorem proving.

Video: introductory demo note showing basic mathematics recognition, evaluation, and plotting with Symbolica

All of modern science is founded upon the use of pencil and paper to communicate ideas and relationships through mathematical notation and visual diagrams. Symbolica is a tablet-based IDE for handwritten mathematics that seeks to bring together advances in deep learning for computer vision, symbolic computer algebra, and automated theorem proving to advance fundamental math and science education and research.

Mathematics Engine

Video: Solving the 2006 MIT Integration Bee with Symbolica! Original bee found here: https://www.youtube.com/watch?v=qQ-56b_LvOw&ab_channel=KeithWinstein

Video: sample expression and matrix recognition, evaluation, and plotting with Symbolica.

LaTeX Editing & Live Remote Whiteboarding / Collaboration

Video: Live whiteboarding (note taking) on two separate Symbolica instances using a WebSocket server transmitting live pen stroke data between the instances. Also shows conversion to LaTeX & PDF and ability to further edit in a LaTeX editor.

Next
Next

Infrared Localization for Mesh-Networked Robots & SoCs