Freelance: Product Engineer (d/w/m)

About OpenSanctions 

OpenSanctions helps to keep people and companies accountable for their political and economic actions. We build a database that tracks a wide range of entities in the public interest: sanctioned companies, politicians, fraudsters, and criminals. Originally built to support anti-corruption journalists, OpenSanctions has also become a powerful tool used by hundreds of commercial clients worldwide for know-your-customer screening, legal compliance, and in-depth investigative analysis.

We are a small, bootstrapped, sustainable business. Transparency and accessibility are core to how we work: our pipeline is open source, and public search is free for everyone. Most of our new customers find us, sign up and start paying without ever talking to a salesperson. We want to make that path the best part of the product.

We are looking for a freelance Product Engineer to build the commercial systems behind OpenSanctions: billing, business intelligence, the customer account area, and the internal tools our team uses every day.

The role 

A customer should be able to go from our website to an API key, or pick the right bulk data license and have a working integration of our data without emailing anyone.

When a customer does contact us, our support team should see the whole account in one place and resolve the issue directly, without a detour through engineering.

You'll own this layer: customer sign-up and management, billing, reporting, and the internal tools around this. You'll write the code as part of our engineering team and decide what to build next with management, finance and support. One day that means a Stripe webhook, the next a dashboard for customer success, and the day after an afternoon with support working out which of their tasks are worth automating. You choose the problems that matter most, ship a small version quickly and improve it from there.

What you'll do 

  • Funnel improvements: Instrument the path from signup to paying customer, find where people drop off, and fix it. Ship pricing and packaging changes as product releases, not spreadsheet edits.
  • Customer sign-up and account area: Build what customers expect from a modern data service: team and user management, API keys, usage views, invoices and contract documents, and API usage analytics.
  • Business intelligence: Build the reporting layer for our API and bulk data business: revenue, usage, funnel and cohort dashboards that management and finance can trust without asking an engineer. Get us to one source of truth for each commercial number.
  • Billing: Own and extend our Stripe-based billing: API credit bundles, plan changes, upgrades and downgrades, invoicing edge cases, failed payments. Keep billing, our subscription analytics and our own account database consistent with each other.
  • Admin and support tooling: Give our support team one screen that shows an account's plan, usage, keys, invoices, tickets and contract terms, and lets them act on it: extend a trial, grant credits, issue a key. The test is whether support enjoys using it.
  • Data sync and automation: Build and maintain the connections between our account database, billing, CRM, subscription analytics and data warehouse, plus the automations around them: renewal and usage alerts, lifecycle emails. Replace hand-run scripts with jobs that tell us when they fail.

About you 

Required 

  • Several years of experience shipping production web software, ideally in Python (FastAPI or similar) with SQL. You're comfortable enough in a React / Next.js front-end to build an admin screen or a checkout step.
  • You have built billing or subscription systems on Stripe or something similar, and you know why proration, credit notes and failed payments are harder than they look.
  • You think in business terms. You understand what a dashboard is for before you build it, you can tell whether something has workable economics, and you'll argue against a feature that isn't worth it.
  • You have built reporting or BI, including modeling data in SQL and setting up dashboards that people actually used.
  • You integrate third-party APIs (CRM, billing, analytics) in a way that is observable and boring.
  • You communicate clearly with people who aren't engineers, and you document what you build.
  • Fluent English (written and spoken), and working hours that overlap with CET (preferably CET ±3).

Nice to have 

  • Experience at a small, product-led B2B SaaS or API company, or as the engineer who worked "on the business side" at a larger one.
  • Familiarity with HubSpot, ChartMogul, BigQuery, or BI tooling such as Metabase or dbt.
  • Experience building self-serve customer flows or usage-based pricing.
  • Excitement for agentic coding, and for building clean, sustainable software with AI.
  • Interest in compliance, sanctions, open data or investigative journalism.
  • German is a plus for finance-side work, but not required.

Details 

  • Engagement: Freelance / contract. No agencies. We're looking for a long-term working relationship, and are open to discussing employment later.
  • Location: OpenSanctions is remote-first; if you're based in Berlin, we offer a desk in our office.
  • Working with: our Head of Engineering and management.
  • Culture: An async culture with flexible hours; work where and when you're most productive.
  • Team: A small, mission-focused, and friendly team.

How to apply 

Please apply via our application form; only applications submitted via the form will be considered. We will need your CV, your GitHub or LinkedIn profile (if you have one), and short answers to a few questions in place of a cover letter. One question will ask you to describe a billing system, internal tool or dashboard you built that a business relied on. Another will ask what you would automate first after reading our pricing page.

For questions about the role, you can contact us via jobs@opensanctions.org.

We're reviewing applications on a rolling basis and look forward to hearing from you!

We value diversity of all kinds in our team, and encourage applications from people of all ethnicities, ages, gender identities, and sexual orientations. Even if you feel like you don't have all the 'nice-to-haves', please do apply.