477 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.

Ecomyard AI lives at /ai

0.137.0 · Sep 4, 2026

  • FixedThe assistant sat at a URL carrying the product's old name. It is at /ai now. Anything already shared or bookmarked redirects there, so no link breaks.

Both dashboards load again

0.136.1 · Sep 4, 2026

  • FixedHome, the affiliate dashboard and both analytics pages showed Something broke on our side. A KPI card took a number and a function that writes it, and every page holding one runs on the server, so the function had to cross into the browser. React refuses that. The number arrives already written out now, which cannot fail the same way.

Ecomyard AI uses the window it is given

0.136.0 · Sep 4, 2026

  • ImprovedThe chat and the box you type in grow with the screen instead of sitting in a 672 pixel column with half the window empty beside them. They stop at 896, because a line past about a hundred characters is harder to read, not easier.
  • FixedAn answer had its own width cap underneath that, so widening the page moved the box and left the text where it was. The answer now fills the column with the rest of the conversation.

One scale under the small text, one word for an empty value

0.135.0 · Sep 4, 2026

  • ImprovedThere was no type scale under the smallest size, so three hundred places had each invented their own pixel value. Two steps now exist and every one of them uses them. Nothing on screen moved: it is the same size with a name.
  • ImprovedAn empty cell says Not set, or No data where nothing could be worked out. It used to be a dash, in twenty places, which says nothing and reads as a missing render.
  • FixedAmber text is readable. The warning colour sat at roughly two to one against white, which is under half of what it needs, on the seventy-odd places that use it for text.
  • ImprovedCorners that were four pixels are now on the scale like everything else, and the section title in the sidebar lines up with the rows under it.

Research this market actually runs

0.134.0 · Sep 4, 2026

  • FixedResearch this market never ran. It asked the database for a column the market layer dropped, so every run stopped with That market is gone before it reached the web.
  • FixedIt also handed back the wrong fields. The panel read the language, the currency, the price level, the VAT, the shipping promise, the payment methods, the marketplaces and the channels; the run returned a category and an awareness split, which this layer no longer has. Every cell said nothing was proposed, and saving wrote only the competitors.
  • NewThe run now shows the pages it stood on. It was already collecting them and then throwing them away, which is a strange thing for a panel whose whole job is letting you decide whether to believe it.
  • FixedA refused Shopify import no longer looks exactly like a successful one. Both used to be the same grey line.
  • NewSwitching workspace, logging out and removing a file now show that they are working. The workspace switch reloads everything and redirects, and it used to do that in complete silence.
  • FixedA KPI card is only green when something actually went up. A missing comparison and a flat window were both painted as growth, so a workspace in its first period got a green line with nothing behind it.
  • ImprovedThe number on a KPI card no longer counts up from zero while the trend beside it is already final, and the Avg line is gone: it was a mean per invisible bucket, not per day.
  • ImprovedOne card for a figure instead of three copies of it, without the drop shadow and the hover lift that came from the blog. The loading placeholder is now the height of the card it stands in for instead of half.
  • ImprovedMarket and persona chips are one quiet tone. The green and the blue belonged to the field, never to the value, so the same green sat in the same slot down a whole grid and meant nothing.

Payment methods wear their own badge

0.133.0 · Sep 4, 2026

  • ImprovedA market's payment methods show as the real marks instead of a line of text: iDEAL, Bancontact, Klarna, PayPal, Visa, Mastercard, American Express, Apple Pay and Google Pay. A rail is recognised in less time than it takes to read half its name.
  • NewA method we hold no mark for keeps its name in words, so Credit card and Cash on delivery are still facts about the market rather than blanks. Past eight, the rest become a count.

A market's facts, said once

0.132.0 · Sep 4, 2026

  • FixedThe market page printed its facts twice, once cut off at +3 and once in full, so the same four things were said ten times over and the values worth reading were the ones that got clipped.
  • ImprovedThey are four labelled cells now: price level, VAT, shipping promise and payment methods, each with its name above it and the whole value readable. No repeated icons, and a fact you have not written keeps its cell and reads Not set.
  • FixedNew market in the sidebar opened the form straight away while the button on the page first asked where the market should live. Same words, two behaviours; both now ask.

The rail reads in the order you work

0.131.0 · Sep 4, 2026

  • ImprovedMarkets, ICPs, Moments, Offers, Briefs, Affiliates and the content board now sit in the rail in the order the work is done. The board used to sit at the top, which put the end of the loop above its beginning, and Offers came before Moments even though you need the moment first.
  • ImprovedConnections moved to the bottom, next to Settings and Help. It is plumbing you set up once, not a step in the chain, and standing in the middle of the chain it read like one.

