LeanZero at Atlassian Team '26 Europe Amsterdam: no booth, here to talk Forge migrations
Mihai Perdum
Author
6 min readSeptember 17, 2026
Key takeaways
We're going to Atlassian Team '26 Europe in Amsterdam, 6-8 October 2026, without a sponsor booth or a speaking slot. Find us in the hallway track.
The numbers we'd actually put in front of you: 10+ migration projects from 250 to 38,000 users, 60,000+ users migrated across clients including UBS, SolarEdge, McLaren and OpenBet, a 100% delivery rate, and a UBS migration of 9,500 users run by two people.
Six migration toolkits are open source on our own site and GitHub — not samples, the actual tools from actual client engagements, Assets migration to workflow repair to a read-only audit that checks whether a migration really landed.
Thirteen model weights and their LoRA adapters are published on Hugging Face under Mihai-LeanZero. The training scripts and a public tutorial covering the fine-tuning end to end are on our own site — not just the results.
The Call for Speakers for Team '26 Europe closed 10 June 2026, before we had a session ready. Three of four ticket tiers are sold out; the Last Chance tier and a Digital Pass are what's left if you're trying to get in this late too.
We're going to Atlassian Team '26 Europe in Amsterdam, 6-8 October 2026. No sponsor booth. No speaking slot; the Call for Speakers closed 10 June, before we had a session ready. What we have is two people, Gabriela Perdum and I, who'd rather have a conversation than staff a stand, and a body of work we're comfortable putting in front of anyone who asks about it.
We're still early. LeanZero is two people, not a company with a marketing department deciding what "attending a conference" should look like, so this post is not a booth number or a session time. It's what we'd actually tell you if you found us in a hallway between talks.
Where the conversation actually goes: Atlassian Forge migration
Migrations are most of what we do, and Forge migrations specifically are the part we think we're genuinely good at. The numbers on our own site, unchanged for anyone to check: 10+ migration projects, from 250 to 38,000 users, every one hands-on. 60,000+ users migrated across clients including UBS, SolarEdge, McLaren and OpenBet. A 100% delivery rate — on-time, on-budget, no exceptions. The UBS migration alone moved 9,500 users with two people running it, because the checks, the reruns and the reports were scripted rather than staffed.
That last part is the actual pitch, not a slogan: no office and no bench is why our rate is €50 an hour. We're not claiming to be the cheapest migration shop at Team '26 Europe — we haven't audited everyone else's rate card, and we wouldn't trust a claim like that from a stranger either. What we can show you is the one number we control: what it costs when the people who scope the migration are the same two people running the scripts on cutover night, with nobody billing you for the layer in between. Gabriela runs the configuration, the testing, the research and the documentation on every one of those engagements; I build the Forge apps and the migration tooling. Neither of us hands the work to someone else once the call ends.
If you're mid-migration and you've hit the specific failure modes — a "(migrated)" custom field that comes back empty, a comment truncated at exactly 32,767 characters, a workflow rule an app extension wrote as a Java class Cloud can't run, a permission scheme or an org identity clean-up Cloud has no endpoint for — the fix is open-source and on our site already: six migration toolkits, from a twelve-tool kit for exactly those Jira data gaps to a thirteen-tool admin kit for the bulk operations Cloud never shipped a button for, to a three-tool read-only auditor that asks, from outside the migration, whether it actually landed. They're not samples built to look good in a portfolio. They're the tools from the real engagements, published because the next person hitting the same wall shouldn't have to solve it twice.
Team '26 Europe: no speaking slot, the call for speakers already closed
We didn't have a session ready by 10 June, when Team '26 Europe's Call for Speakers closed, so there's no LeanZero talk on the agenda this year. That's a fair description of where we are: early enough that we're still building the track record a CFP submission would need, not too early to have real numbers to show you in the meantime.
If you're trying to get into Team '26 Europe this late too, the honest state of registration as of today: the Super Fan, Early Bird and Standard tiers are all sold out. The one tier still open is Last Chance, at €1,799. There's also a Digital Pass for online-only access — we haven't been able to confirm whether it's free, so don't take our word for that one, check the event site directly.
What we do instead of a stage is the thing a two-person shop can actually offer: free help, in public, before you're a client. Practice exams for the current Atlassian certification tracks are on our site because we built them for our own studying and didn't see a reason to keep them. Join our Discord and ask us anything — not a sales-qualification form, an actual question, answered by whichever of us knows the answer.
AI at Team '26 Europe is the whole programme this year
Team '26 Europe's own marketing leans hard into AI this cycle, and that's the one place we'd genuinely rather show than tell.
We publish thirteen model weights under Mihai-LeanZero on Hugging Face — Qwen3.8-27B and Qwen3.5-9B, quantised at four different precisions each, plus the LoRA adapters on top, plus two new GGUF quantisations of Qwen3.8-27B (Q8_0 and Q6_K) for llama.cpp, trained on one Mac Studio to know Forge, Jira, Confluence and Jira Service Management from the real apps, the documentation, the OpenAPI specs and our own community answers. The most-downloaded one has cleared 1,400 downloads, at 1,474; across all thirteen, more than 4,800. We're not citing those numbers as proof of anything beyond the fact that the weights are actually sitting on a public server where anyone can pull them, which is the whole point.
The reason we can put a number on it at all is that we wrote the fine-tuning up end to end — the environment, the dataset format, the LoRA config, the training curves that went the wrong way before they went the right way, the merge step, the exact commands. Not a results announcement with the method left out. The first version of the model got its own retrospective, and so did the fourth, warts included — one round shipped with a regression we chose to accept, in writing, rather than quietly ship and say nothing.
The same goes for goose local edition, our fork of the open-source goose agent that runs a swarm of small local models against a task and verifies its own work by actually running it. It's also what powers our agentic benchmark leaderboard — every entry graded by executing the built app, not by scoring an answer against a key, and open to anyone: there's no submission form, results post straight from the desktop app over the site's API, and the scorer's own version is stamped on every entry so nobody's comparing results across two different rulers by accident.
We can't tell you nobody else in the Atlassian ecosystem does serious work on local models and agentic tooling — plenty of people do, including teams with a lot more compute than one Mac Studio. What we haven't seen is another two-person Atlassian shop publish the training logs, the adapter files and the exact commands alongside the results, rather than just the results. If you know of one, we'd genuinely like to meet them in Amsterdam too.
Find us there
We'll be walking the halls at Team '26 Europe, not standing behind a table. If you're working on a Forge migration, sizing a Data Center to Cloud move, wondering whether an AI advisory engagement is even the right shape for your team, or just want to argue about whether local models are worth the hassle yet, that's the conversation we're there for. No pitch deck, no lead form — get in touch or find us on Discord before the 6th, and we'll figure out where to grab coffee in Amsterdam.
I taught a 27B model to write Forge apps. As far as I can find, nobody had done that before
Qwen3.8-27B knows almost nothing about Atlassian Forge: ask it for an app and it invents a manifest format and imports packages that do not exist. Over four days on one Mac Studio I trained it until 14 of 25 manifests passed Atlassian's own validator and 12 of 25 apps compiled, from zero. The weights are public. Here is what it is, what it is not, and why I think it is a first.