Private betaIt runs our own print floor every day

The back office for
a 3D printing business.

Support tickets, the print queue, supports and plates, customer uploads, and the storefront tools that sell more. All in one place, wired to your Shopify store, so nothing is typed twice.

Get early accessSee what is inside

Installs as a Shopify app. Your files stay in your Google Drive.

3dfoundry.io/b/your-brand/admin/production
Production

Print production

Every unfulfilled order line is a print job. Sync pulls orders, matches print files from Google Drive, and re-tags the order as it moves through the workflow.

Print Ready96Backlog38In Production64Bulk3Not Covered🖨 PrintersSettings
Done — 3 new, 26 matched, 4 to backlog, 29 tags.Sync Orders
Search SKU / order…
Build Plate (13 files · 41 parts)3 without a fileCopy to GDriveMove All to Production
#10461Delete order
Dread Wyrm
DW-07575mmdread_wyrm_75_supported.stl
→ QueueReSupportDownloadBacklog
#10459Delete order
Village Set · Cottage
VS-028-0128mm×2village_cottage_28_supported.stl
→ QueueReSupportDownloadBacklog
Village Set · Well
VS-028-0428mmvillage_well_28_supported.stl
→ QueueReSupportDownloadBacklog
#10442Delete order
Halberdier, Unit A
HALB-03232mm🔒halberdier_32_supported.stl
→ QueueReSupportDownloadBacklog
What you get

Eighteen tools. One login.
One Shopify app.

Every one of these is built and runs our own floor today. Each line says what it does for the shop; pick any of them to see the actual screen.

Brand and team
The parts that make it yours.
Next up
Built underneath, not yet on a screen. Listed so nothing surprises you later.
Email marketingYour own list and campaigns, with a preview of who will actually receive a send.
SubscriptionsRecurring boxes, with a save offer matched to the reason someone is leaving.
Storefront chatAnswers from your own help articles; hands off to a ticket when it is unsure.
Works with what you already run

Your store, your inbox, your files, your printers.

Nothing is replaced. You connect the accounts you already have, and every tool reads from the same store, the same inbox and the same Drive.

Your store
Shopify
Orders, products and customers, in both directions
S
Stripe
Pay for the platform by card, or through Shopify billing
Inbox & files
Gmail
Your support inbox, threaded into Conversations
Google Drive
Your print-file library stays in your Drive
Messenger
Facebook Page DMs land in the same queue
Instagram
Instagram DMs land in the same queue
Email
K
Klaviyo
Connect your account and list from Settings
R
Resend
Every email the platform sends, from your own domain
Printers
Elegoo
Saturn and Mars ranges: sliced to .goo, sent and started over the bridge
Anycubic
Photon Mono M5s and M7 Pro: a packed plate as STL
Phrozen
Sonic Mighty 8K and Mini 8K S: a packed plate as STL
Creality
Halot-Mage Pro: a packed plate as STL
28–75mm
One saved support setting for each scale you sell, tuned by printing it, not by editing a config file.
.goo
Plates packed, sliced and written for the printer in the browser. No slicer, no USB stick.
Every hour
A separate check looks for any paid order that nothing is set to print, and lists it by name.
Once
A customer, their order and their file are one record. Every tool reads the same one.
A morning on the floor

Same day. Fewer tabs.

This is the shift it was built around: the one that used to run across a mail client, a spreadsheet, a slicer and a folder of STLs.

07:40

Your inbox is already sorted

Last night's emails, Messenger and Instagram messages are in one list, most urgent at the top. A customer reporting a broken miniature is first in line, with the part and the size already picked out of the message and a reply drafted in your own tone.

08:05

The order is on the ticket

No switching to Shopify to see what they bought. Their orders, the exact size they chose and every past conversation sit beside the message. Send the reply, raise a free replacement in two clicks, and move on.

08:30

Last night's orders have their files

Each paid line has been matched to the right STL in your Drive at the right scale, so a 32mm order never picks up the 55mm file. Anything that could not be matched sits in the backlog with the reason written next to it.

09:15

Supports and plates, without leaving the browser

Open the line in Support Studio, apply your saved setting for that scale, and send it to a plate. The plate packs itself, tells you what did not fit, slices, and goes to the printer over your own network.

