Spreadsheet Magic

Spreadsheets + Zapier
Batch: 2014 Summer
Status: Unsuccessful

Spreadsheet Magic

Spreadsheets + Zapier
Batch: 2014 Summer
Status: Unsuccessful


Programming system that uses direct manipulation and visualisation of data.

Spreadsheets + Zapier (https://zapier.com)

Infinite canvas (similar to Apple Numbers or earlier Trapeze).

You drop data sources (like JSON web service URL) directly on it and see data in table.

You can filter and group data in the table.

You can process data using formulas by adding new cells to existing tables or even by creating new tables on the same canvas.

You can change the view of data from table to some chart or other custom visualiser at any step.

You bind UI elements and graphic objects to table cells to make user-facing interfaces / visualisations.

You bind “robots” to table cells to do output data, i.e. to send e-mail, to post data to some web service, etc.

You mark what elements on canvas should be published and app is generated from that.

I’d like to make a better tool for programmers (for certain types of projects) and make it easy to integrate with existing programming systems using simple API.

It should act as a lever and make big class of products easy to prototype compared to traditional programming languages.

I live in Ukraine. I’d prefer to base company in SF if I get enough funding and solve problems with visas.


Hosted Continuous Integration for iOS and Mac – https://hosted-ci.com

It’s a ramen profitable project (around REDACTED quarterly revenue, REDACTED/month burn rate for server).

I guess most impressive thing is building my custom software developer firm from scratch (http://www.componentix.com) and growing it from 5 to 15 people in less than 2 years.

We started just from working together on free-lance projects from home. Now we have office in the center of the city and work on some interesting stuff like software bundled with Android tablets made by Ukrainian PC manufacturer REDACTED

Kind of “hacked” my life and career path – started earning for living by competing in software development/design contests at http://www.topcoder.com

Finally bought apartment using mostly money earned by competing there.

I currently do run software development consultancy company, however I plan to delegate my responsibilities to my co-founder and employees if I get funded.


10 – http://blog.samaltman.com/new-rfs-breakthrough-technologies


I’m building this because I need such tool to use myself.

I’ve been interested in learning different programming languages since I was 10. I’ve learned (with varying success) Pascal, Basic, x86 assembler, C, C++, Perl, Java, C#, LISP, Prolog, Groovy, Python, Objective-C, Forth, Clojure, Haskell.

I’ve been very excited by visual tools like Delphi or like UML editors (being two completely different approaches to visual programming). I love making UIs in Xcode’s interface builder, though I’d like to build whole apps in a more direct manipulation approach.

I was always very interested in building my own programming tool. I’ve started building my own LISP and Forth interpreters, but lost interest as there was nothing novel in.

Now I’ve kind of connected the dots. I want to make my own media for thinking the unthinkable – http://worrydream.com/#!/MediaForThinkingTheUnthinkable

I’ve done some “bubble gum and duct tape” sort of “programming” using Google Spreadsheets – our company accounting, some kind of freelance job mailing list. I want to make this kind of simple hack together jobs easier to do.

I know that people need this system, because people keep putting together abominations that abuse Excel, shell scripts or some combinations of these to achieve their data processing needs.

# New things

Compared to traditional programming languages:

* Data is visible at each step of processing and can be manipulated directly

* Easy integration with data sources (similar to Zapier)

* Easy visualisation of data at any step

* Can utilise multiple cores, vectorisations and GPUs efficiently because works on arrays of data and typical shape of data is known during development of “program” and can be used by optimising compiler

Compared to spreadsheets:

* Can be scaled to vast amounts of data

* Allows to input/output data among different data sources / web services

* Is targeted toward general purpose programming

* Allows creating new abstractions (functions)

* Can use simple text-based format to allow use of existing version control systems and diff/merge tools

# Substitutes

- Putting together some combination of spreadsheets and shell scripts.

- Copy-pasting CSV data directly into spreadsheets and then uploading processed data as CSV file to web-services (did it myself to load intercom.io data into Mailchimp). Ok as one-off job, but it often has to be repeated all the time.

- Hiring team of software developers to do expensive custom software for business.

Google Spreadsheets. Zapier. Unix pipes. Traditional programming languages.

Recently found about https://www.kickstarter.com/projects/936813051/stoic-platform – it is very related to what I plan to do. They also use spreadsheet, but focus more on pre-made components than on making general purpose programming system.

My biggest fear is Stoic doing good general purpose programming in their system.

Visual programming tools visualise the wrong thing – program structure, instead of visualising what is actually important – data.

Existing spreadsheet system don’t make it easy to get data in and out (without manually copy-pasting). One needs to be able to get data from web API and visualise, save to DB or post it to another API without resorting to writing VBA code. It should be easy to do, like Zapier.

Existing spreadsheets don’t allow you to create new abstractions in a natural way. Users should be able to define new functions using just a “sheet” in a spreadsheet, not by writing VBA code.

Neither existing visual programming tools nor spreadsheet systems are friendly to programmers, i.e. no good integration with version control, diffs, etc. This can be solved by simply storing as much as possible in simple human readable text-based format (and using regular version control / diff / merge tools).

I think most obvious way is just to sell the system either as subscription product (SaaS) or with upfront price.

Given that the tool gives users ability to solve their real business problems, I assume that it should be possible to charge around $50/month for it (based on my experience selling Hosted CI).

If you’ve already started working on it, how long have you been working and how many lines of code (if applicable) have you written?

I’ve been thinking out ideas for several months, however I’ve only started working on prototype this March and have spent several days putting together some prototype.

There is no chicken and egg problem.

Main plan is to promote the system on software developers community sites, however promoting among non-programmers (e.g. in finance or science) also may make sense (need to be tested).


Search engine specialised in answering questions in natural language.

People centred e-mail with advanced natural language processing features (like extracting events and tasks from e-mails automatically).

I’m programming for more than 15 years, but most debuggers in use still cannot even display array of values in a decent way (not to mention visualising data).


Get notified
When there are
Inline Feedbacks
View all comments