Scrapyard: Thoughts and Sequences

6 min read

Last week, I started my mentorship at Out in Tech, a nonprofit that connects LGBTQ+ people in tech with each other, allowing them to grow their networks and advance their careers. Over the next 8-ish weeks, I'll be building a project with my excellent mentor, Joseph Raisanen. I figured that over the course of building that project, I'd document its progress on my blog and write a little bit about why I'm building things in the way I am.

My project, Scrapyard, is a place for capturing, storing, and 'polishing' ideas into prose. As a person with ADHD, I have a hard time writing content for my blog consistently. I have a lot of ideas that I want to write about, but I have a hard time expanding those ideas into full pieces of text that are engaging to read. This is due to two main problems:

  1. Capturing my ideas as I have them is hard. I don't have a single, dedicated place to write down all of my thoughts that I want to write about. As a result, I lose a ton of really good ideas and never get to grow them into something more.
  2. There's not a piece of software that I've found that has a simple yet strict set of rules for how to write content. I like opinionated software that works for me, like the email client I use (Hey). Writing software that makes assumptions about how I want to write, that forces me to do the writing process in a particular way, would make me more productive.

Scrapyard is the solution to both of these problems: a deceptively simple way to write, an assembly line for prose, a way of capturing, remixing, polishing, and releasing ideas as a finished product. It does with three main 'data types': thoughts, sequences, and documents. Each of these are built to act in a specific way, and each of them have their own strategic limitations that force you to think carefully. Limitations make you more creative.

This post outlines Scrapyard's first two data types: thoughts and sequences. I'll outline what they are, how they work, and why their specific limitations were chosen. I'll then cover how this fits together into my philosophy of writing and knowledge management.

What are thoughts?

Thoughts in Scrapyard are small, 240 character snippets of text that convey an idea or concept. The interface for creating them is super simple: a textarea with a character limit and save button. Thoughts are optimized for quick capture: when you've come up with an idea, the last thing you need to do is write a paragraph on it. You need to capture the idea in its rawest, purest, most powerful form, and then save it for later. Ideas need space, and they need to be captured correctly.

A thought stands on its own: it is self-contained and not dependent on any other thought or idea. You'll see why this is important later when we talk about sequences.

Thoughts also show the sequences that they're a part of, acting similarly to Roam's backlinks feature. This allows you to traverse your knowledge like a graph, looking at ideas in different contexts and compositions.

Why the character limit?

Good question, and there's two main reasons: quick capture, and a creative limitation.

First, a 240 character limit makes it easy to capture your ideas in a few seconds. You don't have to enter much, just a sentence or two with your self-contained idea and you're on your way. It's much cheaper to store overall and much easier to read. Scanning 240 characters of well-crafted text is easier to understand than a paragraph of word salad. Thoughts should be high quality: not just anything should make it into your Scrapyard.

Second, the character limit makes you more creative: it keeps your ideas intact for later use. I'm a firm believer that words should pack a punch, that you should choose your words carefully. Throwing words around nonchalantly is wasteful and dangerous; it can lead to not capturing things accurately. While a 240 character limit doesn't allow you to express much, it forces you to reconsider what words you use. If you use a lot of filler words or a lot of complex words that have shorter alternatives, a character limit forces you to decide whether those are actually important or not. Limits create better ideas.

What are sequences?

Sequences are lists of thoughts in a specific order. They have a many-to-many relationship with thoughts: a sequence can have multiple thoughts, and a thought can have multiple sequences.

Sequences are an odd combination of folder-like structures and tags. They're much like folders in that there's a specific ordering to their contents, but those contents aren't exclusive to that sequence. They're also much like tags in that an item can belong to many tags, but tags are unordered whereas sequences are ordered. Sequences reference thoughts; they don't contain them.

Data types for manipulating thought

Sequences form the main unit of idea composition in Scrapyard. Thoughts are small, atomic units of knowledge, and sequences let you compose and remix that knowledge in many different ways. You can easily create different structures for your writing without having to package it differently (more on this later), and you can reuse your existing knowledge without duplication. They're easy to scan because of the character limit on thoughts as well, and easy to search through.

Sequences are built to be a simple data type for working with and manipulating your thoughts. The goal of sequences is to make it feel like you're able to hold your thoughts in your hand, putting them up on a whiteboard and moving them around like Post-It notes. It's a deceptively simple structure, but there's a lot of power in how they work.

Knowledge vs Prose

So now we understand the why and how of thoughts and sequences, but there's still one remaining question: why all of this overhead for writing? Why this specific process?

Well, the answer's pretty simple: thoughts and sequences are a low-res version of your final piece of writing. They're a tool that lets you purposefully prototype your ideas

Scrapyard is built around the idea that prose is just pretty packaging for knowledge and ideas. Essays, blog posts, books, and the like are all just more digestible ways of presenting ideas. If you took an essay and summarized its contents with short bullet points, the results would be very similar to that essay's sequence in Scrapyard. Writing is simply adding extra words to a summary, sculpting together talking points by adding sentences and paragraphs to make things flow.

Think of it like a building: thoughts are the bricks, sequences are the order in which they're laid, and prose is the grout in between them, the paint, and everything else that makes a building look pretty. You can't really see the bricks at all, but if you mess up their size or the order in which they're laid, then the building might look weird. Or, even worse, you might not get a building at all.

Thoughts and sequences allow you to wireframe essays before you put in the work of writing them. They allow you to build a map of your writing, letting you see a high-level overview of what you're writing before you get stuck in the nitty-gritty.

This kind of writing, of purposeful planning with tools specifically built to support it, is the kind of writing Scrapyard encourages. It saves you time. You spend less time writing a blog post with a plan of what you want to write than you do if you enter aimlessly. Even more, you can reuse existing ideas, saving you extra brain cells and letting you invest in your thoughts. Spending a little bit of time planning an essay before writing it, with a low-poly version of its main points, lets you skip a lot of the hard work of writing. Writing instead becomes word vomit: you simply use your voice to connect some given sentences together.

This makes writing much more approachable: instead of a wide-open field, you now have a pathway to follow. Writing becomes more of a process than a creative endeavor. In Scrapyard, your writing is a product of your thoughts, the logical conclusion of forming ideas. It is a way of re-organizing information that already exists, with more direction and much less overhead than other programs can offer.

So that's what makes Scrapyard special, this idea that writing is output of the input of knowledge and ideas. But this is only the tip of the iceberg: there's much more to Scrapyard than meets the eye, lots of opinions it has that I haven't shared yet. There's also a lot I'm still figuring out; nothing's set in stone and things are bound to change. The goal is to produce the most efficient way of writing that I can, a set of opinions that help you write better instead of inhibiting you.

Over the next few weeks, I'll be revealing more and more of my philosophy on writing and how I believe it can become more productive. Watch for new content here, or check out my Twitter where I'll be talking more. You can watch the progress of Scrapyard on its GitHub here (yes it's open source!). I'm incredibly excited to be building it, and I can't wait to see where things go. :)


Liked this post and want to let me know? Email me here.