Set up a Roam page for raw ideas
Okay, so before anything else — no tags, no templates, no fancy workflows yet — you need a giant pile of unprocessed stuff. I literally have a pinned page in Roam just called “Inbox Ramble” 😅. Almost every day, something ends up in there: half an idea while waiting in line at the post office, a screenshot I don’t want to lose, a quote from a book that gave me that little brain-zap feeling, etc.
To do this quickly, I either:
– Hit ALT+D (my roam/js custom shortcut) to jump into a capture page
– Use the quick capture in the Roam mobile app (which I will complain about later)
Each new thought goes as a bullet. If it’s particularly unhinged, like “Zaps that fire but pretend they didn’t 😤,” I might put a `#rant` tag just to find it later. But 90% of the time, it’s just raw lines of thought. No nesting. No structure.
If you’re the kind of person who overtags too early, resist that here. Let this page be loud and messy. Roam works because it trusts that linking happens later — not while you’re still figuring out what you even think.
Link your notes by daily stumble not by topic
Here’s where people mess up. They go, “Oh, I’ll make a master page for ‘marketing automation tips’ and add all my related notes into there.” And then the page stays half-empty forever.
Instead, every time I’m doing the daily notes thing in Roam — which usually starts with some chaotic search for “why is this Zap not triggering” — I scroll up past yesterday’s mess, and just drop in today’s tasks or ideas. But I make a habit of referencing whatever feels faintly familiar.
Like:
– [[Zapier triggers twice]]
– [[Webhooks that hate me]]
– [[roam/js hacks I don’t understand]] 😅
Don’t worry if those pages are blank at the time. The links are breadcrumbs. Later you’ll come across them again while searching and be able to connect multiple messy thoughts with one link.
Roam’s magic is in the frictionless backreferencing. I never try to organize the structure upfront. I just leave links like I’m leaving weird road signs to my future self. Often when I’m stuck while writing a post, I’ll check backlinks on one of those weird phrases and find five bullets of gold I forgot I had.
Write permanent pages once you’ve captured enough chaos
When you keep bumping into the same note fragments, you’ll know it’s time.
I’ll check the [[automated Notion publishing]] page and see five backlinks, all from scattered daily notes where I griped about either:
– Zapier formatting the title weirdly again
– Notion cutting off the page content during publish
– Or me just plain forgetting what tags trigger what
At that point, I’ll make a real version of the topic page. Still just in bullet format, but I’ll do:
– **Problem I’m solving**: Getting from markdown to Notion cleanly
– **Tools involved**: Roam42, Integromat (now Make), Notion API, one cursed Python script
– **Failures so far**: Webhook call doesn’t include `create_time`, Make adds its own delay, Notion API randomly errors when rate-limited
This page becomes semi-permanent. I’ll link to it from future issues and update it when I uncover new weirdness or replace a tool.
Don’t rush to make these — the point is to let your system self-organize once enough patterns emerge.
Use tags sparingly or you’ll drown in them
I used to tag similarly to how I did in Evernote. I’d write a post idea and tag it with `#writing`, `#blog-idea`, `#publish-later`, `#ideas`, etc. Then I had 50 overlapping tags and never knew where to look 😬.
Now, I keep tag usage minimal and tactical:
– **#ready**: Ideas that are almost publishable
– **#stuck**: Posts or flows that hit a technical roadblock
– **#ghost**: Notes I haven’t thought about in weeks
These aren’t permanent taxonomies. They’re more like signal flares. The `#stuck` tag has helped me multiple times revisit half-built workflows or broken Zaps I forgot existed. (There’s always one where a Google Sheet cell didn’t have the format I expected and everything just silently failed…)
Also, I’ve tried tagging emotional state during writing (`#rant`, `#bored`, `#excited`) and weirdly that helps me come back to posts I had real energy in.
Build reverse lookup pages once ideas are reusable
When I notice I’m writing similar lines over and over — like “webhooks can only send JSON” or “Zapier doesn’t parse nested arrays cleanly” — that’s when I start making little canonical explainer bullets.
So I’ll make a page called [[Zapier caveats]] and list:
– Can’t natively pass more than one attachment
– Formatter won’t fix null fields unless parsed beforehand
– Search steps occasionally mutate original fields
Now if I’m writing a post, I can just do [[Zapier caveats]] and pull in all those notes. It’s like building your own FAQ where all the answers are slightly bitter.
I have similar ones for [[Notion API fails]], [[Make routers explained poorly]], and [[roam/js errors I still don’t understand]]. It’s basically my own graveyard of repeated suffering, but with useful native reuse.
Use block embed to stitch writing pieces together
I didn’t understand how powerful this was until way too late. You can embed blocks from anywhere inside a writing doc. So if I wrote a great paragraph on [[intermediate webhooks]] last week, I don’t have to Ctrl+C it into this week’s doc.
Instead:
– Hit `(())` and start typing the first few words
– Roam shows autocomplete matches
– I choose the block I want
Boom. Live embed. So now when I update that block in the original context, it updates anywhere else it’s embedded. It’s like cross-referencing paragraphs in a shared brain 🧠.
I now structure big writing projects like this:
– Master doc with outline (main bullets)
– Embeds from scattered permanent pages (supporting notes)
– Live drafting page (today’s writing session)
It looks fragmented in the daily view, but it feels way more flexible than sticking everything on one giant Google Doc.
Create a tag or template for publishing workflows
At some point the gap between “a good note” and “a public post” needs a bridge. I use a little template block that kicks off my ready-to-publish checklist:
“`
[[Publish Step Checklist]]
– [ ] Check last 3 backlinks
– [ ] Confirm technical terms are explained
– [ ] Run post body through my Notion export script
– [ ] Test RSS body rendering
“`
I tag final-draft pages with `#ready` and review them through the backlinks of [[Publish Step Checklist]]. It’s not fancy, but it prevents me from missing stuff like forgetting alt descriptions or shipping a post that only makes sense if you’ve already read my RoamZapsSetup.md file 😬.
Publishing is still duct-taped together: Roam sends markdown to Zapier, which runs through a formatter to add frontmatter, then pushes to Notion using Make.
That stack randomly fails maybe once a week — usually because Zapier loses login state to Notion. When that happens, I now tag the post with `#retry-soon` to remind myself it was a process fail, not a content one.
Set aside one day a month to resurface
Roam doesn’t forget anything. But you definitely do.
At least once a month, I go to [[Inbox Ramble]] and scroll back 30 days. I also check pages like [[Untouched ideas]], [[Old but interesting]], and anything with less than five links. Sometimes I’ll stumble onto a gold nugget from two months ago that now has context inside a new writing project.
Weirdest trick? I search for smiley faces 🙂. Seriously. Like I’ll search “:), :P” and find notes where past-me was clearly excited. That often leads to content I genuinely wanted to write.
Roam isn’t about being organized. It’s about being able to rediscover your own ideas once the brain is less fried. That, and reminding yourself that yes, you have tried three times to build a GPT-assisted tagging system… and it broke every time ¯\_(ツ)_/¯