// nuage.ee · in-house product

Nimbus

A content operations platform. One strategy drives everything — SEO articles, social posts, finished video — generated, reviewed, published and tracked in one place, where every move the machine wants to make is a proposal you approve.

Strategy, studio, publishing, analytics. The platform works the content. You approve, reject, or edit — nothing ships without you.

1strategy behind every piece
0pieces published unreviewed
3cuts from every storyboard
6channels from one brief
// see it

One film, straight from the product

A narrated walk through one quarter of Fjord & Pine, the demo brand this whole page runs on — the strategy drafted, a brief fanned out, cuts rendered, the SEO matrix expanded, the queue decided, and what came back. Every frame is the product's own chrome: the same screens, the same data and the same palette as the live scenes below.

Nimbusthe product film · narrated

One quarter of the demo brand, end to end: the strategist drafts the 90-day plan, a brief fans out into an article, five posts and a storyboard, the storyboard renders to three cuts, the SEO engine expands 36 grounded pages, and everything queues for your approval — then the comments and the numbers come back.

the strategythe studiothree cutsthe seo enginethe queuewhat came back

Rendered with narration and score, like the Stratus films — same Atlas palette, different product. The figures it shows are the same figures on the strategy and performance boards below.

// the idea

The tools multiplied. The content didn't get better.

A keyword tool, a writing tool, a scheduler, a video editor, an analytics tab per platform — and the strategy in a slide deck nobody opens. Nimbus holds all of it as one model: every piece of content knows which strategy slot it serves, where it will publish, and what came back.

A marketing stack asks

Which of our nine tools owns this post?

An agency asks, every Monday

Who is writing this week’s content?

Nimbus asks, once

What is this piece for, and what may happen to it next?

Both halves of that answer live in the platform. A piece is an object with a purpose and a lifecycle — and the lifecycle is made of actions you approve.

// the strategy

The plan is the product's first proposal

Give it the brand brief, the channels and last quarter's numbers, and the strategist drafts a 90-day plan — pillars, keyword clusters, a channel calendar. You approve the week in one pass or reject a slot with a reason. It never silently rewrites the plan; revisions arrive as diffs.

nimbus/strategy/q3/
the 90-day plan · drafted from the brief + last quarter3 pillars · 3 clusters · 56 slots proposed
Small-space living40%
the traffic pillar — search-led
Materials & care35%
the trust pillar — depth-led
Workshop stories25%
the brand pillar — social-led
small living room layout14 briefs · 2.4k/monow #3
oak table care9 briefs · 1.1k/monow #5
scandi furniture quality11 briefs · 880/monow #8
Monarticle · corner lightingpost · article teaser
Tuereel · 3 rulesreel · cross-post
Wedvideo · oak table care
Thucarousel · before/afterthread · from article
Frinewsletter · weekly issue
every slot is an actionstrategy.proposeslot.approveslot.rejectstrategy.revise

90-day plan

pillars → clusters → calendar, drafted from the brand brief and last quarter’s numbers

every slot is a proposal

approve the week in one pass, or reject a slot with a reason the strategist learns from

it re-plans

when a cluster stalls or a post outperforms, the revision arrives as a diff — never a silent rewrite

// the studio

One brief becomes everything the slot needs

A brief is one strategy slot made concrete. The studio takes it and drafts the whole set: the SEO article with its outline, meta and internal links; per-channel posts written for each channel, not pasted across them; and a video storyboard that renders to finished cuts.

the brief — one strategy slot

Corner lighting for small rooms

pillarSmall-space livingclustersmall living room layoutintenthow-to · bottom-of-funnel CTA to the lighting collection
SEO article1 900 words · outline, meta, internal links to 4 existing pieces
  • H1 proposed from the cluster head
  • FAQ block from real queries
  • schema.org markup
Posts, per channel5 variants — not one caption pasted five times
  • LinkedIn: 120-word insight
  • X: 6-tweet thread
  • Instagram: carousel copy + alt text
Video, storyboard to cutscripted, storyboarded and rendered in the platform’s own pipeline
  • 16:9 for YouTube
  • 9:16 for TikTok / Reels / Shorts
  • 1:1 for feeds — same storyboard

The video column is not a mock. Approve the storyboard and the pipeline scripts, lays out and renders the cut in 16:9, 9:16 and 1:1, brand kit applied — the film above walks that exact flow.

// the seo engine

Programmatic SEO that cannot invent facts

One brief can also become a corpus. The planner turns an idea into axes and a section blueprint, expands the matrix, and generates every page against the brand's fact book. A quality gate bounces prose that is too long, off-doctrine or too similar to its siblings — with directive feedback, not 'try again'. A fact-checker then verifies grounding: every concrete claim must match a recorded fact, or the page flags and waits. This engine is not a roadmap item — it already runs a production site; Nimbus inherits it whole.

nimbus/studio/briefs/care-guides/
a programmatic brief · tier T2 · planning assisted · publish review-all36 candidate pages · 3 languages

Care guides, per wood and finish