17:00

One question, answered before you go home

Every hour a separate check asks: is there a paid order here that nothing is going to print? You leave knowing the answer, rather than hearing it from the customer ten days later.

3dfoundry.io/b/your-brand/admin/conversations
Conversations↻ Sync nowLive
7 need you · 1 urgent · 3 spam
Search ticket, customer, message…
Filters Needs human
All12Needs human7Urgent1AwaitingInfluencer0Bot4Spam3Done31
TypeWebsite errorMissing miniatureBroken miniatureWrong itemWants refundWhere is my order
UrgentRachel Kaurdue in 3h 12m
Broken part on a delivered order
Halberdier's spear snapped in the box on #10442. Everything else arrived fine; asks for a replacement.
Broken miniatureDraft ready#2841
Dan Oyelaran14m
Asks when #10461 will ship — paid three days ago and no tracking yet.
Where is my orderDraft ready#2842
Marta Silva1h
Wants to know whether the 75mm Dread Wyrm ships pre-supported or as the raw file.
Pre-salesDraft ready#2843
Jonas Brandt3h
Sent the corrected address for #10439 — the flat number was missing.
⮌ Customer repliedAddress change#2839
Run the floor

Five tools you were already improvising.
Now one system.

They share one customer, one order and one file. What one tool learns, the next already knows.

01Conversations

Tickets arrive sorted, ranked and drafted.

Email, Messenger and Instagram messages land in one list, most urgent first, each with a one-line summary. A customer writes about a broken miniature: the ticket already shows their order, and a free replacement is raised from the same screen with the part and size filled in.

Gmail, Messenger and Instagram in one ranked list
Broken, missing or wrong items always go to the top
A reply drafted in your tone for every ticket. You read it, you send it
Quick responses, private notes and the customer's full history on one screen
3dfoundry.io/b/your-brand/admin/conversations
Gmailsupport@yourshop.co.uksynced 07:41:12Sync nowManage
MetaYour Shop · Facebook Pagesynced 07:40:55Sync nowManage
Conversations↻ Sync nowLive
7 need you · 1 urgent · 3 spam
Search ticket, customer, message…
Filters Needs human
All12Needs human7Urgent1AwaitingInfluencer0Bot4Spam3Done31
TypeWebsite errorMissing miniatureBroken miniatureWrong itemWants refundWhere is my order
UrgentRachel Kaurdue in 3h 12m
Broken part on a delivered order
Halberdier's spear snapped in the box on #10442. Everything else arrived fine; asks for a replacement.
Broken miniatureDraft ready#2841
Dan Oyelaran14m
Asks when #10461 will ship — paid three days ago and no tracking yet.
Where is my orderDraft ready#2842
Marta Silva1h
Wants to know whether the 75mm Dread Wyrm ships pre-supported or as the raw file.
Pre-salesDraft ready#2843
Jonas Brandt3h
Sent the corrected address for #10439 — the flat number was missing.
⮌ Customer repliedAddress change#2839
RK
Rachel KaurUrgent
Broken part on a delivered order
Done
Hi — order #10442 arrived today but the Halberdier’s spear snapped in the box. Everything else is perfect. Any chance of a replacement?
03/09/2026, 08:02:14
Thanks Rachel — #10442 went out this afternoon on tracked 48, so it should be with you by Monday.
28/08/2026, 16:20:07
AI triageRe-triageHide ▴
Summary — Spear snapped in transit on #10442 (Halberdier, Unit A, 32mm). Asks for a replacement; the rest of the order arrived fine.
Suggested replya draft — nothing sends itself
Sorry about that, Rachel — thin spears do take a knock in the post now and then. I’ve raised a replacement Halberdier at 32mm on the house; it goes on the next plate and ships free. No need to send anything back.
Accept draftRewriteOpen Order Inspector
Customer & order
RK
Rachel KaurMatched
rachel.kaur@example.com
Lifetime
£412.50
Orders
6
Subscription
Member since
Jun 2024
Priority: UrgentIntent: Broken miniatureNeeds humanMatched: Rachel Kaur
Lower priorityMark as spam
SLA due in 3h 12m
Create new order
Recent orders
#10442Fulfilled£68.00
28 Aug 2026 · opens Inspector →
#10388Fulfilled£124.00
19 Jul 2026 · opens Inspector →
Mentioned in thread
#10442
Create new order
Rachel Kaur · rachel.kaur@example.com
You’re about to create a free order for Rachel Kaur — every line item is 100% discounted and postage is free.
1 × Halberdier, Unit A · 32mmFree
PostageFree
BackCreate free order
02Production

