479 releases and counting

What shipped

Release by release, with docs to match on docs.ecomyard.com. Built in the open, tested on our own brand first.

Opening a creative fills the screen instead of a rail

0.120.0 · Sep 2, 2026

  • ImprovedA creative now opens as a panel in the middle of the screen with three columns: the file on the left, the fields in the middle, the feedback and the history on the right. The four tabs are gone. You were clicking between them to compare a comment with a field that was already on the same screen.
  • ImprovedThe dropdowns are gone with them. Status is six coloured stages you click, funnel and landing are switches, and format is a row of options rather than a list you have to open to find out what is in it.
  • NewCost, with a slider for the rough figure and a field next to it for the exact one. It was in the database and nowhere on screen.
  • ImprovedProduct and ICP keep a picker, because a list of thirty five products does not belong on a screen all at once. It searches now.
  • ImprovedNew creative got the same treatment, with the files in a column of their own so attaching them is not the last thing at the bottom of a long form.

Cards on the board show the file, not a film icon

0.119.0 · Sep 2, 2026

  • NewBoard and Gallery cards now show what the creative actually looks like. A file linked from Drive shows Drive's own preview, video included, so you recognise a creative without opening it.
  • ImprovedThe newest file attached wins, because that is the latest export rather than the first draft.
  • ImprovedA creative whose only attachment is a filename from an import still shows the icon: there is no file behind it yet. Link those to Drive from the banner at the top of the board and the previews appear.

The sidebar highlights one view, not all of them

0.118.1 · Sep 2, 2026

  • FixedOn the content board, Table, Board, Gallery and Ready to hand off were all highlighted at the same time, so the sidebar could not tell you where you were. Those links differ only in what comes after the question mark, and the comparison ignored that part. It no longer does.
  • FixedSame fix for New market, New ICP and New chat, which sat highlighted the whole time you were in those sections, and for the briefing filters.

The persona signup form asks one thing at a time

0.118.0 · Sep 2, 2026

  • ImprovedThe public form is now one question per screen with a progress bar, rather than a wall of inputs. Enter moves on, and there is a way back. Somebody deciding whether you are worth ten seconds should not be looking at fifteen boxes.
  • NewInstagram and TikTok are asked on every form, with the at sign already in the field, and at least one of the two is required. Paste a whole profile link if that is easier: it is stripped back to the username on the way in.
  • NewThose handles are clickable on the Applications screen and open the profile in a new tab, so checking somebody is one click rather than copy and paste.
  • NewCreators pick the country they are in, from the list you set. Somebody who does not see theirs is told you have not enabled it yet and to ask you, instead of guessing they were turned down.
  • NewOnboarding now asks which countries you recruit in, and Settings, General is where you change them later. Leave it empty and applicants are simply not asked.

A signup form of its own for every persona

0.117.0 · Sep 2, 2026

  • NewEach persona can have its own page for recruiting creators, with its own link. Your general signup link keeps working exactly as it did: this sits next to it, for when you are looking for makers who fit one audience rather than anyone at all.
  • NewYou write the questions. Short and long answers, a phone number, a link, pick one from a list or pick several. Plus a headline, an intro, a background and a row of pictures showing what the audience looks like.
  • ImprovedName and email are always asked and cannot be removed, because an application without an address is one you can never approve.
  • ImprovedRetiring a question does not touch the answers you already have. Each answer keeps its own copy of the question as it was asked, so renaming one later never rewrites what somebody told you.
  • ImprovedApplications show which persona they came in through, with the answers underneath, and approving one carries that persona onto the affiliate. Somebody who applies through two of your forms stays one affiliate with one code instead of becoming two.

Image storage no longer answers to a request without a session

0.116.0 · Sep 2, 2026

  • FixedFour of the image buckets would list their contents for a caller with no account. No file was readable that is not already published, and nothing in the database was reachable, but the folder names are built from workspace and account identifiers and those are not ours to hand out. Listing now requires a signed in session.
  • ImprovedNothing changes for anyone looking at the product. Logos, avatars, briefing covers and persona photos are served from their public address, which never consulted these rules in the first place. Verified by loading one with no credentials at all before and after.