A flag per market, and a way back to all of them

0.130.1 · Sep 4, 2026

  • ImprovedA market in the sidebar carries its flag instead of a shop icon. One flag, not the whole set: four flags on a row read as clutter, and the name says the rest.
  • NewAll markets sits above the list. Opening one market used to leave no way back to the overview without the rail.

Your markets in the sidebar, and a choice when you add one

0.130.0 · Sep 3, 2026

  • FixedThe sidebar lists your markets. It always could, but nothing ever handed them to it, so the section fell back to its create row and looked like a workspace with no markets in it.
  • FixedThe create row stays under the list, for markets and for ICPs. Having one of either used to remove the only way to make a second from the sidebar.
  • NewNew market asks where it should live. A market in Shopify decides what a shopper is charged and shipped, and importing mirrors it here. A market only in Ecomyard is research your store knows nothing about. Both are useful, and picking the wrong one is only obvious weeks later.

The Shopify market import asks for less, and works

0.129.3 · Sep 3, 2026

  • FixedThe import was reading each market's locale and storefront domain and then throwing both away. Shopify refuses an entire query over a single field the token may not read, and one of those needs a separate permission, so two unused fields were costing the whole import. Deleting them fixed it, with no extra access to grant.
  • ImprovedIt now asks for exactly what it writes: the name, the countries and the currency.

The import button stops hiding itself

0.129.2 · Sep 3, 2026

  • FixedImport from Shopify was hidden behind a permission check made when the page was rendered, and a page render is reused for thirty seconds. Reconnect your store and come straight back, and you were still told to reconnect, with the button that would have worked nowhere on screen. The button is always there now, and the check happens when you press it, which is the only moment that can be trusted.

A refused Shopify call says why

0.129.1 · Sep 3, 2026

  • FixedShopify answers a rejected query with a success code and an errors list, and that list was being thrown away. A missing permission, a renamed field and a rate limit all arrived as the same empty answer. They are logged now, so a failure can be looked at rather than guessed at.
  • FixedImporting markets no longer tells you to reconnect a store that is already connected properly. It checks whether the token actually predates the permission first, and says something else when it does not.

Import your markets from Shopify

0.129.0 · Sep 3, 2026

  • NewShopify Markets is the same idea as this page: a name, the countries in it, the currency they are charged in. Import brings them across, so the grouping lives in one place instead of being typed twice and drifting.
  • ImprovedIt only ever updates what it created. A market you wrote here is matched on nothing and touched by nothing, so a Shopify market that happens to share a name cannot overwrite the one carrying your competitors.
  • ImprovedIt only claims what Shopify actually knows: name, countries and currency. Your price level, VAT, shipping promise, marketplaces and competitors are left exactly as you wrote them.
  • ImprovedMarkets with no countries, and ones that are not active in Shopify, are skipped and counted rather than imported as empty rows.
  • FixedA market that inherits your shop currency instead of naming its own no longer blanks the currency you typed here. Shopify reports nothing for those, and writing nothing through would have cleared it.
  • FixedTwo flags sit side by side on a market card instead of overlapping. A card named Benelux was showing a Dutch flag and hiding the Belgian one behind it, which was the one thing it had to say.
  • ImprovedA flag standing on its own is drawn as a flag: a three by two rectangle at the real proportions, not a rounded square. Pinned to the corner of a round avatar it stays a circle, because that is a badge and not a flag.

A market can group countries

0.128.0 · Sep 3, 2026

  • NewA market covers a list of countries, not one. Benelux is nl and be under one shipping promise and one set of competitors; DACH is de, at and ch. Keeping a record per country meant maintaining the same research three times and watching the copies drift apart.
  • ImprovedYour Netherlands and Belgium records are now one Benelux, with all sixteen competitors and both personas on it, and DACH and United Kingdom are there ready to fill in. The trade facts on those two are blank on purpose: they are your figures, not ours to invent.
  • ImprovedThe card and the market page lead with the flags it covers instead of a shop icon. Four flags and then a count, because a market grouping fifteen countries is a fact about the market, not fifteen flags to draw.
  • ImprovedCreators can sign up from every country across all your markets, so grouping changes nothing about who can apply.
  • ImprovedCompetitors show three before the fold instead of six, and a claim or a weakness is clamped to two lines with the rest on hover. Sixteen competitors each carrying a paragraph was a document, not a competitive set.