Paid orders become a queue you can trust.

Every paid line becomes a print job. It moves from backlog to print-ready to in production to printed, and anything that stalls says why. Sync runs on a schedule or when you press the button, and it never overrides something a person decided.

Files matched from your Drive at the right scale, with kit mappings for multi-part sets
Backlog reasons you would actually use: no file, reprint, fix supports, size wrong, awaiting customer
A Not Covered tab that lists any paid order the queue has lost sight of
Every printer on one tab, with its webcam, layer count and time left
3dfoundry.io/b/your-brand/admin/production
Production

Print production

Every unfulfilled order line is a print job. Sync pulls orders, matches print files from Google Drive, and re-tags the order as it moves through the workflow.

Print Ready96Backlog38In Production64Bulk3Not Covered🖨 PrintersSettings
Done — 3 new, 26 matched, 4 to backlog, 29 tags.Sync Orders
Search SKU / order…All reasons ▾
+ Manual+ Order
#10457Delete order
Sea Priestess
SEAP-05555mm×2no fileNo file
SupportMark Fixed
#10455Delete order
Knight Errant
KNER-03232mmfix supportsknight_errant_32_supported.stl
ReSupportMark Fixed
#10451Delete order
Ogre Chieftain
OGRE-05555mmawaiting customerNo file
Mark Fixed

Nothing is going to print for these

Paid, unfulfilled lines with no production row, aged past a 90-minute grace period. Empty is the normal state.

Re-check now2 uncovered lines
OrderSKUWhy it’s missingAction
#10437SEAP-055Deleted from queuewhole order — suppressed 27/08Restore
#10449ARCH-035Never createdthe sync hasn't produced a rowrun Sync Orders
Saturn · Bay 2
Saturn 4 Ultra · 192.168.55.146 · V1.4.2
Printing
Webcam is fetched on demandRefresh
acme Tue 2-1.goo61%
Layer 2,384 / 3,910 · Exposing1h 34m left · 14:52
LinkConnected · no drops
03Support Studio

Support resin miniatures in the browser, the way your floor already does it.

Import, scale, orient, support, export: five steps. It finds the overhangs, places the tips, builds the trunks and braces, merges supports that would collide, and checks the result before you export. Every default came from months of test prints on our own machines.

One saved setting per scale: 28, 32, 35, 55 and 75mm
Opens straight from the order line, so the SKU and size come with it
Suction cups and supports too close to detail are flagged before you export
The exported job remembers the exact settings it was made with
3dfoundry.io/b/your-brand/admin/support-studio?instanceId=pi_10442_halb032
Support Studio
Halberdier, Unit A
HALB-032 · 32mm · Ironhold Forge
V3142 tips  ·  12 treesExport STL⚡ Send to Claude🎯 Send Setup
142 tips · +6 gap-fill · reroot 2 · dropped 3
TopFrontRightBackLeftBottom
Workflow
Import
loaded
Scale
32.5 mm foot → eye
Orient
Hoisted · 4.0 mm lift
4
Supports
142 tips placed
5
Export
Sliceable STL
SnapXYZ
142tips12trees0 micro-supports3 droppedContinue to Export →
Supports
Step 4 of 5 · auto pipeline
Ready
32mm ▾Save
✦ Auto✎ Manual
Support type
StandardMiniMicro
Support Density2.2 mm gap
DenseBalancedSparse
Fine tuning
Apply every change to all existing supports live
SupportsBaseLowerBraceAdvanced
Standard Support
Contact dia.0.28 mm
Pillar dia.1.07 mm
Cone Ø0.60 mm
Overhang angle40 °
Regenerate SupportsClear

It finds the problems first

Overhangs, islands, trapped cups of resin and tips that would land on detail are flagged before a single support is placed.

Supports that hold and come away clean