Removing a creator now takes their unspent codes with them

0.115.0 · Sep 1, 2026

  • FixedEvery click on a safe link leaves one unused code behind, waiting to be created in your store a few minutes later. So a creator you removed could still have one in that queue, and the store would get it anyway: a working discount for a partner who is gone, on orders that are then credited to nobody. Removing a creator now retires those codes in the same moment.
  • ImprovedA code already handed to a shopper keeps working. They did nothing wrong, and breaking their checkout to tidy up our side would be the wrong trade.
  • ImprovedPutting a creator back to active needs no repair: their next click mints a fresh code, the same way it does for somebody brand new.

Search now opens the thing it found

0.114.0 · Sep 1, 2026

  • FixedSearch found a creative and then dropped you on the board it lives on, and a brief on the list of briefs. You still had to go looking for the thing you had just found. A result now opens the creative's drawer or the brief itself, and the address it lands on can be pasted to somebody else.
  • ImprovedIt looks at more than names. Creatives by concept and SKU, briefs by description, affiliates by handle and referral code, and applicants are searchable at all now. So a half remembered concept, or a code off an order, finds the thing.
  • ImprovedResults are ordered by how well they match instead of by what kind of thing they are. Something starting with what you typed comes before something that merely contains it.
  • ImprovedAnything you open is remembered and comes back first next time, not just the fixed list of places to go.
  • NewKeyboard shortcuts. Press g then a letter to jump to a section, Command and Enter to open a result in a new tab without losing your place, and the question mark anywhere for the full list. They stay quiet while you are typing in a field.

Three places where the money and what we said about it came apart

0.113.0 · Aug 31, 2026

  • FixedA refund that arrived before the shipment used to strand the whole commission. The refund marked the order refunded, and the fulfilment that followed only recognised an order still waiting, so it was dropped. The creator was never paid for the part that did ship, and the order showed up on no screen at all. The commission is now booked where it stands, on what is left after the refund, and the order stays marked refunded because it was.
  • FixedAn order that was paid out and then partly refunded quietly stopped counting as paid and read as still owed forever. The payout was writing over its own record.
  • FixedThe mail telling a creator what they earned worked the figure out again from the gross order total and their current percentage, instead of reading what was actually booked. It named more than they were owed, by the VAT and the shipping, and quoted today's rate for an order agreed at an older one. It now reads the ledger, so the mail and the portal say the same thing.
  • NewA partial refund used to take money off a creator's balance without a word. They now get a message saying what came off and what still stands, and it says the right thing when the order had already been paid out.
  • FixedA creator you removed kept handing out live discount codes through the link in their bio. The store honoured them and the order was then refused attribution, so the brand paid for sales credited to nobody. Their link now sends the shopper to the store without a code, and still counts the click so you can see it is being shared. Removing a creator also takes effect before the store is called rather than after it.

Approving an invite can no longer create an affiliate nobody can reach

0.112.0 · Aug 31, 2026

  • FixedAn invite sent from Discover is made from a handle, so it carries no email address. Approving one created an affiliate without an address, and then their welcome with their code, every commission alert and every payout notice failed on delivery while this screen showed the approval as done. Approving now asks for the address and refuses without it, the same way adding an affiliate by hand always has.
  • ImprovedThe field sits where the address would have been on the row, so it reads as the missing value rather than an extra step. The address is written onto the application too, so the record the brand keeps matches the affiliate that came out of it.

The sign in address is now in the panel, and reachable

