Senior tech & product jobs across Europe.
For experienced people in engineering, data, product, design and DevOps – from Lead to Staff, Principal or Head of. Describe the role you want, remote or on-site, and WebZap Jobs emails you matching open positions, daily or weekly. No account, no profile, no CV upload.
describe your job ↓↳ free & open source – read what we do with your data · see a sample email
This is 100% free. Your text is used for exactly one thing: emailing you tailored job offers.
We never sell or share your data – it's a one-way street. To keep this free, companies can pay us to include their job in our emails, and some job links go to partner job search engines that pay us per click. Both are always clearly labelled (“Sponsored”, “Partner link”), and neither ever gets your email address or what you wrote. Every email has a link to change the frequency, pause, or delete everything – one click, any time.
What could land in your inbox
- Staff Backend Engineer – Payments Why: matches “Staff Backend Engineer” · remote (EU) · mentions Go, payments employer's career page
- Principal Software Engineer Why: matches “Principal Software Engineer” · remote (Germany) · mentions Python Partner linkvia Jooble
- Lead Backend Engineer – Checkout Why: matches “Lead Backend Engineer” · remote (Europe) · mentions payments, EU time zones Sponsoredsponsored listing
Fictional examples, not open jobs right now. See the full sample email →
how it works
- describeWrite freely what you're looking for. Messy is fine.
- confirmClick the link in the email we send you. Unconfirmed entries vanish after 48 h.
- receiveGet matching open positions, daily or weekly. Only real, current postings. See a sample →
- controlNo account, no password. Every email contains your personal links to edit, pause, export or delete.
don't trust us – read the code
WebZap Jobs is open source. Everything this site does with your data is public on GitHub.
Privacy promises are cheap. Code is verifiable. Read it, audit it, run your own instance, or open an issue if you find something you don't like.
- MIT license
- email + text encrypted (Fernet/AES)
- links stored only as SHA-256 hashes
- zero cookies, zero trackers
- no third-party fonts or scripts
- deployed commit shown in the footer
def add_pending(email: str, text: str, frequency: str, lang: str = "en", campaign: str = "") -> dict:
"""Store an unconfirmed signup; returns its fresh tokens {confirm, manage, delete}."""
t = {k: secrets.token_urlsafe(32) for k in ("confirm", "manage", "delete")}
with _conn() as c:
c.execute(
"""INSERT INTO signups (email_hash, email_enc, text_enc, confirm_hash, manage_hash, manage_token_enc,
delete_hash, frequency, lang, campaign, created_at) VALUES (?,?,?,?,?,?,?,?,?,?,?)""",
(
email_hash(email),
_fernet.encrypt(email.strip().encode()),
_fernet.encrypt(text.encode()),
_h(t["confirm"]),
_h(t["manage"]),
_fernet.encrypt(t["manage"].encode()),
_h(t["delete"]),
frequency,
lang,
campaign or None,
int(time.time()),
),
)
if campaign:
_count(c, campaign, "signups")
return t