Tips, cones, trunks, branches and cross-braces, with feet that shrink where they would fuse to the model. Supports that would cross are gathered onto one tower.

Tuned by printing, not by guessing

Every default started as a number that survived a print run. Change one, save it to a scale, and every future order at that scale uses it.

04Build Plate

The plate packs itself. You send it to the printer.

Pick the print-ready jobs and they are arranged by scale across as many plates as it takes, with a plain list of anything that did not fit. Slice in the browser, then send the file straight to an idle printer over the workshop bridge, or save it to disk.

Slices to .goo for Elegoo machines; Anycubic, Phrozen and Creality get a plate STL
Sends to an idle printer on your network, with the option to start the print on arrival
Big files import with a progress bar, and a stalled import is caught rather than left hanging
Every run, plate and placement is kept, with resin and time estimates
3dfoundry.io/b/your-brand/admin/build-plate?runId=run_3f2a9c
your-brand
Slicer
Batch Tue 2
Plate 1
18 · 67% ✓
Plate 2
12 · 54%
Plate 3
8 · 31%
+
Slicing plate 2↻ Reset view
67%
Plate 1
18 parts · 5 orders
Resin
142 ml
Time
4h 12m
Height
48 mm
Layers
3,910
Estimated from the arrangement
Re-arrange plate
Parts on plate 118
Find SKU, size or order…
All 18#10442 · 4#10459 · 4#10448 · 3#10455 · 3#10446 · 2
#SKUSizeOrderZ
1HALB-03232mm#1044244
2HALB-03232mm#1044244
3KNER-03232mm#1045541
4VS-028-0128mm#1045922
5VS-028-0128mm#1045922
6VS-028-0428mm#1045918
7ARCH-03535mm#1044847
8ARCH-03535mm#1044847
9ROG-02828mm#1044631
10ROG-02828mm#1044631
11PRST-032?#1044438
12PRST-03232mm#1044438
Plate 167%
18 parts · 4h 12m
Sliced · 183MB
Saturn · Bay 2 ▾
start print on arrival
Send to printer
Save to disk…Discard
Plate 254%
12 parts · 3h 05m
Slicing…
Plate 331%
8 parts · 4h 40m
Slice plate
Profile
SUNLU ABS-Like Grey 50um
0.050mm · Elegoo Saturn 4 Ultra
Slicing plate 2 of 3
Don’t close this window — the plate is being written to disk.
Layer 1,204 / 3,91031%
Elapsed
5m 21s
Remaining
~12m
Written
58.7 MB
Elegoo Saturn 4 Ultra · SUNLU ABS-Like Grey 50um (Standard)
05Custom Print

Let customers print their own models.

A block for your storefront. The customer uploads an STL, stands it up, picks a size, sees the price and pays. The job lands in your backlog for a look before it goes near a printer, supported to your own settings.

Sized foot to eye in the pose the customer set, so 28mm means what it means on your shelf
Every refusal tells the customer what to fix, in plain words
Your price per size, your setup charge, your size range
Installs as a theme block, with no theme code to edit

Built and tested; going live with beta shops one at a time, first jobs watched together.

your-shop.co.uk/pages/print-my-miniature
BackPrint My Miniature
dragon-bust-final.stl
412,880 triangles · 32mm
1£17.45
FRONT
Triangles
412,880
Actual size
32 × 18 × 45 mm
FrontBackLeftRightTopBottom
Your miniature
Upload
Loaded
Stand it up
Feet down, facing front
3
Size
Pick a scale
4
Prepare
Supported
5
Checkout
Delivery once
Before you order
Custom prints are made to your specification. The setup fee is non-refundable, and because the item is made to order it falls outside the usual right to cancel.
3
Size
Measure and scale
Foot → eye 29.4 mm · measure again
Choose a size

Pick a scale — your model resizes on the plate so you can see it at printed size.

28mm£12.95
32mm£14.50
35mm£15.95
55mm£24.00
75mm£36.00
CustomExact mm
Calculate price
5
Checkout
Ready to print
Ready to print
Oriented, supported and saved — have a look before you check out.
32mm print£9.50
Custom print, testing & reprints£4.00
Delivery£3.95
£17.45
Add to basket
Sell more from the same store