One stat card everywhere

0.127.0 · Sep 2, 2026

  • ImprovedBoth dashboards use the same card as Analytics and Performance: the number large, the trend as a badge, the average called out, and a full width sparkline across the bottom. Four surfaces that each drew a KPI slightly differently now draw it once.
  • FixedA card no longer claims a hundred percent rise because the previous period was empty. On a new workspace that was every card at once, and it meant nothing. No comparison now shows no badge.
  • ImprovedThe dashboard cards still link to the page that explains the number, and the affiliate dashboard cards do now too.

Performance opens on how the program is doing

0.126.1 · Sep 2, 2026

  • NewA row of four above the ranking: active affiliates, new affiliates, tagged posts and affiliate revenue, each over the last thirty days with a trend against the thirty before it. You used to land on a top three with no sense of whether the roster was growing or the posts were drying up.
  • ImprovedActive affiliates carries no line on purpose. It is a state rather than a flow, and there is no history of it to draw, so the card shows the number and says nothing it cannot prove.

The analytics numbers show their shape

0.126.0 · Sep 2, 2026

  • ImprovedClicks, orders, conversion and earnings per click now carry a trend badge against the previous window of the same length, and a sparkline of the window itself. Four numbers with no context became four numbers that say whether the month was steady or was one good Tuesday.
  • NewConversion and earnings per click draw the ratio per bucket, not the numerator. Orders climbing while clicks climb faster is a conversion rate falling, and the line has to say so.
  • ImprovedA window with nothing before it shows no badge. Reporting a hundred percent increase because the previous week was empty is a number that means nothing.
  • ImprovedA window where nothing happened draws no line at all, instead of a flat one along the floor that reads like a measurement.
  • FixedEarnings per click keeps its cents. Rounded to whole euros it hid the entire difference between a good week and a bad one.

A market is a country

0.125.0 · Sep 2, 2026

  • ImprovedMarkets held the category: the shelf, the price band and how aware the market was. That is a fact about what you sell, not about where, and it left the chain with nowhere to put the country at all. A market is now a country, with the flag, the language, the currency, the price level, the VAT, the shipping promise and the payment methods on the card.
  • NewProducts link to a market. A sauna is a different proposition in Scandinavia than in Spain, and now you can say which products are worth selling where.
  • NewMarketplaces and ad channels per country, alongside the local competitors that were already there. Who you meet on that shelf, and where you can reach them.
  • ImprovedThe countries creators can sign up from are your markets. It used to be a second list under Settings that was free to disagree with them; now there is one list and nothing to keep in sync. Onboarding turns the countries you pick into your first markets.
  • ImprovedResearch with AI on a market now researches the country: what it costs there, what shipping and payment have to be, which marketplaces matter, and who the local sellers are.
  • ImprovedThe awareness split left the market. How aware a buyer is belongs to that buyer's research, where it is written per persona instead of averaged over a whole country.

A market card no longer falls apart on a long category

0.124.1 · Sep 2, 2026

  • FixedCategory and price band are drawn as one-line chips, and the research had written a paragraph into both. The chip grew to the height of the paragraph and spilled it over everything below it. Chips are now one line whatever is in the column, with the full text on hover.
  • FixedThe market form had no length limit on either field, so a pasted paragraph could land in a chip. Both are capped now, and the research is told plainly that these are labels and that the reasoning belongs in the positioning line.

Moments and offers, the two links between a persona and an ad

0.124.0 · Sep 2, 2026

  • NewMoments: when a buyer becomes ready, as opposed to who they are. The fourth bad night, the first cold ride, hay fever season. The ones on a calendar carry the months they fall in, so a season can be planned for instead of noticed afterwards; a personal trigger carries none, because a bad night does not happen in March.
  • NewOffers: what an ad promises, as opposed to what it shows. A bundle, a trial, a quantity break, in the words the creative has to carry. The mechanics stay in your store; only the promise lives here.
  • NewA creative points at its offer and its moment. That is what lets you ask whether an offer is working across every creative running on it, rather than blaming eleven creatives one at a time.
  • ImprovedThe research spine gained two stops, between Belief and Message: you cannot write the message until you know the moment it lands in and what it is offering. The AI writes both, and an offer you wrote by hand survives a regeneration.
  • ImprovedBoth lists live on the workspace, so one bundle sold to two personas is one record rather than two that disagree by Friday. Each persona shows the ones linked to it.

The table shows the products and the faces

