ProjectsJob portal
Job portal
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
Remote does not mean anywhere
Many listings are marked as remote and still only apply to one country. The portal 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 portal 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 portal 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 portal tracks every application with status, notes and reminders.
The portal 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 portal 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
- around 260 automated tests with Vitest and Playwright, CI on GitHub Actions
- Operations
- Docker Compose, Caddy
Live
- Address bewerbungen.dmn-software.com
- Access Account required