0.111.0 · Aug 31, 2026

  • FixedConnecting by signing in could not work at all. Every request was checked against the list of connection tokens first, and an approval is not a token, so it was turned away with a message telling people to create the connection they had just made. Fixed, and the branch it was blocking is now reached.
  • FixedEven past that, the first call would have failed on a database permission we had taken away and not given back. Restored, matching how every other internal call in Ecomyard works.
  • NewConnections now shows the address to paste into Claude for signing in, with a copy button. It carries no secret: it names the workspace and Claude asks you to sign in. Until now that address existed but appeared nowhere, so nobody could find it.
  • ImprovedEach door now points a client at the description of itself rather than a single fixed one, so the address Claude checks is the address it called.

A signed in connection shows up like any other

0.110.0 · Aug 31, 2026

  • FixedA connection somebody approved by signing in did not appear under Connections at all: the panel only listed the ones made with a URL. There was no way to give it write access and no way to revoke it, and its calls sat in the activity list with no name beside them. It now sits in the same list, with the same badges, the same write switch and the same revoke.
  • ImprovedThe two shapes are told apart where it matters and nowhere else: a signed in connection says so, a URL one shows the start of its token. Everything you can do to one you can do to the other.

Connect Claude by signing in, instead of pasting a secret URL

0.109.0 · Aug 31, 2026

  • NewClaude can now connect to a workspace the way every other connector does: you press connect, sign in to Ecomyard, approve the workspace, and you are done. No URL to copy, nothing to keep secret, and the approval names which brand it is for.
  • NewThe approval screen is ours, so it asks the question the protocol cannot: which workspace. Only owners and admins can approve one, the connection starts read only, and a second workspace has to be approved separately rather than coming along quietly.
  • ImprovedAn access token from this flow reaches the twelve MCP tools and nothing else. It is checked for a signature, then thrown away, and the database refuses it everywhere a signed in person would normally be allowed, so a leaked one is worth no more than the tools themselves.
  • ImprovedConnections made with a URL keep working exactly as they did. Nothing has to be redone.

The Claude connection can keep its password out of the address

0.108.0 · Aug 31, 2026

  • NewA connection can now send its token as an Authorization header instead of carrying it in the URL. Same credential, but a header is not written into access logs, browser history or the proxies a request passes through. The create dialog shows both shapes; the URL one is still there and nothing you already connected has to be redone.
  • ImprovedThe server answers on one address for every connection when a header is used, so there is no secret in the address to leak by pasting it in the wrong place.

Meta Ads Manager, the connect half

0.107.0 · Aug 31, 2026

  • NewConnections has a live Meta Ads Manager entry. Connect the Facebook account that administers your ad account, then pick which ad account this workspace pushes to. A person who administers several is asked rather than guessed at, because a creative in the wrong account costs a media buyer an afternoon.
  • NewWhat it will do, stated narrowly on purpose: approved creatives go into that account's media library. No campaign, no ad set, no ad, so nothing here can start spending. The buyer opens Ads Manager, chooses the asset and keeps every budget and targeting decision.
  • NewMeta only lets an app reach ad accounts belonging to people who hold a role on it until Advanced Access is granted, so a connection can succeed and still list nothing. The picker says that in as many words instead of showing an empty list.

Connect Claude to your workspace

0.106.0 · Aug 31, 2026

  • NewConnections has a Claude entry. Create a connection, copy the URL it gives you once, paste it into Claude as a custom connector, and your own Claude can answer from your workspace. This is not a chat bolted into Ecomyard: you stay in Claude, and Ecomyard is the connector.
  • NewIt reads personas with their research, markets with their competitors and awareness split, briefs, the board, products and the workspace counts, and it is told what your evidence labels mean so an assumption cannot arrive dressed as a fact. Writing is off until you switch it on per connection, and then it is four things: create and update a persona, create a brief, add a worklist task.
  • NewThe safeguards, plainly. The token is stored hashed and shown exactly once, so a lost URL is replaced rather than looked up. The workspace boundary is enforced in the database, not in the request. There is no delete tool at all. Every call writes a row: the connection that made it, the tool, the arguments and whether it worked, refusals and their reason included. The whole workspace can read that list.
  • NewEvery tool now tells Claude whether it only reads. The eight reading tools run without interrupting you, and the four that write always ask first, which is the whole point: being asked to approve a list of markets as often as a new brief is what trains people to stop reading the question.
  • NewA brief Claude writes stays private. It lands on your board as a draft and reaches the creator marketplace only when a person publishes it, so nothing an AI wrote gets in front of a creator unread.

