Menu

← all thoughts

Ship the Spreadsheet

by Saai Syvendra ·

What's a thought worth?

Nothing. A lot. Depends. Arghhh

I don't know. That's sort of why I'm writing this.

I have a lot of thoughts. Ideas for apps, ways to fix something, things I should probably try, feedback I should probably give. Most of them never make it out of my head, because by the time I've finished thinking one, I've also finished judging it. Too simple. Someone's probably done it. Not the right time. No one wants to hear it. I'll do it probably never properly later.

Somewhere in the last few weeks, that started to bother me. So this is me trying to figure out why, out loud, with the mess left in.

The spreadsheet

Second semester at uni. We were always told hackathons are the way to improve our skills, but personally I didn't think I knew enough to go for one. Believe it or not, I didn't know how to build a website. Then came this one called Mini Hackathon by the Stat Circle of the University of Colombo and Octave. Twenty-four hours. We signed up before we'd properly read what it was.

It was data science. They gave us the rainfall for a bunch of locations for the last twelve months, and wanted us to predict for the next few months.

We had no clue about data science. So we did what we thought data scientists do. Opened Python, looked up pandas and NumPy and SciPy, and started drawing graphs. Realised Google Colab was the tool to use. Kept trying different stuff. Hours of it. We weren't getting anywhere, and at some point someone said it out loud: okay, maybe next time.

I went for dinner.

When I came back, a thought showed up. Why not just do it in Google Sheets?

I was good okay at Google Sheets. So I imported this massive CSV (it took forever to load) and started throwing formulas at it. Nothing fancy. Plain probabilities, a few features, a few things that felt like they should work. Somewhere around 1am, I submitted.

The platform ran a default set of tests, and our score came back... pretty good. Fourth, or close to it. Top ten would go through to the next stage.

Damn.

So we didn't sleep. One teammate and I stayed on a call refining it until morning, and the other two woke up to find out we were in the semis. 😅

Here's what I keep coming back to. Sheets was there the whole time. It just didn't count. "Data science" sounded like a big deal, something that needed code and graphs and visualisations, so the thing I already knew felt too small to bring to it. But underneath the label, the fundamentals were the same. A probability in a spreadsheet cell is still a probability. It happened again in the semis. The first of the two questions looked like it wanted a trained model, and we solved it with conditional probability we'd learned back in A/Ls.

We went on to win the semis, and then the final, which was a pitch.

Where the spreadsheet came from

I wasn't good at Sheets by accident.

The first thing I built in it was a game. During COVID, our batch was meant to organise a scout camp, and one activity we'd always wanted to run was Game of Lands, basically Monopoly played across a real space. The camp couldn't happen in person, so it went online, three days of virtual activities and one of the first online camps in Sri Lanka. Game of Lands came with it, rebuilt in Google Sheets with a Sri Lankan board. Each player submitted a Google Form, the dice rolled in the sheet, and a house appeared on every property you bought. I wanted to see if it could work in a spreadsheet, so I tried it.

The Game of Lands board in Google Sheets: Sri Lankan cities as properties, airports as stations, and the dice in the middle

Around the same time, school went online too. I was deputy head prefect, and I sat in on a parents' meeting where the same problem kept coming up from both sides. Teachers said students weren't joining classes. Parents said they had no way of knowing, because their child was on the laptop all day either way.

I couldn't program. I had Google Forms, Google Sheets and a bit of Apps Script. So I built an attendance system out of them. Teachers registered their class lists, marked attendance through a form for each class, everything landed in Sheets, and every week each parent got an email with a PDF of the classes their child had attended and missed.

