@synap-core/workspace-templates 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -510,6 +510,74 @@ entityLinks:
510
510
  type: uses
511
511
  label: Uses token set
512
512
 
513
+ onboarding:
514
+ goal: Capture the brand's expressive DNA — voice, visual identity, and the rules that keep everything on-brand — so any human or AI can generate on-brand content and assets.
515
+ framing: >
516
+ THE BRAND STRATEGIST: Act as a seasoned brand strategist. Draw out how the
517
+ brand sounds (tone, personality, do's and don'ts), how it looks (identity,
518
+ colors, type), and the non-negotiable rules. Translate fuzzy vibes into
519
+ concrete voice guides and rules. Reference the Foundation (mission, audience,
520
+ positioning) so the brand expresses the strategy, never contradicts it.
521
+ expertise:
522
+ starters:
523
+ - >
524
+ Adjectives don't define a voice — "friendly, bold, human" describes every
525
+ brand and constrains none. Propose voice as a small set of DO / DON'T pairs
526
+ instead ("say 'you', not 'users'"; "short declaratives, never hedged
527
+ qualifiers"). Pairs are testable; adjectives are decoration.
528
+ - >
529
+ A voice guide is only real if it survives a sentence test. Take one actual
530
+ line from their site or a competitor's and rewrite it in the proposed voice
531
+ on the spot — if the rewrite looks identical to the original, the voice isn't
532
+ differentiated yet. Push until the two versions are visibly different.
533
+ - >
534
+ Build the palette around ROLES, not just favorite colors. Pin the semantic
535
+ roles first — primary, surface, text, and one restrained accent — and make
536
+ the accent earn its keep. Most brands leak trust by using three "brand
537
+ colors" as accents; propose one hero accent and demote the rest to support.
538
+ blindSpots:
539
+ - >
540
+ "Brand = logo" is the classic trap. The logo is the least-used, most-argued
541
+ asset; the voice, the color roles, and the do/don't rules drive 90% of what
542
+ anyone actually ships. If they lead with the logo, redirect to how the brand
543
+ SOUNDS and behaves in a paragraph of copy.
544
+ - >
545
+ Rules with no severity are ignored. A pile of equally-weighted "guidelines"
546
+ gives an AI or a teammate nothing to obey — mark each as mandatory,
547
+ important, or guideline so the non-negotiables (clearspace, accessibility
548
+ contrast, forbidden words) actually hold under pressure.
549
+ - >
550
+ Color contrast is a silent brand-killer: a beautiful palette that fails WCAG
551
+ AA on text is off-brand the moment it's inaccessible. If they've picked
552
+ colors without checking text-on-surface contrast, flag it before it's
553
+ codified into tokens.
554
+ bar: >
555
+ A stranger handed the voice pairs, the color roles, and the rules could write a
556
+ new paragraph and pick a button color that both read unmistakably as THIS brand —
557
+ and every rule is testable on a real sentence or a real screen, not a vibe.
558
+ collect:
559
+ - profileSlug: brand-identity
560
+ what: The core brand identity — name, essence, and how it presents itself.
561
+ cardinality: one
562
+ - profileSlug: brand-voice-guide
563
+ what: Voice guides — tone, personality traits, vocabulary, and do/don't examples per context.
564
+ cardinality: few
565
+ keyFields: [voice-personality-traits, voice-tone-descriptors, voice-example-do, voice-example-dont]
566
+ - profileSlug: brand-rule
567
+ what: Usage rules and constraints (mandatory / important / guideline).
568
+ cardinality: several
569
+ - profileSlug: brand-color
570
+ what: The brand's core colors.
571
+ cardinality: few
572
+ - profileSlug: brand-font
573
+ what: The brand's typefaces (heading / body / mono).
574
+ cardinality: few
575
+ openingQuestions:
576
+ - In three words, how should the brand sound?
577
+ - What's one thing the brand must never say or do?
578
+ - Who's the brand talking to (tie this back to your Foundation audience)?
579
+ doneWhen: A brand identity + at least one voice guide + a few rules are captured.
580
+
513
581
  app:
514
582
  kind: native
515
583
  appId: brandLibrary
@@ -581,47 +649,3 @@ bento:
581
649
  - kind: view
582
650
  viewName: Templates
583
651
  pos: { x: 6, y: 8, w: 6, h: 4 }
584
-
585
- seedEntities:
586
- - profileSlug: brand-identity
587
- title: Primary Brand
588
- properties:
589
- brand-type: universal
590
- brand-status: active
591
- brand-positioning: Describe the promise, category, and differentiation of this brand.
592
- brand-audience-primary: Describe the primary audience and buying context.
593
- brand-voice-summary: Clear, useful, specific, and calm.
594
- - profileSlug: brand-color
595
- title: Primary
596
- properties:
597
- color-role: primary
598
- color-group: core
599
- color-hex: "#B67A38"
600
- color-token-name: brand-primary
601
- color-status: approved
602
- color-usage: Primary action and selection accent.
603
- - profileSlug: brand-font
604
- title: System Sans
605
- properties:
606
- font-role: body
607
- font-family: system-ui
608
- font-license: system
609
- font-weights: "400, 500, 600, 700"
610
- font-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif
611
- font-status: active
612
- - profileSlug: brand-token-set
613
- title: Base Tokens
614
- properties:
615
- token-status: draft
616
- token-mode: base
617
- token-source-ids: seed
618
- token-json: '{"colors":{"primary":"#B67A38"},"typography":{"body":"system-ui"}}'
619
- token-css: ":root { --brand-primary: #B67A38; --brand-font-body: system-ui; }"
620
- - profileSlug: brand-rule
621
- title: Use approved sources first
622
- properties:
623
- rule-kind: generation
624
- rule-subject: general
625
- rule-severity: guideline
626
- rule-content: Use approved colors, typefaces, assets, and token sets before creating variants.
627
- rule-example: When generating an artboard, prefer the active token set and approved logo/image assets.
package/src/builder.yaml CHANGED
@@ -1258,6 +1258,81 @@ entityLinks:
1258
1258
  type: depends_on
1259
1259
  label: Depends on
1260
1260
 
1261
+ onboarding:
1262
+ goal: Capture the real engineering surface — the apps that are shipped, where their code lives, what runs behind them, where they deploy, and what's in flight — so the workspace mirrors what the team actually builds and runs, not a generic template.
1263
+ framing: >
1264
+ THE STAFF ENGINEER: Act as a pragmatic, precise staff/platform engineer standing up a
1265
+ developer command center. Tease out what's actually shipped vs. planned, where the code
1266
+ lives (repos + local paths), what runs behind each app, where it deploys, and what's on
1267
+ the bench right now. Prefer concrete over aspirational — a repo URL beats a wish. Tie the
1268
+ roadmap back to the Foundation's mission and audiences: the surface exists to serve them.
1269
+ expertise:
1270
+ starters:
1271
+ - >
1272
+ Don't ask "what do you want to build?" — ask what's already running. Propose starting from
1273
+ the ONE app that's live today, its primary deploy target, and the single feature in flight
1274
+ right now. One real node with a repo URL beats ten aspirational ones. The map grows from
1275
+ what exists, not from the org chart you wish you had.
1276
+ - >
1277
+ For each app, capture the deploy path end to end: repo → branch that auto-deploys → target
1278
+ (Vercel/Coolify/bare VPS) → the URL it lands on. A node that says "app" but can't answer
1279
+ "how does a commit reach production?" is a label, not a map.
1280
+ - >
1281
+ Lead with the in-flight work as first-class entities, not a backlog dump. Take the feature
1282
+ being coded this week, give it a status and an acceptance criterion, and link it to its app.
1283
+ That single live thread is what makes the workspace a command center instead of a wiki.
1284
+ blindSpots:
1285
+ - >
1286
+ The map is worthless the moment it drifts from reality. Founders capture the IDEAL
1287
+ architecture (the clean diagram) instead of the system AS IT IS — the hacky cron, the
1288
+ service everyone forgot owns auth, the package no one dares upgrade. Capture the mess;
1289
+ the mess is where the incidents come from.
1290
+ - >
1291
+ "We'll document it later" is how tribal knowledge dies. The one engineer who knows why
1292
+ service X can't be restarted during a deploy leaves, and it becomes a 2am incident. Capture
1293
+ the non-obvious operational facts (decision records, gotchas) NOW, while someone still
1294
+ remembers the why — not after the outage.
1295
+ - >
1296
+ Packages and their dependency edges are the silent killer. Founders track apps but not the
1297
+ shared substrate underneath — so a "small" bump to a core package breaks three apps nobody
1298
+ connected to it. Capture what depends on what; the blast radius lives in the edges, not the
1299
+ nodes.
1300
+ bar: >
1301
+ A great result is a graph you can navigate in any direction to answer a real operational
1302
+ question — "if I bump this package, what breaks?", "how does a commit reach prod for app X?",
1303
+ "what's actually in flight and who's on it?" — and every answer matches what's true in the
1304
+ terminal right now, not what was true at kickoff.
1305
+ collect:
1306
+ - profileSlug: devplane_app
1307
+ what: The apps that are shipped or actively being built — with where their code lives and what stack they run on.
1308
+ cardinality: several
1309
+ keyFields: [appName, appStatus, techStack, repoUrl]
1310
+ - profileSlug: devplane_service
1311
+ what: The backend services, workers, and jobs that run behind those apps.
1312
+ cardinality: few
1313
+ keyFields: [serviceType, serviceStatus, host]
1314
+ - profileSlug: devplane_environment
1315
+ what: The servers and deploy targets the team ships to — local through production.
1316
+ cardinality: few
1317
+ keyFields: [envType, host, serverProvider]
1318
+ - profileSlug: devplane_package
1319
+ what: The shared packages the apps depend on — the reusable substrate of the codebase.
1320
+ cardinality: several
1321
+ keyFields: [packageName, packageRegistry, dependsOn]
1322
+ - profileSlug: devplane_feature
1323
+ what: The work in flight right now — features and work items with a status and priority.
1324
+ cardinality: several
1325
+ keyFields: [featureStatus, priority]
1326
+ - profileSlug: project
1327
+ what: The larger bounded bodies of work delegated to agents or the team, tied to a goal.
1328
+ cardinality: few
1329
+ keyFields: [project-status, project-goal]
1330
+ openingQuestions:
1331
+ - "What have you actually shipped, and what's still just planned? Give me the apps and their repos."
1332
+ - "For each app — what runs behind it (services, workers), and where does it deploy?"
1333
+ - "What's on your plate this week, and which of it should be delegated to agents?"
1334
+ doneWhen: at least one app (with a repo) + its primary deploy target + one in-flight feature or project captured.
1335
+
1261
1336
  # App reference
1262
1337
  app:
1263
1338
  kind: native
@@ -1335,21 +1410,3 @@ bento:
1335
1410
  - kind: view
1336
1411
  viewName: Task Board
1337
1412
  pos: { x: 0, y: 4, w: 12, h: 6 }
1338
-
1339
- seedEntities:
1340
- - profileSlug: deployment_target
1341
- title: Coolify Production (CT 103)
1342
- properties:
1343
- targetType: coolify
1344
- targetUrl: "http://10.10.0.20:8000"
1345
- targetAuthRef: COOLIFY_PROD_TOKEN
1346
- targetEnvType: production
1347
- targetStatus: active
1348
- - profileSlug: deployment_target
1349
- title: Coolify Staging (CT 104)
1350
- properties:
1351
- targetType: coolify
1352
- targetUrl: "http://10.10.0.20:8000"
1353
- targetAuthRef: COOLIFY_STAGING_TOKEN
1354
- targetEnvType: staging
1355
- targetStatus: active
@@ -677,397 +677,6 @@ entityLinks:
677
677
  targetProfileSlug: post
678
678
  type: publishes
679
679
 
680
- seedEntities:
681
- - profileSlug: pillar
682
- title: Data Sovereignty
683
- properties:
684
- pillar-status: Active
685
- pillar-audience: "Founders, developers, and privacy-conscious professionals"
686
- pillar-goal: "Position Synap as the infrastructure layer for personal data ownership — make the audience feel that sovereignty is not technical, it is a right"
687
- pillar-formats: "Articles + Threads"
688
- post-count-pillar: 12
689
- avg-engagement: 340
690
- top-post: "Why your data is not yours — and how to fix that"
691
- posting-frequency: "2x / week"
692
- pillar-tags: [sovereignty, synap, infrastructure]
693
- - profileSlug: pillar
694
- title: Product Building
695
- properties:
696
- pillar-status: Active
697
- pillar-audience: "Indie hackers, founders, and early-stage builders"
698
- pillar-goal: "Share the authentic journey of building Synap — decisions, mistakes, architecture choices — building trust through transparency"
699
- pillar-formats: "Articles + Threads"
700
- post-count-pillar: 8
701
- avg-engagement: 210
702
- top-post: "How we designed Synap's entity model from scratch"
703
- posting-frequency: Weekly
704
- pillar-tags: [building-in-public, synap, product]
705
- - profileSlug: pillar
706
- title: Creator Economy
707
- properties:
708
- pillar-status: Developing
709
- pillar-audience: "Creators, solopreneurs, and content entrepreneurs"
710
- pillar-goal: "Establish Synap's authority in the creator tools space — explain why the current tool stack is broken and what a sovereign alternative looks like"
711
- pillar-formats: "Articles + Threads"
712
- post-count-pillar: 4
713
- avg-engagement: 180
714
- posting-frequency: Weekly
715
- pillar-tags: [creator-economy, content-os, tools]
716
- - profileSlug: platform
717
- title: LinkedIn
718
- properties:
719
- platform-status: Active
720
- platform-url: "https://linkedin.com/in/your-handle"
721
- follower-count: 3200
722
- follower-target: 10000
723
- avg-engagement-rate: 4.2
724
- platform-posting-freq: "3x / week"
725
- last-post-date: "2026-02-23"
726
- platform-notes: "Long-form articles perform 3x better than short posts. Best engagement on Monday 8am and Thursday 6pm. CET. Professional tone, avoid jargon."
727
- platform-tags: [linkedin, b2b, professional]
728
- - profileSlug: platform
729
- title: "Twitter / X"
730
- properties:
731
- platform-status: Active
732
- platform-url: "https://x.com/your-handle"
733
- follower-count: 1800
734
- follower-target: 5000
735
- avg-engagement-rate: 2.1
736
- platform-posting-freq: Daily
737
- last-post-date: "2026-02-23"
738
- platform-notes: "Threads outperform single tweets 4:1. Tech and sovereignty threads go viral occasionally. Engage before posting — reply to 5 accounts before publishing."
739
- platform-tags: [twitter, threads, tech]
740
- - profileSlug: platform
741
- title: Synap Newsletter
742
- properties:
743
- platform-type: Newsletter
744
- platform-status: Building
745
- follower-count: 420
746
- follower-target: 2000
747
- avg-engagement-rate: 38
748
- platform-posting-freq: Weekly
749
- last-post-date: "2026-02-17"
750
- platform-notes: "35-40% open rate. Audience is tech-adjacent, values depth over brevity. Tuesdays at 7am CET performs best. Personal voice + one tactical insight + one product update."
751
- platform-tags: [newsletter, owned, sovereign]
752
- - profileSlug: campaign
753
- title: "Synap Template Launch — Q1 2026"
754
- properties:
755
- campaign-status: Active
756
- campaign-type: Product Launch
757
- campaign-pillar: "ref:pillar:Product Building"
758
- campaign-start: "2026-02-01"
759
- campaign-end: "2026-03-31"
760
- campaign-goal: "Drive 500 new workspace template activations and grow newsletter to 1,000 subscribers"
761
- campaign-kpi: "Newsletter Sign-ups"
762
- kpi-target: 500
763
- post-count: 12
764
- campaign-tags: [launch, templates, q1-2026]
765
- content: |-
766
- # Campaign Brief: Synap Template Launch — Q1 2026
767
-
768
- ## Objective
769
-
770
- Drive 500 template activations and 1,000 new newsletter subscribers by March 31, 2026. This is Synap's first public-facing product moment — the goal is not just installs but proof that the entity-first model resonates with creators who think in systems.
771
-
772
- ## Target audience
773
-
774
- Content creators and founder-creators managing multi-channel presence across 2+ platforms. They've tried Notion templates. They've paid for Buffer and Later. They feel the friction. They're ready for something built differently.
775
-
776
- ## Content plan
777
-
778
- 12 posts across LinkedIn and Twitter/X over 8 weeks:
779
-
780
- - **Week 1-2**: Problem framing — the creator stack is broken, context-switching cost, no unified operating record
781
- - **Week 3-4**: Solution reveal — what a Content OS actually looks like, entity model walkthrough
782
- - **Week 5-6**: Template demo — what's included, how seed data works, the graph view
783
- - **Week 7-8**: Social proof + launch push — install CTA, newsletter integration, community feedback
784
-
785
- ## KPIs
786
-
787
- | Metric | Target |
788
- |--------|--------|
789
- | Template activations | 500 |
790
- | Newsletter subs added | 1,000 |
791
- | LinkedIn post avg reach | 8,000+ |
792
- | Twitter thread avg impressions | 15,000+ |
793
-
794
- ## Budget
795
-
796
- €0 paid. Organic only. Brand deals (Mintlify, Anytype) offset production time.
797
-
798
- ## Dependencies
799
-
800
- - Template JSON validated and live in install flow
801
- - Synap Newsletter Issue 13 dedicated to template walkthrough
802
- - Mintlify sponsorship confirmed for Issue 12
803
- - profileSlug: campaign
804
- title: Data Sovereignty Series
805
- properties:
806
- campaign-status: Active
807
- campaign-type: Editorial Series
808
- campaign-pillar: "ref:pillar:Data Sovereignty"
809
- campaign-start: "2026-01-15"
810
- campaign-end: "2026-04-30"
811
- campaign-goal: "Establish Synap's thought leadership in the sovereignty space — 10 long-form posts that define the narrative"
812
- campaign-kpi: "Follower Growth"
813
- kpi-target: 1000
814
- post-count: 6
815
- campaign-tags: [sovereignty, series, thought-leadership]
816
- - profileSlug: post
817
- title: "Why your subscriber list is not yours — and what to do about it"
818
- properties:
819
- post-status: Published
820
- post-format: Article
821
- post-platform: LinkedIn
822
- post-pillar: "ref:pillar:Data Sovereignty"
823
- post-campaign: "ref:campaign:Data Sovereignty Series"
824
- publish-date: "2026-02-10"
825
- post-hook: "You have 3,000 newsletter subscribers. If Substack disappears tomorrow, how many of them can you reach?"
826
- post-cta: "Download our free guide to migrating your subscriber list to sovereign infrastructure"
827
- post-tags: [sovereignty, newsletter, substack]
828
- engagement-score: 520
829
- post-reach: 12400
830
- content: |-
831
- # Why Your Subscriber List Is Not Yours — And What to Do About It
832
-
833
- ## Core argument
834
-
835
- When you build an audience on Substack, Mailchimp, or Beehiiv, you don't own the relationship. The platform does. They store the emails. They control deliverability. They set the terms of export. And if they change their pricing, get acquired, or shut down — your list goes with them.
836
-
837
- This is not a hypothetical risk. It is the default architecture of every major newsletter platform.
838
-
839
- ## What ownership actually means
840
-
841
- Owning your subscriber list means three things:
842
-
843
- 1. **You hold the data.** The email addresses, open history, click behavior, and preferences live in infrastructure you control — not on a vendor's server.
844
- 2. **You choose the delivery layer.** You can switch from Mailchimp to Postmark to SES without asking permission and without migration friction.
845
- 3. **You set the rules.** GDPR compliance, data retention, deletion requests — you handle them directly, not through a third-party dashboard.
846
-
847
- ## The sovereignty architecture
848
-
849
- The alternative is treating your subscriber database as a first-class entity in your own data infrastructure. A record per subscriber. Properties for consent date, source, segment, engagement history. Relationships to the newsletter issues they opened, the posts that drove the sign-up.
850
-
851
- This is what Synap enables with the Newsletter profile — your subscriber data lives in your pod, queryable by you, portable to any email provider, never held hostage.
852
-
853
- ## The ask
854
-
855
- Follow if you believe your audience relationship is a business asset — not a vendor dependency.
856
-
857
- ---
858
- *Published: LinkedIn · Data Sovereignty pillar · Data Sovereignty Series campaign*
859
- - profileSlug: post
860
- title: "Synap's entity model: why we ditched the database-first approach"
861
- properties:
862
- post-status: In Draft
863
- post-format: Article
864
- post-platform: LinkedIn
865
- post-pillar: "ref:pillar:Product Building"
866
- post-campaign: "ref:campaign:Synap Template Launch — Q1 2026"
867
- publish-date: "2026-03-03"
868
- post-hook: "Every other tool gives you a database. We built a network of entities — and the difference is everything."
869
- post-cta: "Try the Second Brain template in Synap — free"
870
- post-tags: [product, synap, architecture]
871
- - profileSlug: post
872
- title: "Thread: The creator tool stack is broken — here is why"
873
- properties:
874
- post-status: Scheduled
875
- post-format: Thread
876
- post-platform: "Twitter / X"
877
- post-pillar: "ref:pillar:Creator Economy"
878
- post-campaign: "ref:campaign:Synap Template Launch — Q1 2026"
879
- publish-date: "2026-02-25"
880
- post-hook: "I talked to 40 creators this month. Every single one uses 5+ tools that don't talk to each other. Here's what they all want:"
881
- post-cta: "Follow for the full Creator Economy report"
882
- post-tags: [creator-economy, tools, research]
883
- - profileSlug: post
884
- title: "Content OS template — what's included and why we built it"
885
- properties:
886
- post-status: Idea
887
- post-format: Short Video
888
- post-platform: LinkedIn
889
- post-pillar: "ref:pillar:Product Building"
890
- post-campaign: "ref:campaign:Synap Template Launch — Q1 2026"
891
- post-hook: "We spent 3 weeks researching 8 creator tools before building Synap's Content OS template. Here is what we found."
892
- post-tags: [content-os, templates, synap, research]
893
- - profileSlug: post
894
- title: "Data sovereignty is not a technical concept — it is a political one"
895
- properties:
896
- post-status: Idea
897
- post-format: Article
898
- post-platform: LinkedIn
899
- post-pillar: "ref:pillar:Data Sovereignty"
900
- post-campaign: "ref:campaign:Data Sovereignty Series"
901
- post-hook: "The Sovereign Individual was published in 1997. It predicted exactly what is happening right now with AI and personal data."
902
- post-tags: [sovereignty, philosophy, ai]
903
- - profileSlug: post
904
- title: "How Synap templates are seeded: the JSON-first approach"
905
- properties:
906
- post-status: Review
907
- post-format: Article
908
- post-platform: LinkedIn
909
- post-pillar: "ref:pillar:Product Building"
910
- post-campaign: "ref:campaign:Synap Template Launch — Q1 2026"
911
- publish-date: "2026-03-10"
912
- post-hook: "Most SaaS products show you an empty database on day one. Synap shows you a fully functional workspace. Here is how we do it."
913
- post-cta: "Read the full technical deep-dive on our blog"
914
- post-tags: [engineering, synap, templates, onboarding]
915
- - profileSlug: newsletter
916
- title: "The Sovereign Stack — Issue 12"
917
- properties:
918
- newsletter-status: Sent
919
- newsletter-series: The Sovereign Stack
920
- issue-number: 12
921
- subject-line: "The 3 databases that own your content career (and how to escape)"
922
- preview-text: "Your Substack list, your Buffer posts, your Notion brain..."
923
- send-date: "2026-02-17"
924
- subscriber-count: 390
925
- open-rate: 39.2
926
- click-rate: 6.8
927
- newsletter-sponsor: "ref:sponsor:Mintlify"
928
- newsletter-campaign: "ref:campaign:Data Sovereignty Series"
929
- newsletter-pillar: "ref:pillar:Data Sovereignty"
930
- newsletter-tags: [sovereignty, creator-tools, newsletter]
931
- - profileSlug: newsletter
932
- title: "The Sovereign Stack — Issue 13"
933
- properties:
934
- newsletter-status: Scheduled
935
- newsletter-series: The Sovereign Stack
936
- issue-number: 13
937
- subject-line: "Inside Synap's Content OS template — what we built and why"
938
- preview-text: "6 profiles, 16 views, 1 relational graph you own forever"
939
- send-date: "2026-02-24"
940
- newsletter-campaign: "ref:campaign:Synap Template Launch — Q1 2026"
941
- newsletter-pillar: "ref:pillar:Product Building"
942
- newsletter-tags: [content-os, templates, synap]
943
- - profileSlug: newsletter
944
- title: "The Sovereign Stack — Issue 14"
945
- properties:
946
- newsletter-status: Drafting
947
- newsletter-series: The Sovereign Stack
948
- issue-number: 14
949
- subject-line: "Why we picked Ghost over Substack (and what it cost us)"
950
- preview-text: "Honest numbers: subscriber growth, open rates, and the SEO truth"
951
- send-date: "2026-03-03"
952
- newsletter-pillar: "ref:pillar:Data Sovereignty"
953
- newsletter-tags: [ghost, substack, sovereignty, newsletter]
954
- newsletter-campaign: "ref:campaign:Data Sovereignty Series"
955
- - profileSlug: sponsor
956
- title: Mintlify
957
- properties:
958
- deal-status: Active
959
- sponsor-type: Newsletter Sponsorship
960
- contact-name: Alex Chen
961
- contact-email: "alex@mintlify.com"
962
- deal-value: 800
963
- payment-status: Invoice Sent
964
- contract-date: "2026-02-10"
965
- deliverable-deadline: "2026-02-28"
966
- exclusivity-end: "2026-03-15"
967
- deliverables: "1 newsletter mention in Issue 12 (primary placement, 80–100 words). 1 LinkedIn post tagging Mintlify. Approved copy to be provided by sponsor."
968
- talking-points: "Mintlify writes beautiful docs from your codebase. For developer-facing teams. Mention the GitHub integration."
969
- performance-notes: "Issue 12: 39.2% open rate, 6.8% click rate. Sponsor link received 47 clicks. Will share screenshot report."
970
- sponsor-tags: [developer-tools, newsletter, q1-2026]
971
- content: |-
972
- # Sponsor Brief: Mintlify — Issue 12
973
-
974
- ## Deal summary
975
-
976
- - **Format**: Primary newsletter placement, Issue 12 (The Sovereign Stack)
977
- - **Value**: €800
978
- - **Deliverables**: 1 newsletter mention (80-100 words, primary placement) + 1 LinkedIn post tagging Mintlify
979
- - **Exclusivity**: No competing dev-tool sponsors until March 15, 2026
980
- - **Payment**: Invoice sent Feb 17 — awaiting transfer
981
-
982
- ## Approved copy (newsletter)
983
-
984
- Mintlify builds documentation that actually gets read. If you're a developer or building developer-facing tools, Mintlify generates beautiful docs directly from your codebase — with GitHub integration, versioning, and AI-powered search. Worth 10 minutes to see what your docs could look like.
985
-
986
- ## Performance report (to send)
987
-
988
- Issue 12 stats to share with Alex:
989
- - Open rate: 39.2% (industry avg ~22%)
990
- - Click rate: 6.8%
991
- - Sponsor link clicks: 47
992
- - Screenshot attached in follow-up email
993
-
994
- ## Notes
995
-
996
- Alex Chen is responsive on email. They're considering a Q2 campaign (3 issues). Keep performance data clean and send within 48h of issue send. Relationship worth nurturing — philosophically aligned audience.
997
- - profileSlug: sponsor
998
- title: Anytype
999
- properties:
1000
- deal-status: Prospecting
1001
- sponsor-type: Social Post
1002
- contact-name: Pavel K.
1003
- deal-value: 600
1004
- payment-status: Not Yet Due
1005
- deliverables: "1 LinkedIn post (honest review format). 1 Twitter thread. Not exclusive."
1006
- talking-points: "Anytype is open-source, local-first, object-based PKM. Philosophically aligned with Synap audience."
1007
- sponsor-tags: [pkm, local-first, sovereignty]
1008
-
1009
- suggestedRelations:
1010
- - sourceRef: "post:Why your subscriber list is not yours — and what to do about it"
1011
- targetRef: "campaign:Data Sovereignty Series"
1012
- type: belongs_to_project
1013
- - sourceRef: "post:Synap's entity model: why we ditched the database-first approach"
1014
- targetRef: "campaign:Synap Template Launch — Q1 2026"
1015
- type: belongs_to_project
1016
- - sourceRef: "post:Thread: The creator tool stack is broken — here is why"
1017
- targetRef: "campaign:Synap Template Launch — Q1 2026"
1018
- type: belongs_to_project
1019
- - sourceRef: "post:Content OS template — what's included and why we built it"
1020
- targetRef: "campaign:Synap Template Launch — Q1 2026"
1021
- type: belongs_to_project
1022
- - sourceRef: "post:Data sovereignty is not a technical concept — it is a political one"
1023
- targetRef: "campaign:Data Sovereignty Series"
1024
- type: belongs_to_project
1025
- - sourceRef: "post:How Synap templates are seeded: the JSON-first approach"
1026
- targetRef: "campaign:Synap Template Launch — Q1 2026"
1027
- type: belongs_to_project
1028
- - sourceRef: "post:Why your subscriber list is not yours — and what to do about it"
1029
- targetRef: "pillar:Data Sovereignty"
1030
- type: relates_to
1031
- - sourceRef: "post:Synap's entity model: why we ditched the database-first approach"
1032
- targetRef: "pillar:Product Building"
1033
- type: relates_to
1034
- - sourceRef: "post:Thread: The creator tool stack is broken — here is why"
1035
- targetRef: "pillar:Creator Economy"
1036
- type: relates_to
1037
- - sourceRef: "post:Content OS template — what's included and why we built it"
1038
- targetRef: "pillar:Product Building"
1039
- type: relates_to
1040
- - sourceRef: "post:Data sovereignty is not a technical concept — it is a political one"
1041
- targetRef: "pillar:Data Sovereignty"
1042
- type: relates_to
1043
- - sourceRef: "post:How Synap templates are seeded: the JSON-first approach"
1044
- targetRef: "pillar:Product Building"
1045
- type: relates_to
1046
- - sourceRef: "newsletter:The Sovereign Stack — Issue 12"
1047
- targetRef: "campaign:Data Sovereignty Series"
1048
- type: belongs_to_project
1049
- - sourceRef: "newsletter:The Sovereign Stack — Issue 13"
1050
- targetRef: "campaign:Synap Template Launch — Q1 2026"
1051
- type: belongs_to_project
1052
- - sourceRef: "newsletter:The Sovereign Stack — Issue 12"
1053
- targetRef: "pillar:Data Sovereignty"
1054
- type: relates_to
1055
- - sourceRef: "newsletter:The Sovereign Stack — Issue 13"
1056
- targetRef: "pillar:Product Building"
1057
- type: relates_to
1058
- - sourceRef: "newsletter:The Sovereign Stack — Issue 14"
1059
- targetRef: "pillar:Data Sovereignty"
1060
- type: relates_to
1061
- - sourceRef: "newsletter:The Sovereign Stack — Issue 12"
1062
- targetRef: "sponsor:Mintlify"
1063
- type: relates_to
1064
- - sourceRef: "campaign:Data Sovereignty Series"
1065
- targetRef: "pillar:Data Sovereignty"
1066
- type: relates_to
1067
- - sourceRef: "campaign:Synap Template Launch — Q1 2026"
1068
- targetRef: "pillar:Product Building"
1069
- type: relates_to
1070
-
1071
680
  displayTemplates:
1072
681
  - name: Post Card
1073
682
  description: "Content unit with status, format, platform, and performance metrics"
@@ -1400,6 +1009,37 @@ playbooks: []
1400
1009
  onboarding:
1401
1010
  goal: "Capture the user's brand voice, audience, content pillars, and publishing rhythm across channels — so the workspace reflects how they actually create and distribute content, not a generic calendar."
1402
1011
  framing: "Act as a seasoned content strategist. Tease out their voice and positioning, who they're talking to, the recurring themes they own, the channels they publish on, and how often. Translate that into pillars, platforms, and a seeded content calendar."
1012
+ expertise:
1013
+ starters:
1014
+ - >
1015
+ Most creators over-index on one format and burn out. Propose 3–4 pillars
1016
+ that mix TEACH (how it works), PROVE (customer/results), and PROVOKE
1017
+ (point of view) — then adapt the mix to their niche. Don't ask for pillars
1018
+ from a blank slate; offer a starting set and let them react.
1019
+ - >
1020
+ Better to own ONE channel consistently than be thin on four. If they list
1021
+ many platforms, propose a primary channel + a cadence they can actually
1022
+ sustain, and treat the rest as repurposing targets, not separate efforts.
1023
+ - >
1024
+ Every pillar should ladder to a business goal — awareness, trust, or
1025
+ conversion. If a pillar is just "stuff we post", propose the job it should
1026
+ do and tie it to a specific audience segment.
1027
+ blindSpots:
1028
+ - >
1029
+ Distribution is the silent killer — great content nobody sees. If they
1030
+ haven't said HOW each piece gets discovered (SEO, a platform's algorithm,
1031
+ an email list, founder-led amplification), raise it before moving on.
1032
+ - >
1033
+ No repurposing plan = 5× the work for 1× the reach. If they treat each
1034
+ post as one-and-done, propose a chain: one deep piece → clips → posts →
1035
+ newsletter.
1036
+ - >
1037
+ Pillars with no audience attached reach no one. Tie each pillar to a
1038
+ specific segment — "content for everyone" is content for nobody.
1039
+ bar: >
1040
+ The pillars + primary platform + cadence read like a system a small team
1041
+ could actually run for 3 months without burning out — where every pillar has
1042
+ a clear audience, a clear job, and a way to get discovered.
1403
1043
  collect:
1404
1044
  - profileSlug: pillar
1405
1045
  what: "Their recurring content themes / brand voice — the lenses their audience knows them for, and who each speaks to"