Tapi lab notes #1

Ramblings and investigations of where I'm in the process of building my content modeling tool

I've recently published the 1st version of Tapi, a visual & collaborative content modeling tool that generates Sanity.io schemas with one click. As this is my first time building a product, I'm unsure where to go next and how to reason about the journey forward.

These "lab notes" will be a collection of loose notes exploring pathways and how I feel about them.

Tapi's original sin

I started working on Tapi on January 14th, 2022, when my partner sparked the idea of using Figjam as the medium for creating content models. My first step was to open a new board and start experimenting with ways of modeling using native Figjam's tools: post-its, arrows/connectors, stickers, and comments.

The first content model diagram I created

I recorded the process and voiced my thinking out loud, polishing the approach very quickly. I realized that a solid workflow for diagramming content models could add the most value to the field. But, as a developer addicted to building, tinkering & automating, I wanted to create a tool that baked these decisions in and automatically exported models to target content platforms.

I think this is the source of many of my woes and indecisions. While I don't regret building the widget, I know that starting with a no-code, visual template for diagramming models would have given me more clarity in the problem space and more fluidity to test multiple approaches.

These are the sort of rules I could've iterated on - how to structure models, what information to add at which stages, etc.

I didn't spend enough time on this conflict between tooling vs. workflows. When I learned about Figjam widgets, the builder in me went wild, and tooling won. The UX design phase began based on ~2hr of research and experimenting 🙈

And, well, it's easy to see in retrospect that this original sin is seeping into the rest of the work.

Where I'm at: confusion

Tapi is launched, and it's helpful to a handful of people. I've had really heart-warming messages coming my way from enthusiasts of content modeling & infinite canvases, but very little actual usage (that I know of, I don't do analytics).

I have a clear road I could follow to make it more useful and start generating revenue:

  1. Create a library of pre-made content models that users can add to their projects to build faster
  2. Start charging per project export - either monetarily or by submitting a model to the library (crowdsourcing of content)
  3. Get a better sense of the content world
    1. Read Carrie Hane's Designing Connected Content
    2. Watch Marcelo Lewin's Content Modeling Weekly screencasts
    3. Dive deep into content strategy medium (Twitter, conferences, what else?)
    4. Get together and interview multiple content designers
  4. Research how to better communicate the pieces of a model
    1. What should a field/attribute be called?
    2. How to explain "documents" and "blocks"? Are there better names?
  5. Bake in content design best practices & workflows
    1. How to bake the transition from high-level, title-cased work (which models are there, how they relate) to low-level definitions (which fields exist, their types & validation, etc.)?
    2. What editing UI concerns should be defined in Tapi? For example, should it expose field descriptions, or whether or not a plain text field should have multiple lines?
    3. How deep should be the customization of validation options? Right now it's either required/optional, but content people often talk about text's length very early in the process, for example. What else should be included?
  6. Polish papercuts and fix UX/UI issues
  7. Marketing mode!
    1. Use Tapi as a learning tool in my Sanity mentoring sessions
    2. Produce content on creating content models with Tapi
    3. Seek partnerships such as sponsoring Marcelo Lewin's weekly screencasts or offering affiliate links/coupons
    4. Give talks and show up in the public sphere
    5. Dedicated website with documentation, testimonials, storytelling, etc.
    6. Paid advertising?

Of course, this is an untested road. I won't know if it works until I actually do it. However, I have a strong hunch that this would lead to success, in my own definition of it - income enough to pay my meager bills and strong connections with interesting people.

BUT that's where the original sin comes in: I'm not super stoked about content strategy as a problem space. I do it when I need it, and I enjoy it - it was a blast discussing the content model for the Sanity.io Exchange, and that's still the satisfaction peak of my career.

My connection to structured content, however, is intuitive and based on my limited experience, and I don't feel a calling to become an intellectual on it. Point #3 above on diving deep into the field gives me all sorts of weird sensations in my stomach and throat.

Rationality tells me to pursue it:

  1. "This is a field prepped for growth. Here comes stable income! 🤑" (career stability, "success" for the outside world, ego)
  2. "Committing myself to this goal would make me a better human & professional"
  3. "I can contribute a lot to the field, and hence to humanity, by helping establish industry-wide standards"
  4. "You'll never be successful if you can't even establish & grow a tiny tool in a tiny niche like this"

But my body & soul ask me to treat this less seriously, to bring more play into Tapi, to focus on developers & designers instead of principles-based content strategists. If I follow my desire, I'll build a bunch of features that I personally find "cool" (either as a user or the problem solver building it). And I'll throw a bunch of effort down the sink.


So yeah, debating which features to build, how to approach the market, or any other "hard thinking" isn't what's at stake for lab note #1. My relationship with this project is.

Right now, I feel a very strong trichotomy between focusing on developers (speed, 2-way binding to code), content strategists (processes and people), or educators (visual clarity, great onboarding). I'm not inclined to focus on either but fear that the middle ground won't take me anywhere.

My biggest fear is to have thrown hundreds of hours away just to create a nice demo that makes for a popular tweet but doesn't help anyone.

I'll let this simmer a bit, bringing it up in conversations, meditations & journal writing.

If you have strong opinions, I'm all ears (or eyes) at meet@hdoro.dev or hdorodev. I'm also open to collaborating 😉 (thanks for reading!)