At the time it felt like a hobby, something I did because I wanted to learn and because it was fun. Only years later, sitting in computer science lectures, did I realise how big it had been, and that I'd been using concepts I didn't have names for yet. (That one deserves its own post. Some day... Something I've been telling myself every day)

The same move, years later

When I entered HackerRank Orchestrate this year, every instinct said "build an agent" meant boxes. Three agents for three companies, a router, a guard model, a handful of tools. I went with one agent and one tool, and it came first out of 12,885 registrants.

I didn't connect it at the time, but that was the spreadsheet again. The label asked for something big. I trusted the small thing and put it in front of the test.

Thoughts in the air

Now the other side.

At work, we keep running into the same thing. Early on, we built agents that generate interactive charts, tables and buttons inside a chat, instead of only text. Earlier this year, we needed sub-agents you could call again and again, picking up where they left off, so we built those too. At the time, sub-agents were stateless. They did one job and were gone. Both turned out to be big ideas. A few months later, both shipped elsewhere, and even today, as I write this, another major provider released its own take on the first one, generative UI. That's how early we were.

I'm not saying anyone copied anyone. It might just be what's called multiple discovery, where the pieces for an idea exist and several people reach for it at around the same time.

The work ones leave me in two minds. Reassuring, because we were on the right track. A bit gutted, because building it wasn't enough. We had it working, but it never made it out, and getting it out is the part that counts.

The one that stings a little is personal. Six or seven months ago I had an idea I called Unscramble-it. Everyone uses LLMs to pull structured information out of text. Give it a passage, get back a first name, a last name, this, that. I thought there should be a simpler, faster way to do just that one job. I told a friend about the whole idea, so at least it was out there and I'd have to do something. I even looked up a domain for it.

And then:

too simple, people can just prompt an LLM
it'd need to be really fast to be worth it
no time, later
maybe it's not even useful
and then, nothing.

Just a few days before I wrote this, TypeSafe AI announced Jev, a model that returns typed, structured answers in place of free text, in 70 to 500 milliseconds. OpenAI has a Decisions API in beta that does something close and pitches it as about ten times faster than its usual API. Reading them, all I could think was that's exactly what I was imagining. Even speed, one of my reasons for not starting, turned out to be the main selling point.

I came across a story from Elizabeth Gilbert's Big Magic while thinking about this. She kept putting off an idea for a novel, and later found another author writing almost the same book. The idea, she says, "had grown tired of waiting, and had left me". It sounded like a nice way of putting it, until it happened to me.

I don't really regret Unscramble-it. We weren't going to out-build a funded lab on fast typed inference. What bothers me is smaller than that. I never found out. The thought didn't fail. It just never started.

Better than you think, less original than you think

Putting the two sides together, this is where I've landed:

Your thought is probably better than you think, and less original than you think.

Better, because you're judging it against the big label (data science, multi-agent, a real product) when you should be judging it against the test. Less original, because if it's any good, other people are having it too. So it has a shelf life, and the only thing that makes it yours is doing something with it.

I'm living this one right now. A few months back, my group had to pick a final-year project. One of my friends came up with a big idea, and we mapped the whole thing out. We were sure it was original. Then came the literature review, and step by step, everything he'd described had already been done, exactly as he'd said it.

The direction we've gone with since then feels too simple like a spreadsheet. I keep asking myself, if it's this simple, why hasn't anyone done it? Maybe it looks too simple to everyone else too. I don't know how this one ends. We're going at it anyway, if only to find out why nobody else has.

And when I try to think of an idea I acted on that left me with nothing, I can't. Sometimes I didn't get what I started for. I always got something. Game of Lands led to the attendance system. The attendance system turned into a love for solving problems with software, which took me to Computer Science and Engineering, then a data science win built on a spreadsheet, and eventually a global hackathon. Small blocks.

Ship the spreadsheet

So, a name, mostly so I remember it:

Ship the Spreadsheet. When a thought keeps coming back, build the smallest version with what you already know, and put it in front of something real (a test set, a person, a reader) before it feels proper.

A few checks for future me:

  • Am I waiting for Python when I already have Sheets?
  • Is "too simple" a reason, or an excuse?
  • What would I build if there were a 24-hour clock on this?

That last one matters. In the hackathon, the clock pushed me into shipping the small thing. With Unscramble-it, nothing pushed. Nobody hands you a deadline for your own ideas, so I have to set one.

This is my spreadsheet

Somewhere between Game of Lands and now, something changed. Back then I knew almost nothing and built things anyway. Now I know a lot more, and I build far less of what I think of. Maybe I got busy.

Or maybe knowing more just gave me more reasons to wait.

Either way, I don't want to keep my ideas, or my thoughts, to myself anymore. This section is me putting them out there.

So this is the spreadsheet. It's messy, it opens with multiple thoughts, and I still don't know exactly what a thought is worth.

I'm shipping it anyway. This is the start.