Market research, with the receipts

0.105.0 · Aug 30, 2026

  • NewA market can research itself against the live web. It comes back with the competitive set as rows: who you actually lose to, the claim each one makes, what it charges and where it is weak, and every weakness carries the link to the page that documents it.
  • NewThe awareness split arrives as five numbers with the reasoning that produced them, and says plainly when it is an estimate rather than something a source counted. A guess labelled as a guess is worth having; a guess wearing the clothes of a fact is not.
  • NewNothing is saved until you have read it. The run returns a draft, you keep the competitors you recognise and drop the ones you do not, and every number and every level is checked again on save against what the market itself allows. A weakness the run could not produce a source for is saved empty rather than as a fact.

The market became a layer

0.104.0 · Aug 30, 2026

  • NewA market is a record now: the category, the price band, the position you are taking, every competitor as a row with its claim, where it is weak and what it charges, and the awareness split as five numbers. It used to be a section of prose glued to one product, which nothing could read and nothing could add up.
  • NewA persona hangs from a market, so the market page counts what its personas have made: every creative for every persona in it, split by funnel stage. That is coverage for a whole audience instead of one profile at a time.
  • ImprovedThe format planner reads the awareness split instead of guessing it. A mostly unaware market gets the top of funnel weight it needs, a mostly product aware one does not, and an us versus them concept now knows who them is, by name, with the claim to answer and the weakness to press.
  • ImprovedThe board renamed type to concept and moved the old values, UGC, Explainer, US vs THEM, Podcast and the rest, into the format column they always belonged in. The chain reads the same everywhere now: ICP, market, funnel stage, format, concept.

The creator side caught up

0.103.1 · Aug 30, 2026

  • FixedSaved briefings were empty for every creator: the list joined tables a creator has no access to, so the heart stayed filled and the card never appeared. It reads its own list now.
  • FixedYour niches and platforms now travel with every application, which the profile page promised all along but the application never carried.
  • FixedEvery creator page shows a skeleton while it loads, the copy buttons say so when a webview refuses the clipboard, and a dropped connection no longer throws away a filled-in application.
  • FixedThe portal stops offering a safe link when the brand has no store domain behind it, and money statuses there carry the same colours the brand side uses.

The dead-click hunt: 47 interactions stopped lying

0.103.0 · Aug 30, 2026

  • FixedEvery setup-flow step now actually opens what it names, from the same page: Edit profile, Research with AI and the worklist all respond to the click instead of only changing the address bar.
  • FixedControls a role cannot use are hidden or say why: publish, disconnect, pay out, send campaign, save flow and delete were shown hot to members whose click the database silently refused.
  • FixedOptimistic switches and buttons roll back with a message when the save fails, instead of showing a state that never persisted: brief publish, applicant decisions, quick rules, worklist ticks.
  • FixedAccepting an application now claims the brief for that creator and takes it off the marketplace; the brief script is no longer readable by anonymous visitors; a typed but uncommitted trait no longer vanishes on save.
  • FixedSilent no-ops got voices: hand-off with nothing approved explains itself, uploads report failure, a comma in a fee no longer multiplies it by a hundred, and the fake 2FA toggle stopped pretending.

Open the worklist actually opens it

0.102.4 · Aug 30, 2026

  • FixedOpen the worklist, the cover stats and every other link into a research stop now scroll the page to the panel they open. Before, if the worklist was already the active tab, the click changed the address and nothing else.

Tabs that load say so

0.102.3 · Aug 30, 2026

  • ImprovedSwitching a research stop on the ICP page now shows a spinner on the clicked tab until the panel is there, instead of doing nothing for a beat.
  • ImprovedThe ICP placeholder became a person icon: an ICP is a person, not a target.

