
What the Nullable Gave Back
One file, seven behaviours held fixed, the database swapped for a Nullable: about 180 times less time inside the tests, and coverage flat to two decimals.
Employable software engineering, taught through live projects
We teach on open tools that run on modest hardware, and we work keyboard first, so accessibility is built in from day one and learners design software everyone can use.
Founded through workshops in Nigeria and now launching with a first cohort in rural Greece, we widen access to digital skills in low resource settings.

Learners ship working software from week one.
Our method is professional practice, taught to industry standard.
From week one, learners build software in a team and ship it together.
One team, one real product, shipped.
How we teachIn real projects, they use test driven development, pairing and real time web development.
TDD without mocks, pairing, continuous integration.
See the dojosOn open tools, we revive end of life computers, so learning holds up on modest hardware.
Ekolite, open source under the MIT licence.
Ekolite on GitHub
Every project does two things at once, because the learning and the impact are one.
A developer
with employable skills that last
A community
with software it keeps and runs
And in the places that need it most, that is how opportunity takes root. The skills and the software stay where they are scarce, and a community comes away more able to build its own future.
Grassroots in Nigeria, launching in rural Greece, and built to cross borders.
Grassroots teaching, learned through real client work.
Our first European cohort, rigorous and agile software engineering, on the border with Bulgaria and Türkiye.
Shared cohorts across the border, then a growing network through the Balkans and Africa.
Ideas
Writing on coding, software engineering, and digital education.

One file, seven behaviours held fixed, the database swapped for a Nullable: about 180 times less time inside the tests, and coverage flat to two decimals.

Removing the mocks grew the suite from 44 tests to 70 and quietly deleted four behaviours, every one of them a failure path. Test count is not coverage.

Same commit, same spec, same test count. The mocked suite ran 5.6 times faster, covered 3.5 fewer points of real code, and posted the best branch coverage.
Pick what sounds like you