Six tools that make the shop
earn more.

They read the store you already have, its orders, wishlists, collections and campaigns, and hand back decisions rather than dashboards.

06Wishlist

See what people want before they buy it.

Shoppers tap a heart to save anything in your store. This shows you what they saved and have not bought, ranked by how many different people want each thing. Every night it re-checks the price of everything on someone’s list and notes any genuine drop, so before you run a sale you can see which discount would land in front of a customer who is already waiting.

Saved products ranked by how many shoppers want them
A nightly price check that ignores drops caused by adding or removing a size option
Guests keep a list on their device; it moves to their account when they sign in
Every recorded drop names the shopper who was waiting for it
3dfoundry.io/b/your-brand/admin/wishlist
Wishlist

Saved products

What shoppers saved but have not bought yet — the clearest demand signal your store produces. Every night we re-check the price of everything on a list and record the drops, so you can see which discount would land in front of a waiting customer.

OVERVIEWSAVED ITEMSDEMANDRefresh
Period7D14D30D60D90D
Saved items
1,842
Shoppers
611
Added (30d)
214
Price drops (30d)
9

Most-wanted products

Ranked by how many different shoppers saved each one.
1Dread Wyrm · 75mm84
2Halberdier, Unit A · 32mm61
3Sea Priestess · 55mm47
4Village Set (6 pc) · 28mm39
5Ogre Chieftain · 55mm33

Recent price drops

312 products watched
Checked once a night. A drop is only recorded when the product’s cheapest option genuinely fell — adding or removing an option is ignored, so this list never shows a discount that did not happen.
ProductShopperWasNowDetected
Dread Wyrm · 75mmgid://…/7203£42.00£36.0003 Sep 2026, 09:15
Sea Priestess · 55mmgid://…/6641£24.00£19.9503 Sep 2026, 09:15
Crypt Ghoul Pack · 28mmgid://…/6118£18.50£15.0029 Aug 2026, 09:15
Dread Wyrm · 75mm
£42.00
Saved to your wishlist
Kept on this device for now — sign in and it’s saved to your account.
Sign inNot now
07Upsell

A cart that earns the next item.

Set a reward ladder, free shipping at £50, a free gift at £75, and the cart shows shoppers how close they are, in your words. Free gifts add themselves when the threshold is crossed and remove themselves if the basket drops back, so nobody is charged for something you promised free. Pin the products you want recommended and post short notices at the top of the cart.

Thresholds per market, in that market's currency, never converted
The same thresholds are published to your checkout, so the promise and the discount cannot disagree
Recommended products with their own discount, and notices you can schedule
Carts opened, checkouts reached, orders placed and extra revenue, day by day
3dfoundry.io/b/your-brand/admin/upsell
Upsell

Cart drawer

What shoppers see in the cart: the rewards they are working towards, the products you want in front of them, and the notices you want read. Every threshold you set here is the one the checkout enforces, so the promise and the discount can never drift apart.

REWARD LADDERDRAWERPERFORMANCERefreshSave
Checkout enforcement: Checkout enforcement updated.
Show the reward ladder in the cart
Off hides every milestone and stops free gifts being added automatically.
Default upsell discount (%)10
Nothing unlocked yetAdd {amount} for your {reward}
Something unlockedUnlocked — add {amount} for {reward}
Everything unlockedEvery reward unlocked.
Use {amount} for the remaining spend and {reward} for the next reward.

MARKETS

One row per Shopify market you sell in. Thresholds are set per market in its own currency and are never converted, so a round number stays a round number.
Handlegb
NameUnited Kingdom
CurrencyGBP
Add market
Free shippingFree shipping
Ladder captionFree Ship
DescriptionFree shipping
Thresholds
Every other market
0.00
United Kingdom (GBP)
50.00
Zero hides this reward in that market. A market left blank uses the fallback.
Free giftFree giftline property _gift
Ladder captionFree Mini
DescriptionA free gift with this order
Thresholds
Every other market
0.00
United Kingdom (GBP)
35.00
Zero hides this reward in that market. A market left blank uses the fallback.
Free returns on every order
Your cart 2
Free mini bagged, add £12.50 for Free Ship
Free Mini£50Free Ship£75Premium Mini£10010% Off
Subtotal£37.50
Shipping & taxes at checkout
Secure checkout · £37.50
08Bundle Builder

