[{"data":1,"prerenderedAt":302},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fen\u002Flifestyle\u002Ftool-stack-2026-meeting-free-weeks":13},{"i18nKey":4,"paths":5},"lifestyle-004-2026-06",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Flifestyle\u002Ftool-stack-2026-async-first-operations","\u002Fen\u002Flifestyle\u002Ftool-stack-2026-meeting-free-weeks","\u002Fes\u002Flifestyle\u002Fstack-herramientas-2026-semana-sin-reuniones-roibase","\u002Ffr\u002Flifestyle\u002Ftech-stack-toplantisiz-hafta","\u002Fit\u002Flifestyle\u002Fstrumento-stack-2026-settimana-senza-riunioni","\u002Fru\u002Flifestyle\u002Ftool-stack-async-first-linear-notion","\u002Ftr\u002Flifestyle\u002Ftool-stack-2026-roibasede-toplantisiz-hafta-nasil-calisiyor",{"_path":7,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":14,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":296,"_id":297,"_source":298,"_file":299,"_stem":300,"_extension":301},"lifestyle",false,"","Tool Stack 2026: How Meeting-Free Weeks Work at Roibase","Linear, Notion, Slack, Figma, Granola — proven integration patterns from 8 years of testing and concrete criteria for async-first team operations.","2026-06-10",[21,22,23,24,25],"tool-stack","async-first","linear","notion","workflow-design",7,"Roibase",{"type":29,"children":30,"toc":279},"root",[31,39,46,51,64,71,85,90,96,101,106,112,117,133,139,144,150,155,160,166,171,176,182,187,193,198,233,238,243,249,254,259,264,269,274],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","The Roibase team averages 2 hours of meetings per week in 2026—the rest synchronizes through Linear sprints, Notion documents, and Slack threads. That number was 18 hours in 2019. The tools didn't change. The pattern for connecting them did. A task opened in Linear automatically spawns a Slack thread, links to a spec document in Notion, and anchors to a design frame in Figma. This post unpacks the engineering side of that integration system—why we chose each tool, why we built specific automation rules, and which metrics we actually track.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"linear-a-context-carrier-not-a-task-manager",[44],{"type":37,"value":45},"Linear: A Context Carrier, Not a Task Manager",{"type":32,"tag":33,"props":47,"children":48},{},[49],{"type":37,"value":50},"We don't use Linear as an issue tracker—each card is a mini-spec. Required fields when opening a task: target metric (CTR +5%, TTI \u003C2s), related Notion document, Figma frame link. The moment a card opens, a Slack thread auto-generates (Zapier integration), and the team moves to async discussion. The insight from this pattern: there's no such thing as a \"quick task\" in Linear—every card carries at least 2 external context references.",{"type":32,"tag":33,"props":52,"children":53},{},[54,56,62],{"type":37,"value":55},"We track sprint velocity, but at a different layer: ",{"type":32,"tag":57,"props":58,"children":59},"strong",{},[60],{"type":37,"value":61},"not task count, but average task cycle time",{"type":37,"value":63}," (hours from open to closed). That dropped from 38 hours in 2025 to 29 in 2026. The reason: spec clarity—if the Linear card includes the target metric, code review conversations shrink by 60% (our own data).",{"type":32,"tag":65,"props":66,"children":68},"h3",{"id":67},"linear-notion-integration-pattern",[69],{"type":37,"value":70},"Linear + Notion Integration Pattern",{"type":32,"tag":33,"props":72,"children":73},{},[74,76,83],{"type":37,"value":75},"There's a rule: every Linear card's ",{"type":32,"tag":77,"props":78,"children":80},"code",{"className":79},[],[81],{"type":37,"value":82},"Related Resources",{"type":37,"value":84}," field links a Notion document. We enforce it manually (no bot enforcement, because the team decides context, not automation). The Notion document typically has three sections: problem statement, proposed solution, acceptance criteria. A Linear card can be derived from Notion, but never the reverse—spec first, task second.",{"type":32,"tag":33,"props":86,"children":87},{},[88],{"type":37,"value":89},"This discipline cut code review time from an average of 4.2 hours in 2024 to 2.7 hours now. No \"why is this like this?\" questions in review—the answer is already in Notion.",{"type":32,"tag":40,"props":91,"children":93},{"id":92},"slack-thread-first-never-channels",[94],{"type":37,"value":95},"Slack: Thread-First, Never Channels",{"type":32,"tag":33,"props":97,"children":98},{},[99],{"type":37,"value":100},"We use Slack thread-first, not channel-first. Posting in general channels is off-limits—every message either lives in a Linear task thread or a Notion document thread. The reason: structured search. Search for \"how does X feature work?\" in Slack, and the Linear task ID auto-surfaces because the Zapier thread embeds the task ID into the message text.",{"type":32,"tag":33,"props":102,"children":103},{},[104],{"type":37,"value":105},"Our async response time target: 4 hours (during work hours). How do we measure it? Median thread response time pulled from Slack Analytics API—3.2 hours in Q4 2025, 2.9 hours in Q1 2026. We share this metric in sprint retrospectives but don't track it individually—systemic thinking, not cultural pressure.",{"type":32,"tag":40,"props":107,"children":109},{"id":108},"figma-design-tokens-linked-to-linear",[110],{"type":37,"value":111},"Figma: Design Tokens Linked to Linear",{"type":32,"tag":33,"props":113,"children":114},{},[115],{"type":37,"value":116},"We don't use Figma as just a design tool—design tokens link directly to Linear tasks. Change a button component in Figma, and all Linear cards using that component auto-tag (Figma API + Zapier). The team sees which tasks are affected within 10 minutes.",{"type":32,"tag":33,"props":118,"children":119},{},[120,122,131],{"type":37,"value":121},"This integration was built in a company hackathon in 2024. We thought it was over-engineering at first, then during a brand refresh, we updated all button states in 3 days—two weeks in the old system. Design-code sync is the biggest bottleneck in ",{"type":32,"tag":123,"props":124,"children":128},"a",{"href":125,"rel":126},"https:\u002F\u002Fwww.roibase.com.tr\u002Fen\u002Fbranding",[127],"nofollow",[129],{"type":37,"value":130},"brand",{"type":37,"value":132}," projects; this integration cut it by 70%.",{"type":32,"tag":65,"props":134,"children":136},{"id":135},"design-token-versioning",[137],{"type":37,"value":138},"Design Token Versioning",{"type":32,"tag":33,"props":140,"children":141},{},[142],{"type":37,"value":143},"Design tokens in Figma aren't under Git version control, but Linear tasks timestamp token changes. A task notes \"Button CTA color shifted from #FF5733 to #E84C3D,\" and that log auto-feeds into the design changelog in Notion. \"What was this color three months ago?\" gets answered in 30 seconds.",{"type":32,"tag":40,"props":145,"children":147},{"id":146},"granola-the-glue-between-meetings-and-context",[148],{"type":37,"value":149},"Granola: The Glue Between Meetings and Context",{"type":32,"tag":33,"props":151,"children":152},{},[153],{"type":37,"value":154},"We do 2 hours of meetings weekly—half client calls, half sprint planning. After each meeting, Granola auto-generates a transcript plus action items. Action items become Linear cards (manual, but templated), and the transcript embeds in Notion. A team member who missed the call catches up in 10 minutes—we don't spend time writing meeting notes.",{"type":32,"tag":33,"props":156,"children":157},{},[158],{"type":37,"value":159},"Granola's critical feature: it auto-categorizes action items (design, dev, marketing). When opening a Linear card post-meeting, the right label auto-suggests. This small detail cut post-call task assignment from 15 minutes to 3.",{"type":32,"tag":40,"props":161,"children":163},{"id":162},"notion-one-source-multiple-layers",[164],{"type":37,"value":165},"Notion: One Source, Multiple Layers",{"type":32,"tag":33,"props":167,"children":168},{},[169],{"type":37,"value":170},"We use Notion as a state machine, not a wiki. Every document sits in one of three states: Draft (being written), Review (linked to Linear task, async discussion underway), Canonical (source document, immutable). State changes are manual, but the rule is strict: two team members must \"approve\" (via Slack reaction) before a doc moves from Review to Canonical.",{"type":32,"tag":33,"props":172,"children":173},{},[174],{"type":37,"value":175},"Canonical documents don't change—modifications create a new version, the old document gets \"Archived\" status. This discipline ensures \"why was this decision made?\" always has an answer—check the archive, review the Linear tasks from that period, re-read the Slack thread.",{"type":32,"tag":65,"props":177,"children":179},{"id":178},"database-views-and-auto-tagging",[180],{"type":37,"value":181},"Database Views and Auto-Tagging",{"type":32,"tag":33,"props":183,"children":184},{},[185],{"type":37,"value":186},"Notion has four core databases: Specs, Decisions, Experiments, Changelogs. Each auto-tags with Linear and Slack (Zapier + Notion API). Create a Spec document, and Notion auto-populates the \"related tasks\" field from Linear's API—which cards reference this spec? This query runs every morning at 9, keeping the doc current.",{"type":32,"tag":40,"props":188,"children":190},{"id":189},"three-core-rules-for-integration-patterns",[191],{"type":37,"value":192},"Three Core Rules for Integration Patterns",{"type":32,"tag":33,"props":194,"children":195},{},[196],{"type":37,"value":197},"Eight years of trial and error taught us this: each tool owns one \"source of truth\" domain; other tools reference it.",{"type":32,"tag":199,"props":200,"children":201},"ul",{},[202,213,223],{"type":32,"tag":203,"props":204,"children":205},"li",{},[206,211],{"type":32,"tag":57,"props":207,"children":208},{},[209],{"type":37,"value":210},"Linear:",{"type":37,"value":212}," Task state and timeline. Notion can write specs, but only Linear changes task state.",{"type":32,"tag":203,"props":214,"children":215},{},[216,221],{"type":32,"tag":57,"props":217,"children":218},{},[219],{"type":37,"value":220},"Notion:",{"type":37,"value":222}," Specs and decisions. Linear links to Notion, but Notion never updates Linear cards.",{"type":32,"tag":203,"props":224,"children":225},{},[226,231],{"type":32,"tag":57,"props":227,"children":228},{},[229],{"type":37,"value":230},"Slack:",{"type":37,"value":232}," Async discussion. Threads auto-open, but content manually migrates to Notion (no auto-sync—signal-to-noise ratio breaks down).",{"type":32,"tag":33,"props":234,"children":235},{},[236],{"type":37,"value":237},"Second rule: every automation is reversible. Zapier workflows have manual triggers—the team can pause \"open Slack thread when Linear task opens\" for a sprint if needed (during intensive dev sprints to cut noise). Automation supports discipline; it shouldn't enforce it.",{"type":32,"tag":33,"props":239,"children":240},{},[241],{"type":37,"value":242},"Third rule: metrics are team-level, never individual. Slack response time, Linear cycle time, Notion approval speed—all shared in sprint retros, none used in performance reviews. The goal is system optimization, not individual competition.",{"type":32,"tag":40,"props":244,"children":246},{"id":245},"why-these-tools-not-others",[247],{"type":37,"value":248},"Why These Tools, Not Others",{"type":32,"tag":33,"props":250,"children":251},{},[252],{"type":37,"value":253},"We didn't pick Jira over Linear because Jira doesn't incentivize spec-writing—tasks open fast, context comes later. Linear forces it: description is mandatory, can't be blank. Small UX difference, big cultural shift.",{"type":32,"tag":33,"props":255,"children":256},{},[257],{"type":37,"value":258},"We didn't pick Confluence over Notion because Confluence targets enterprise versioning—too complex for small teams. Notion's database views are flexible, and Linear + Slack integrations are lightweight.",{"type":32,"tag":33,"props":260,"children":261},{},[262],{"type":37,"value":263},"We didn't pick Discord over Slack because Discord threads are gamified; Slack threads stay business-focused. Slack's search API works natively with Linear task IDs.",{"type":32,"tag":33,"props":265,"children":266},{},[267],{"type":37,"value":268},"We didn't pick Adobe XD over Figma because Figma's API is open and Zapier-compatible. XD's API is gated.",{"type":32,"tag":33,"props":270,"children":271},{},[272],{"type":37,"value":273},"We didn't pick Otter.ai over Granola because Granola extracts action items natively—Otter produces transcripts, then you manually extract actions.",{"type":32,"tag":33,"props":275,"children":276},{},[277],{"type":37,"value":278},"Tool stack isn't frozen—we switched from Loom to Tella in 2024 (faster uploads, Linear embed support). We tried Make.com over Zapier in 2025 but switched back (Zapier error logs are more readable). Tools change. The integration pattern stays: one \"source of truth\" per tool, everything else references it.",{"title":16,"searchDepth":280,"depth":280,"links":281},3,[282,286,287,290,291,294,295],{"id":42,"depth":283,"text":45,"children":284},2,[285],{"id":67,"depth":280,"text":70},{"id":92,"depth":283,"text":95},{"id":108,"depth":283,"text":111,"children":288},[289],{"id":135,"depth":280,"text":138},{"id":146,"depth":283,"text":149},{"id":162,"depth":283,"text":165,"children":292},[293],{"id":178,"depth":280,"text":181},{"id":189,"depth":283,"text":192},{"id":245,"depth":283,"text":248},"markdown","content:en:lifestyle:tool-stack-2026-meeting-free-weeks.md","content","en\u002Flifestyle\u002Ftool-stack-2026-meeting-free-weeks.md","en\u002Flifestyle\u002Ftool-stack-2026-meeting-free-weeks","md",1781532283261]