ProjectsJob finder
Remote job finder and application tracker
A self-hosted web application that finds fully remote jobs advertised worldwide that can actually be taken while living in Germany, and tracks your own applications with status, notes and reminders.
Account required

Key facts
As of
- Sources
- 15 (8 job boards, 7 applicant tracking systems)
- Scored
- 3,389 jobs
- Above the score threshold
- 370
- Eligible from Germany
- 175, another 195 excluded
- Tests
- 369 (362 with Vitest, 7 with Playwright)
Remote does not mean anywhere
Many listings are marked as remote and still only apply to one country. The app reads the residence requirements from every listing and keeps only jobs that can be accepted from Germany.
Excluded jobs do not disappear. They stay visible, together with the sentence from the listing that ruled them out. That way every decision can be checked.
Applications are always sent by hand. The app sends nothing automatically.

Finding jobs
Jobs come from several job boards and directly from the applicant tracking systems of companies. If the same job shows up in several sources, it is merged into one entry.
The company directory grows on its own. The app recognizes the applicant tracking system from the links in job listings, uses AI once a week to look for more companies, and a crawler reads career pages. It respects robots.txt and requests each domain at most once every two seconds.
Job boards
- Remotive
- RemoteOK
- Himalayas
- Jobicy
- We Work Remotely
- Arbeitnow
- Adzuna
- Hacker News “Who is hiring”
Company applicant tracking systems
- Greenhouse
- Lever
- Ashby
- Workable
- Recruitee
- Personio
- SmartRecruiters
Matching in three stages
First, hard filters sort jobs out without any AI. Then pgvector compares the profile with the remaining jobs by the similarity of their vectors. The embeddings are created locally with Transformers.js and the multilingual model multilingual-e5-small.
Only what is left after that gets rated by an AI with a score from 0 to 100, with reasons and the gaps in the profile.
The provider, Claude or Gemini, can be chosen for each step. A daily limit caps the calls.

Tracking and mail
The app tracks every application with status, notes and reminders.
The app sends mail through Resend, with templates built in React Email. Every day a digest of the best new matches arrives, along with reminders for follow-ups that are due.
If Resend reports a hard bounce or a spam complaint, a webhook turns the digest off. The webhook signature is verified first.
Security
The app holds CVs, references and GitHub tokens.
- Sign in with email and password, second factor through TOTP
- Rate limit for login attempts
- OAuth tokens encrypted with AES-256-GCM
- Audit log that is only ever appended to, with secrets redacted
- Row Level Security on all tables
- Export of all your own data as ZIP
Technology
- Frontend
- Next.js 15, React 19, TypeScript, Tailwind CSS 4, shadcn/ui
- Data
- Supabase, self-hosted: Postgres 17 with pgvector, GoTrue, PostgREST, Storage, Kong
- Background jobs
- Queues with pg-boss
- Embeddings
- Transformers.js with multilingual-e5-small
- AI
- Claude and Gemini, selectable for each step
- Resend with React Email
- Tests
- Vitest and Playwright, CI on GitHub Actions
- Operations
- Docker Compose, Caddy
Live
- Address bewerbungen.dmn-software.com
- Access Account required