Bundles your customers already invented.

It reads your own order history and wishlists to find the handful of products people keep buying or saving together, prices each set with your discount, writes the listing, and creates it as a draft product with the print-queue mapping already in place. Nothing is created until you approve the set and press the button.

Nine ways to look: strong evidence, a wider net, by vendor, tag, type, bestsellers, new arrivals
Priced at your discount off the combined price, rounded to .95
Every bundle lands as a draft; nothing sells until you publish it
Each size of a bundle maps to the right size of every part, so the print queue knows what to make
3dfoundry.io/b/your-brand/admin/bundle-builder
Bundle Builder

Products that sell together

Finds sets of products your customers already buy or save together, prices them as one item, and — once you approve a set — creates the product as a draft with its production mapping in place. Nothing is created until you arm the switch and press the button.

TO REVIEW (12)APPROVED (3)MADE (5)SETTINGSRefresh

FIND SETS

How to lookStrong evidence ▾
Find sets

Bought together three or more times, or twice with wishlist backing. Highest confidence, smallest pool.

STRICT4 links between these products£29.95 (save £7.05)
  • Halberdier, Unit A
    starting point
  • Crossbowman
  • Standard Bearer
  • Sergeant at Arms
  • Unit Bases ×5
ApprovePassApproving creates nothing. It only marks the set as one you want.
WIDE2 links between these products£41.50 (save £10.35)
  • Dread Wyrm
    starting point
  • Wyrmling Pair
  • Hoard Scatter
ApprovePassApproving creates nothing. It only marks the set as one you want.
STRICT£29.95 (save £7.05)
Rewrite the listingCreate the product
Creates a draft product. Nothing goes on sale until you publish it.
Halberdier Command Set
BU00012, BU00013 · 5 products · draft
cover art attached
09Collections

Which collections are earning their place.

One row per collection: how much of it sells, what is new, what is picking up, what is fading, and what has not sold a single unit in three months, with a health score so the ones that need work sort to the top. Click a row to see the quietest products in it. It only reads your store; it never changes it.

A health score out of 100, and half of it is simply whether things sell
Top sellers are judged against their own vendor, not the whole catalogue
Tells you plainly when your order history is too short to trust the numbers
Read-only by design. A report that can rewrite your storefront is a different product
3dfoundry.io/b/your-brand/admin/collection-profiler
Collections

What is in your collections

Every collection on your store, scored on what its products are actually doing: how much of it sells, how much is new, how much is quietly dead. Read-only — nothing here changes your storefront.

Profile nowNeeds attention ▾Refresh
Last profiled 03/09/2026, 06:00:12 · 36 collections · 1,284 products
CollectionProductsSold (90d)Not sellingNewPicking upFallingHealth
Undead Legions42631 (74%)10418
Terrain & Scatter281412 (43%)21331
Dungeon Delvers36887 (19%)56171
Quietest first — the products in this collection that are earning it the least.
ProductVendorSold (90d)Previous 90dAll timeLast soldNotes
Crypt Ghoul PackIronhold Forge035812/05/2026Sold before, not lately
Rogue ScoutIronhold Forge00203/11/2025
Barbarian BerserkerStonecut Studio41929/08/2026New arrival, Picking up
Sky Pirates19414 (21%)43068
75mm Heroes12273 (25%)32063
Bases & Accessories241225 (21%)01258
These numbers only go back as far as your order history. We hold 1,234 orders, starting 31/01/2026 (217 days). Anything older is not counted, so long-running products will look quieter than they are. Run a full order import from the Shopify page to fill the gap.
10Competitions

Turn a product into a reason to show off.

Pick a product and its page becomes a competition page. Customers upload photos of what they made with it, your team judges privately with names hidden, and one button publishes the winners to your storefront and emails each one their prize code.

Judging with entrants' names hidden, and notes and scores only your team can see
A cash prize mints a real Shopify discount code on its own
Winner cards drawn from the winner's own photo, one click from Ad Studio
The product page goes back to normal afterwards; the old listing is saved first
3dfoundry.io/b/your-brand/admin/competitions
Competitions