Creating a persona stopped being a form

0.102.2 · Aug 30, 2026

  • ImprovedNew ICP opens with just the identity: a name, a one-liner, and Draft with AI as the main road. The detail fields arrive drafted, or on request, never as a wall of empty boxes.
  • ImprovedDemographics became typed fields: the icon says what a value is, so six captions could go, and the details sit in two calm cards side by side.

Briefs open in a window, not a rail

0.102.1 · Aug 30, 2026

  • ImprovedA brief now opens as a large centred window: the story on the left, the levers (assignment, marketplace, applications) on the right, and typed chips for ICP, stage, reward and length under the title. The cramped side panel is gone.
  • ImprovedNew brief and New ICP open the same way, with the persona form using the width: demographics and traits side by side.

A brief can go straight to its creator

0.102.0 · Aug 30, 2026

  • NewWhen a persona has linked creators, Make brief becomes a choice: the open board, or straight to one of them. Assigned briefs are born claimed, leave the public marketplace, and land in that creator's portal ready to deliver against.
  • NewThe briefs board can reassign or release any brief from its detail panel, so handing work to a different creator is one click, not a delete and a redo.

The clarity pass went app wide

0.101.0 · Aug 30, 2026

  • ImprovedThe board's status column speaks the same chip language as everywhere else, the last raw palette colors and the last gradients left the app, and platform names on discover, content and hooks all carry their official marks, PayPal and Trolley included.
  • ImprovedLong tables stopped being walls: briefs, the affiliate health table, label media and linked content all page or fold, with counts in the filter pills.
  • ImprovedStatuses got their color back: a saved settings form confirms in green, a program only shows a live badge when it is live, campaign chips say one word, and the four dashboard numbers click through to their source.
  • ImprovedEmpty states across the app now offer their action instead of naming it, from New creative on an empty board to Add affiliate on an empty roster.

One clarity pass over the whole ICP surface

0.100.0 · Aug 30, 2026

  • ImprovedColor now carries status everywhere: hooks ready turn green and open tasks amber on the ICP card, Briefed is one green chip across the worklist, hooks and format plan, a low research confidence tints its number, and the strongest barrier shows its typed strength on the cover.
  • ImprovedResearch reads as content again: body copy sits at full contrast instead of grey, lists past eight items fold behind Show all, draft sources became the folded source list with clickable articles, and a draft format plan shows its hooks and script before you save it.
  • ImprovedDead ends removed: the four cover stats click through to their section, the worklist coverage line became funnel chips with a link to the board, and every empty state now offers its action, from Add creators to a New ICP button to a Shopify connect link.
  • ImprovedPlatform names on hooks carry their official marks, filter pills got counts, and the stray chip sizes were pulled onto one spec.

Demographics read as labels, not as a sentence

0.99.2 · Aug 29, 2026

  • ImprovedThe identity line under a persona's name became typed labels: a green banknote for income, a blue chip for age, a map pin for location, a heart for life stage. You see what a value means before you read it.

Persona traits became a list you edit, not a form you type into

0.99.1 · Aug 29, 2026

  • ImprovedThe Traits tab and the new ICP form dropped their six raw text boxes. Traits now use the same language as the product picker: pills with counts to pick a list, rows you edit in place and remove with one click, and one place to add the next item. Enter adds and keeps you typing.
  • FixedLong trait items wrap and grow with the window instead of clipping, on a phone as well as a desktop.

A format plan per persona, scored against the board

0.99.0 · Aug 29, 2026

  • NewEvery ICP can carry a format plan: which content formats to make for this buyer, how many of each, at which funnel stage, and why that format fits. The AI plans it from the saved research after you say what you want to test, and nothing is saved until you have read it.
  • NewFormats double as board labels, so the plan scores itself: label a creative Talking head for this persona and the plan ticks to 1 of 4 made, with no bookkeeping.
  • NewA plan row becomes a complete brief in one click, carrying its script outline and opening hooks with it, so the creator gets the whole assignment and not a title.