0.123.2 · Sep 2, 2026

  • ImprovedThe product cell on the table and the board cards show every product on the creative as a row of tiles, the leading one in front, four at most and a count for the rest. It used to show one.
  • ImprovedContributors on the table, the board and the gallery are drawn with their profile photo where the creator set one. The coloured initials remain the fallback.
  • FixedLinking a product from the table sets the leading product and keeps the others. It used to overwrite the only one it knew about.

A creator's profile photo reaches the brand

0.123.1 · Sep 2, 2026

  • FixedThe photo a creator sets in the portal now shows on the brand's side too: in the creator picker on a creative and anywhere else a person is drawn. It was saved on the creator's profile and never copied across, so everyone was a grey figure regardless.
  • ImprovedIt works in both orders. Set the photo after the brand added you and it flows through; get added after you set it and it is there on arrival. The two sides are matched on email address.

Several products, the creators who made it, and files in your order

0.123.0 · Sep 2, 2026

  • NewA creative can carry more than one product. A bundle ad or a comparison shows three things, and until now the record held one of them. Pick as many as it shows, in order; the first one leads and is what the board's product cell reads.
  • NewCreators on the creative, from the same kind of search: the people in your workspace with their profile photo, or a plain figure where none is set. Both lists sit side by side on the Details tab and save with the rest.
  • NewDrag the files into the order you want. The one at the top is the one the card shows, and it says so. Until now the newest file won, whether or not it was the hero.
  • ImprovedNew creative asks for products and creators too, so a card lands on the board complete instead of being finished later.

Product pictures in the product picker

0.122.1 · Sep 2, 2026

  • NewEvery row in the product search shows the product's picture in front of its name, and the chosen product keeps its picture in the field. Thirty five names that all start with Mouth Tape are told apart by the photo, not by reading to the end.
  • ImprovedThe pictures are square with no rounding. A photo of a thing is not a pill.

The creative panel, as a rail and one screen at a time

0.122.0 · Sep 2, 2026

  • ImprovedA creative now opens with a rail on the left: Details, Files, Script, Feedback, Activity. Each tab is one screen, nothing inside it scrolls, and each says in a word what it holds, so a creative with no script and three notes is legible from the rail alone.
  • NewThe Files tab shows the creative at phone size with Meta's Reels interface drawn over it: the 220 pixels of profile and title across the top, the 320 of caption and audio across the bottom, the like and share column, the 4:5 feed crop. Whether your text clears the caption is now a thing you see rather than a thing you hope. Switch it off to see the frame alone.
  • NewA file that came from Drive gets an Open in Google Drive button under the preview.
  • ImprovedStatus is one control with six positions rather than six separate chips, and format is a search field like product. Fewer boxes, more room.
  • ImprovedNew creative has the same rail with a Details and a Files tab, persona as buttons while you have a handful of them, and a drop zone for the files.

The creative panel, without the coloured stripes

0.121.1 · Sep 2, 2026

  • ImprovedThe coloured edges on the field groups are gone. They were the cheapest way to make a screen look organised and the surest way to make it look generated. Groups are now a title, room, and a rule to the next one, the way a settings screen does it.
  • ImprovedThe panel is solid white on a blurred board rather than see-through. The glass is behind it, not in it.
  • ImprovedFunnel stage and landing carry icons, and every option, chip and field is white with a soft border, so the things you can click look like things you can click.
  • NewDrop files straight onto the panel. The upload area accepts a drag from Finder as well as a click.
  • ImprovedThe title no longer opens with a focus ring on it, which read as if you were being asked to rename the creative every time you opened one.

The creative panel is grouped, coloured and half as much typing

0.121.0 · Sep 2, 2026

  • ImprovedThe fields sit in groups on cards now, each with a colour of its own: who it is for, the idea, where it sends people, what it cost. You can find a field by colour before you have read a word of it. The version before this put nine controls on one white ground at one weight.
  • ImprovedStatus keeps the colour of the state it is in, as a stripe down the side of its card, so the state of a creative is legible the moment the panel opens.
  • NewConcepts already in use are offered as chips under the field. Naming an idea is a click, which is also how you avoid ending up with 'Sticky note' and 'sticky note' as two different ideas.
  • ImprovedScript and internal notes moved next to the file they describe and share one box with a switch, instead of two long boxes stacked under everything else.
  • ImprovedFields, switches and options sit on a recessed grey rather than white on white, and the panel is wider. Feedback and history start at the top of their column instead of leaving a hole in the middle of it.

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.