Run a competition

All competitionsSummer showcasejudging48 entries · 3 prizes
SETTINGSENTRIESPRIZESSHORTLISTAWARDSWINNER CARDSPRODUCTS
ALL 48SHORTLISTED 9WITH NOTES 12FLAGGED 1DISQUALIFIED 0TRASH 2Newest first ▾Any prize ▾Refresh
Hide entrants’ namesShow unfinished entriesUnfinished entries are starts where the photos never arrived. They cannot be judged, so they are hidden unless you go looking.
Select allClear1 selectedSet status… ▾Move to trash
WON
+2
Crypt Ghoul Diorama
Hidden while judging
approvedDiorama2
28 Aug 2026, 19:42
Halberdier, first attempt
Hidden while judging
submittedSingle figure
28 Aug 2026, 19:42
SHORT
+3
Sea Priestess, NMM gold
Hidden while judging
approvedSingle figure3
28 Aug 2026, 19:42
+1
Village at dusk
Hidden while judging
approvedDiorama1
28 Aug 2026, 19:42
Untitled
Hidden while judging
flaggedSingle figure
28 Aug 2026, 19:42
+1
Ogre Chieftain
Hidden while judging
submittedLarge scale
28 Aug 2026, 19:42
SHORT
+4
Dread Wyrm, verdigris
Hidden while judging
approvedLarge scale2
28 Aug 2026, 19:42
Knight Errant
Hidden while judging
approvedSingle figure
28 Aug 2026, 19:42
+2
Sky Pirates crew
Hidden while judging
submittedSquad
28 Aug 2026, 19:42
+1
Rogue in the alley
Hidden while judging
approvedDiorama1
28 Aug 2026, 19:42

Winners

2 awards
Recorded now, announced when you publish. Until then nothing on this list is visible to an entrant or on the storefront.
1st Place · Crypt Ghoul Diorama
Marta Silva · awarded 02 Sep 2026 NOT ANNOUNCED YET
Revoke
2nd Place · Dread Wyrm, verdigris
Dan Oyelaran · awarded 02 Sep 2026 NOT ANNOUNCED YET
Revoke
Still to decide: 3rd Place. Publishing is blocked until each of these has a winner or is marked as having none this round.
Publish resultsjudging
11Attribution

Know which campaign paid for the order.

Records the campaign each visitor arrived on, from your own pages on your own domain, and joins it to the orders they place. Because it runs on your store rather than a third-party script, it keeps working when shoppers block trackers, which most now do.

Five ways to match an order to a visit, most reliable first, and you see which one was used
Give a raw tag like spring_promo_v3 a name the report can group under
Revenue by campaign, visits by source, and the landing pages that earn
Only your own domains can record a visit; everything else is refused
3dfoundry.io/b/your-brand/admin/utm
Attribution

Where your orders come from

A first-party record of the campaign each visitor arrived on, joined to the orders they placed. It is recorded on your own store, from your own pages, so it keeps working when a shopper blocks third-party scripts — which most of them now do.

OVERVIEWCAMPAIGN NAMESRECENT VISITSSETUPRefresh
Period7D14D30D90D180D
Visits recorded
8,412
6,930 opted in · 1,482 undecided
Carrying a campaign
3,106
From a paid click
1,244
Orders traced
318
74% of 431 orders
Revenue traced
£11,240
How each order was traced
Recognised visitor · 201 orders · £7,120Tagged at checkout · 44 orders · £1,530First page they landed on · 39 orders · £1,410Matched by device and network · 34 orders · £1,180Not matched · 113 orders · £3,960
Revenue by campaign
CampaignPlatformConceptOrdersRevenueAverage order
Undead Legions launchMeta adsSingle Hero96£3,410£35.52
brand_searchSearch ads71£2,590£36.48
Direct / untagged113£3,960£35.04
sky_pirates_teaserMeta adsPattern Interrupt22£790£35.91
Give your campaigns readable names
Your ad tools produce campaign tags like spring_promo_v3. Map one here and the revenue report groups it under something you recognise.
undead_legions_launchPlatform, e.g. search adsConceptNotes
Save name
Campaign tagPlatformConcept
spring_promo_v3Meta adsSingle Hero
brand_searchSearch ads
Shopify

