Most dev shops don't understand movements. Most movement people can't build infrastructure.
> Praxis exists in the gap between those two sentences. It is run by one person who has spent eight years building software and several years organising — and who has been on both sides of a briefing where neither party could quite hear the other.
// who_runs_this
Praxis is Maks Boika, working from Warsaw as a registered sole trader (JDG) across the EU. The engineering half is eight years of full-stack JavaScript and TypeScript: high-throughput data pipelines, real-time IoT systems, and leading engineering teams. The unglamorous specialisms — moving large volumes of records without losing any, making two systems that were never meant to meet talk to each other — turn out to be exactly what a supporter database migration is.
The organising half is civic work rather than a hobby: the leadership team of a youth democratic movement, and NGO project delivery through Foundation Hramada. That background is the reason this is a services business and not a product pitch. Having run the operations side of a movement, the failure modes are familiar from the inside — the membership list nobody trusts, the volunteer rota held together by one person's spreadsheet, the campaign that discovers its data is unusable two weeks before it matters.
What that produces in practice is a working relationship rather than a delivery. Most of the week is unglamorous and continuous: a form that now writes into the database instead of an inbox, an offboarding that actually removed the access, a report that builds itself the night before the board meeting, an answer to whether the AI tool somebody is being sold should be allowed near the membership list. Almost all of it happens inside the Google Workspace or Microsoft 365 tenancy the organisation already has, because that is where the work already is — and the organisations that later decide to own more of their stack get there in stages, on a plan, having already seen the person doing it work.
It also sets the boundaries. Praxis works with progressive parties, NGOs, civil society and independent media. That is a political commitment, not a market segment, and it is the reason a client can hand over their supporter data without wondering who else is on the books.
// principles
- 01
Movement-native
Praxis is run by someone who has organised, not only engineered — years inside a youth democratic movement and NGO project work. Briefs do not need translating from organiser into engineer first.
- 02
The relationship is the product
Very few problems in this sector are solved by a project. They are solved by someone who knows your systems still being there in six months, when the funder changes the reporting format and the person who understood the spreadsheet leaves. Praxis is built around a retainer for that reason. The audits and the builds are ways in, not the business model.
- 03
Start from the stack you actually run
Almost every organisation here runs on Google Workspace or Microsoft 365, and an offer that begins with leaving it is an offer nobody buys. Praxis builds on top of what you have — automation, access control, the pipes between systems. Open-source, EU-hosted tooling you own is a direction of travel, taken when it pays for itself, in stages, at a price agreed beforehand. It is never a precondition for working together.
- 04
AI with a scoped blast radius
Wanting to use AI is reasonable. Granting a vendor standing access to every document your organisation has ever written is not the way to get there. The work is triage — what is genuinely a job for a model, what is a deterministic script somebody mislabelled — then least-privilege access, then a written policy you can hand a funder. Pilots come last, not first.
- 05
Compliance is the offer, not the overhead
Political opinions are special-category data under GDPR Article 9, and the EU rules on transparency and targeting of political advertising are now live. Generic agencies treat this as friction. Here it is the work.
- 06
Built in CEE, for CEE and the EU
Warsaw-based, working across Central and Eastern Europe and with EU-level networks in English. This region is chronically underserved by the Berlin and Brussels vendor cluster.
// compliance_is_the_offer
Under GDPR, data revealing political opinions is special-category data — Article 9. A membership list, a canvassing record, a petition signature and a donation history are all, in the wrong hands or the wrong jurisdiction, a risk to the people in them. The EU rules on transparency and targeting of political advertising add a second layer on top of that.
Most agencies experience this as friction to be minimised. Here it is the product. Every engagement starts from a lawful basis and a data processing agreement, any hosting Praxis operates stays in the EU under EU law, access is scoped to what the work needs — including for anything with a model behind it — and retention and consent are designed in rather than bolted on afterwards. The documentation you get at handover is the documentation you need when a regulator, a funder or a member asks.
The practical version: you should be able to answer "where does our supporter data live, who can see it, and on what basis do we hold it" in one sentence. If you can't, that is the first thing worth fixing, and it is what adiagnostic is for.
The specifics — Article 9 conditions, the DPA, the sub-processor list, what happens to your data when an engagement ends — are all on thetrust and GDPR page, readable before you sign anything.
// next_step
If that sounds like the right fit, say so.
Tell Praxis what you are trying to do and what is currently in the way. A straight answer comes back either way — including 'this is not a job for us, talk to these people instead'.