Process To Tool
work Internal Tool

JobFlow CRM — Application Tracking System

A lightweight CRM-style system for managing vacancies, applications, companies, contacts, documents, follow-ups, and pipeline statuses in one structured workflow.

Internal ToolPortfolio ProjectCRM

Portfolio project. Personal data, private contacts, and real application details should be removed before public screenshots.

Context

JobFlow CRM was created around a real operational problem: job search and application activity can quickly become scattered across job boards, documents, contacts, notes, reminders, and follow-up messages. The same pattern appears in many business workflows where people manage leads, candidates, requests, or projects manually.

Business problem

The problem was not only storage. The workflow needed clear statuses, relationships between records, document history, follow-up tracking, and a way to see what required action. Without a structured system, it was easy to lose context, forget a contact, reuse the wrong document version, or miss the next step in the pipeline. This is similar to what happens in small teams when spreadsheets become the hidden CRM, but there is no real operating view.

Role / responsibility

The role covered workflow structuring, data model definition, interface logic, feature planning, and AI-assisted implementation. The project was used as a practical internal tool example, not as a claim of enterprise CRM development. The focus was on turning an operational workflow into a usable lightweight system.

What was done

The system was structured around the main entities of the workflow: vacancies, companies, contacts, applications, documents, communications, reminders, and settings. Each entity received a clear purpose instead of becoming another general notes table. The application pipeline was designed to show status and next action. Document management was connected to the application workflow so CVs, cover letters, and message templates could be tracked in context. Follow-ups and reminders were included to prevent work from disappearing after the first action. Export and import logic helped make the system portable and easier to test.

System or process structure

The structure follows a simple operating model: collect relevant opportunities, connect them to companies and contacts, prepare documents, track application status, record communications, and maintain follow-up actions. The dashboard acts as the management layer: what is active, what is overdue, what requires preparation, and what has already moved forward. This makes the system useful as a reference model for recruitment, sales, consulting, or service workflows.

Result or demonstrated value

JobFlow CRM created a single view of a scattered workflow. It made it easier to track applications, contacts, documents, statuses, and follow-ups in one place. For potential clients, the value is not the job-search domain itself. The value is the reusable pattern: take an operational process that is currently managed through spreadsheets and memory, define its records and statuses, then create a lightweight tool around daily usage.

Tools / stack

  • Python
  • FastAPI
  • SQLAlchemy
  • SQLite
  • Jinja2
  • Tailwind CSS
  • Markdown
  • Playwright
  • GitHub
  • AI-assisted development

Reusable patterns

  • A useful CRM starts with workflow logic, not screens.
  • Statuses should support decisions, not only label records.
  • Document flow becomes more valuable when connected to pipeline stages.
  • Follow-up visibility is often more important than feature volume.
Ready to act?

Discuss a similar setup

This example is relevant when clients, candidates, leads, requests, documents, or follow-ups are spread across several tools and need one practical operating system.