Your store, mirrored.

It installs as a Shopify app and keeps its own copy of your products, collections, customers and orders. So the console stays quick when Shopify is slow, and keeps working when it is down. Orders and custom-print products are written straight back.

Every update from Shopify is checked as genuinely theirs before it is trusted, including the three privacy requests
A full refresh each night, plus updates the moment something changes in your store
Pay through Shopify or by card. You choose at install
Storefront features run on your own domain, through Shopify's app proxy
3dfoundry.io/b/your-brand/admin/shopify
← Settings
Shopify

Connect your Shopify store

Sync your orders, products and customers into 3dfoundry.io so your tickets, production backlog and reporting stay in step with your store.

Connection

● Connected
Shop
your-shop.myshopify.com
Connected at
12/08/2026, 09:14:22
Scopes
read_orders, write_orders, read_products, write_products, read_customers
Disconnect

Data sync

Sync now

Pull your products, collections and unfulfilled orders into 3dfoundry.io. Runs in the background; orders also refresh automatically as new ones come in.

products
1,284 items
03/09/2026, 02:00:41
collections
36 items
03/09/2026, 02:00:41
orders
412 items
03/09/2026, 02:00:41

Connected from one Settings page

Each account is yours. Use our shared app to connect in a click, or your own app if you prefer.

Gmail
Your support inbox, threaded into Conversations
Google Drive
Your print-file library, read and written back
Messenger & Instagram
Page DMs into the same queue
Klaviyo
Your account and list, connected from Settings
Resend
Every email the platform sends, from your own domain
Ad Studio

Adverts that already know your products.

A design canvas that pulls your products, photos and 360 spins straight from your store. Layers, curved text, effects and animation; PNG, JPG or video out, in every size Meta and Google ask for. Each piece is tagged with the campaign it ran in, so you know which artwork sold.

Templates by genre: fantasy, sci-fi, horror, steampunkEleven canvas sizes, from Stories to leaderboardWinner cards and bundle covers land here directly
3dfoundry.io/b/your-brand/admin/ad-studio
Fresh From the Forge
Fantasy · 1080×1080
This ad⚠ Template
1 selectedUnsavedSave as templateSave to library
Add
Elements
Edit
Layers6
Arrange
Canvas
Video
?Keys
Export

Edit selection

Text
Text
FRESH FROM
THE FORGE
Typography
Oswald ▾96
BIU
Color
Outline
Width · 0#1A1614
Position & size
X 72Y 118W 936H 232
Weekend drop · 55mm
Fresh from
the forge
FROM£12.95Shop the drop
39%+Fit1:1
Built to be trusted

Nothing here silently
drops an order.

If you have been burned by software before, these four matter more than any feature list. Each one is enforced in the code, not written in a policy.

A person always wins

Once someone on your team changes a job by hand, the sync leaves it alone for good. That is built into the record itself, not a switch that can be knocked off.

Deleting is reversible

A job you delete stays deleted through every re-sync, and can be brought back from the Not Covered tab. Deleting an entire order is refused outright.

A second pair of eyes

Every hour a separate check looks for paid orders the queue has lost sight of. It is written apart from the sync, so the two cannot miss the same thing.

Your shop is yours alone

Every query is scoped to your shop, so one shop's data cannot reach another. Keys and email addresses are encrypted at rest, and every admin action is logged.

From the team
“We built this because our own print floor was running on a mail client, a spreadsheet, a slicer and a folder of STLs, and every week something fell through the gap between them. The order that nobody printed is the one that costs you the customer. We wrote the tool that made that stop happening to us, and then we wrote the checks that prove it stopped.”
WP
The team behind WePrintMiniatures
We print and ship miniatures to order. Every feature here runs our floor first.
Questions

The things print shops ask first.

No. It reads your Drive to match orders to STLs, and writes finished support projects back into it. That is all. The library stays in your account, under your sharing rules, and we do not keep a copy.

See it running on
a real print floor.

Sign up and we will walk you through it on your own shop: thirty minutes, your data on screen, and a straight answer about what is built and what is not.

Get early accessBack to the tour

Private beta · onboarding a small number of Shopify print shops each month