A few weeks after Russia’s invasion of Ukraine, tens of thousands of people were arriving in Lithuania with urgent, practical questions - housing, documents, healthcare, work, schools - and the answers were scattered across ministries, NGOs, and Facebook groups.
Together with my colleagues at Adapt Agency and Laisvės TV, we built Su Ukraina in our free time - nobody was paid, everybody had a reason. I worked as project manager, strategist, and developer. The platform went on to serve tens of thousands of refugees during the months when reliable information was hardest to find.
The Constraint That Shaped Everything
There was no time for a normal project. Content was changing daily, sources were official and unofficial, and the audience was stressed, mobile-first, and reading in a foreign country. The build had to be fast to ship, fast to update by non-developers, and impossible to break under load.
Why This Stack
A static build with Gatsby, because reliability, safety, and speed were non-negotiable - a page of survival information cannot fall over when a national broadcaster links to it. Contentful as the CMS, because Contentful donated a free tier for the cause, and it let volunteers and editors update content around the clock without a deploy pipeline in their way.
The lesson generalises: when the situation is urgent, the boring, reliable architecture is the ambitious choice.
How It Ended
The platform did exactly what a stopgap should. Within a few months, government services caught up and took over the process, and the site’s role naturally faded. I tried to find governmental support to scale the platform and bring it to other countries receiving refugees - that didn’t come together.
Some projects are meant to be permanent. This one was meant to be there first.
Gatsby Contentful React


