Johann Cavallucci

Targeter was born from a real personal need. While actively job hunting, I was juggling fragmented workflows — copying job offers into ChatGPT for summaries, asking AIs to draft cover letters, running scrapers and bots that scored letters and sent back the good ones. Useful, but scattered and full of friction.
The idea: centralize everything into one product — track applications, act on them, and let AI handle the repetitive cognitive load — so the job seeker can focus on what matters (deciding, applying, preparing) instead of copy-pasting between tools.
Targeter is a job search organizer designed for people in active search. Positioning: a clean Notion-like base (Kanban + Table) plus a contextual AI layer that knows the user’s profile and applications — not a generic ChatGPT embedded in a UI.
I own the product end-to-end: Full Stack engineer and UX designer — product, architecture, UI, AI features, and the Chrome extension.
The design goal is a calm, frictionless UX usable by developers and non-technical job seekers alike. A clean, airy interface inspired by Notion’s simplicity — no getting lost.
Key features today:
@company — role) and slash commands for bounded actionsThe core product promise: remove friction from the job search loop.

| Technology | Role in the project |
|---|---|
| Nuxt 4 | Full-stack web app (UI + Nitro API) |
| Vue / Nuxt UI | Component system and product UI |
| Tailwind CSS | Design system styling |
| TypeScript | End-to-end type safety (web, API, extension, shared packages) |
| pnpm monorepo | Architecture: apps/web, apps/extension, packages/db, packages/shared |
| Drizzle ORM | Schema, migrations, typed DB access |
| PostgreSQL | Primary relational database (apps, users, AI profile, tokens…) |
| Better Auth | Email/password auth and sessions |
| Vercel AI SDK + AI Gateway | Contextual assistant (chat, scoring, cover letters, offer parsing) |
| Zod | Request/data validation |
| WXT | Chrome extension toolchain (MV3) |
| Chrome Extension (content + background) | Parse WTTJ job pages and POST offers via API tokens |
| Vitest | Unit tests (parsers, shared utils) |
| evlog | Structured API logging / observability |
| Figma | UI/UX exploration and visual consistency |
Architecture angle: intentionally simple and reliable — clear monorepo boundaries, shared types between web and extension, token-based auth for the extension (no cookie dependency), and AI designed as bounded actions with durable context (profile + applications) rather than endless chat history.

Building a product like this solo means the UX bar is as high as the engineering one:
Targeter is actively in progress and already far along: a stable Notion-like core, a working AI MVP, and a WTTJ extension. It already helps me in my own job search — the best validation for a tool built from personal pain.
Next step: turn it into a SaaS — polish the AI experience, entitlements and billing, and grow beyond the solo workflow into a product others can rely on during their search.