A guide for every wood × finish combination we sell — what to oil, what to avoid, how often. Link each guide to its collection.

wood
oakashwalnutpine
finish
oiledsoapedlacquered
language
endesv
4 × 3 × 3 = 36 pages · slug {wood}-{finish} · one blueprint, one review
planidea → axes + section blueprint, as a proposal you edit
generateevery block written against the fact book
quality gatelength · doctrine · similarity vs siblings
fact-checkevery concrete claim must match a fact
reviewflagged content always waits for you
commitpages · sitemap · hreflang · 301s
the quality gate — all three must pass
word windowevery section inside its band — and the retry prompt is directive: “210 words, the target is 60–160”, never “try again”
banned phrasesthe doctrine list — the words your brand never says, enforced at generation time
similarity ≤ 0.555-gram overlap checked against sibling pages in the same language — 36 guides, no two allowed to blur together
fact-check — grounding, not the world
214claims grounded
96generic — nothing to verify
3flagged for review
“oiled oak needs re-oiling every six months”no supporting fact in scope wood:oak — accept it, cut it, or add the fact and it grounds on the next run

Regeneration is deterministic: voice, angle and layout derive from a hash of the page key, so a re-run reproduces identical pages and a resumed campaign skips everything whose inputs did not change. Renamed URLs write 301s with chain collapse; canonicals, hreflang alternates and the sitemap all come from the same pages table.

// the guarantee

One publish path, and review is a stage in it

Everything that would leave the platform — a post, an article, a video upload, a comment reply — goes through the same pipeline, whoever drafted it. Agents run in propose mode: their work stops at review and waits for you.

a piece you wrote yourselfmode: auto
strategist · studio · triagemode: propose
publish()
draftgenerated against the strategy slot
reviewapprove · edit-and-approve · reject with a reason
schedulequeued to the channel’s best window
publishthrough the channel’s own API
trackmetrics and comments flow back to the piece
publishedthrough the channel’s API, at its best window — the piece starts reporting back
pendingan approval card — the draft, its evidence, and what it will post where
rejectednothing posts — the reason is mined into a rule the next draft obeys

The approvals queue doubles as the audit trail: what was proposed, what you changed, what shipped, and what it earned — one record per piece, never pruned.

// the decision

A proposal is never take-it-or-leave-it

Edit-and-approve opens the draft in the real editor — the post, the article, the storyboard — and one click ships your amended version as your own action, rejecting the original with a reason the drafting agent learns from.

article.publishpending

Publish "Corner lighting for small rooms" to the Journal

WordPress draft ready · meta + schema set · 4 internal links

content studio · brief approved Tuesday
Edit & approveRejectApprove

Every card carries the draft, the evidence behind it, and exactly what will happen where. Edit-and-approve files your version as your own action.

The dial goes channel by channel

Auto, propose, or manual — per channel and per verb. Let the newsletter schedule itself, keep TikTok replies on propose, keep anything touching the blog behind your approval. The default everywhere is propose.

Rejections are mined, not wasted

Reject three drafts for the same reason and the pattern is written down as a voice rule you confirm once. Every confirmed rule calibrates every draft after it — tone, claims, hooks, length.

// the channels

Publishing and measurement are APIs, not tabs

Connect a channel once with OAuth and it becomes two pipes: proposals flow out through the channel's own publishing API, and its numbers and comments flow back to the pieces that earned them.

publishCMS + social APIs · OAuth once, then governed publishing
wordpressdrafts, media, categories — via REST
youtube · tiktokuploads, titles, thumbnails, captions
instagram · facebookreels, carousels, stories — Graph API
linkedin · xposts, threads, documents
mailercampaigns + sequences, through your own SMTP
measurethe numbers come back to the piece that earned them
search consolequeries, clicks, position — per page
ga4sessions, conversions, attribution
platform insightsviews, retention, saves — per post
listenwhat people say about the content, triaged
commentsYouTube, TikTok, Instagram — one queue
mentionstags and replies worth answering
reviewsflagged when a reply should be human-only
same contract, when a brand needs them
ghostwebflowshopify blogpinterestthreadsmailchimpmatomoahrefs

A channel never sees an unapproved draft. Tokens live in an encrypted vault; revoke a channel and its queue freezes — it never leaks.

// the mailer

Email marketing is built in, not bolted on

The mailer we run in production at nuage.ee — identities, contacts, groups, templates, campaigns, follow-up sequences with response detection — rebuilt inside Nimbus with the AI layer on top. Campaigns are drafted from the strategy, sequences stop themselves the moment someone replies, and every send sits in the same approval queue as everything else.

Campaigns from the calendar

The Friday newsletter slot is a campaign. The issue is drafted from what shipped that week — in the brand voice, against the fact book — and waits in the queue like everything else.

Audiences that maintain themselves

Contacts imported and deduplicated, groups kept clean, and behaviour-based segments — clicked twice, went quiet, bought once — proposed by the platform, never applied silently.

Follow-ups that know when to stop

Sequences send until someone responds — response detection cancels the rest of the thread the moment a reply lands. The reply itself joins the same triage queue, with an answer drafted.

Deliverability is bookkeeping

Sending identities and SMTP tested before a single send, failures retried with backoff, and per-recipient opens, clicks and bounces joined back to the campaign — and to the strategy behind it.

The sending engine is proven on our own outreach: contact import with dedupe, per-recipient delivery stats, failed-send retry, scheduled follow-ups cancelled on reply. Nimbus adds drafting, segmentation proposals and reply triage on top.

// after publishing

The comments come back as proposals too

Every published piece keeps reporting in. Comments from every platform land in one queue, triaged: questions get drafted replies grounded in your own content, praise gets a human touch proposed, and complaints are routed to a person — a content bot never answers an angry customer.

nimbus/comments/queue/
this week · every platform, one queue
0comments this week
0replies proposed
0approved & posted
0escalated to a human
tiktokon “Three rules41 min agopending

ok but rule 2 with kids in the house?? one big piece they will destroy

proposed reply

Honestly — rule 2 survives kids better than five small pieces do: fewer corners, nothing tips. We wrote up the durable-finish options here → fjordpine.co/journal/finishes

youtubeon “Oak table care2 h agopending

Does this work on veneer or only solid wood?

proposed reply

On veneer skip step 3 (the sanding) — the rest applies. The guide covers both, linked in the description.

instagramon “before/after carousel3 h agoapproved

the corner lamp trick actually changed my whole room 😭

proposed reply

This is exactly the photo we hoped someone would take. Mind if we share it to stories with credit?

youtubeon “90 days recap5 h agoescalated

my order arrived damaged and support is not answering

no draft

routed to support — a complaint is never answered by a content bot

// the numbers

Metrics belong to pieces, not dashboards

Search Console queries, GA4 sessions and per-post platform insights are joined back to the piece that earned them. So 'what worked' is never a feeling — and the next month's strategy proposal cites its evidence.

nimbus/performance/quarter/
search console + ga4 + platform insights · joined to pieces
0organic clicks · quarter
0pieces shipped
0keywords in top 10
organic clicks · 12 weeks — the same curve the recap clip animates
blogCorner lighting for small rooms1 820 clicks · #3 for the cluster head
ttThree rules — 9:16 cut48k views · 71% watched to the end card
ytOak table care — 16:912k views · CTR 6.1% · top comment answered
igWorkshop stories · week 6saves 3× baseline — strategist proposes more
xScandi quality threadunder baseline — slot proposed for reallocation
// the loop

It learns from you, and from the numbers

Your decisions and your results are both training signal — held as rules you can read, confirm and delete, not weights you can't.

From your rejections

Reject three drafts for sounding salesy and the pattern is mined, written down as a tone rule, and shown to you to confirm. Every confirmed rule calibrates every draft after it.

From the numbers

What earned clicks, watch-time and replies feeds the next month’s proposals — which hooks, which lengths, which posting windows. The strategy revises itself, as a diff you approve.

From what it may not do

Complaints route to humans. Regulated claims are blocked at draft time. The reply queue never auto-posts — the dial only goes to auto where you set it, channel by channel.

// under the hood

Held together by invariants, not intentions

Like Stratus, Nimbus is built on one write pipeline and an audit trail that doubles as the approval queue. These are the rules the contract tests hold.

one content modelone publish pipelinedurable job queueone LLM gatewayfact book + quality gatehash-stable regenerationmailer — campaigns · sequencesOAuth token vaultper-channel rate limitsbrand kit — type · palette · voicerender farm for videowebhook ingest for metrics
01

Nothing ships unapproved

Every publish, reply and schedule is an action a person approved — or explicitly dialled to auto for that channel. The dial defaults to propose.

02

Every piece carries its provenance

Which brief, which strategy slot, which model drafted it, who edited, who approved — attached to the piece, forever.

03

Edit-and-approve files your version

Amending a draft rejects the original with a reason its author learns from, and publishes yours as your own action.

04

The audit trail is never pruned

Approvals double as the history: what was proposed, what changed, what shipped, what it earned.

05

Channel tokens are encrypted at rest

OAuth grants live in a vault; a missing key fails publishing closed. Revoke a channel and its queue freezes, never leaks.

06

Metrics belong to pieces, not dashboards

Search Console rows, GA4 sessions and platform insights are joined back to the piece that earned them — so the next proposal has evidence.

07

A concrete claim needs a recorded fact

The checker verifies grounding, not the world: “seats 400”, “since 2009”, “re-oil every 6 months” either match the fact book or flag for review. Resolving one is accept, cut, or add the fact.

08

URLs never change silently

Renames write 301 redirects with chain collapse. Canonicals, hreflang alternates and the sitemap are generated from the same pages table — they cannot disagree.

// what next

Want your content operation to run like this?

Nimbus is ours, built end to end — the strategist, the studio, the video pipeline and the two clips above. We deploy it per brand and shape the strategy around how you already publish. Tell us what your channels look like.