Skip to content

izag8216/followup

Repository files navigation

followup

Header

Python License Version

Customer follow-up reminder CLI. Log contacts, get smart suggestions. Never miss a follow-up again.

English | 日本語


Overview

followup is a lightweight command-line tool for freelancers and solopreneurs who manage multiple client relationships. It logs every customer contact, tracks deal stages, and intelligently suggests who needs a follow-up — before you lose the deal.

Why not a CRM?

CRMs are heavyweight SaaS platforms with monthly fees. followup runs locally, stores data in SQLite, and focuses on one thing: reminding you to follow up.


Features

  • Log contacts (email, call, meeting, other) with notes
  • Track deal stages: leadproposalnegotiationactiveclosed
  • Smart follow-up suggestions based on customizable rules
  • Contact reports (weekly, monthly, yearly)
  • Zero external dependencies beyond Python stdlib + click + rich
  • All data stored locally in ~/.followup/followup.db

Installation

pip (recommended)

pip install followup-cli

From source

git clone https://github.com/izag8216/followup.git
cd followup
pip install -e .

pipx (isolated)

pipx install followup-cli

Quickstart

# Add a person you're dealing with
followup people add "Alice Chen" --company "Acme Corp" --stage proposal --priority 5

# Log a contact
followup log "Alice Chen" --type email --note "Sent proposal v2"

# Log another contact a few days later
followup log "Alice Chen" --type call --note "Discussed timeline"

# Who needs follow-up?
followup suggest --top 5

# This week's activity
followup report --this-week

# Customize reminder rules
followup rule add --stage proposal --max-days 5

Usage

People Management

followup people list                          # List all people
followup people add <name> --stage <stage>    # Add a person
followup people edit <id|name> --priority 5   # Update a person
followup people delete <id|name>              # Remove a person

Contact Logging

followup log <id|name> --type email --note "..."  # Log a contact
followup history                                  # View all history
followup history "Alice Chen"                     # View one person's history

Suggestions

followup suggest              # Top 5 suggestions
followup suggest --top 10     # Top 10 suggestions

Rules

followup rule list                                     # List all rules
followup rule add --stage proposal --max-days 5        # Set rule
followup rule delete --stage lead                      # Remove rule

Reports

followup report --this-week       # This week's contacts
followup report --this-month      # This month's contacts
followup report --year 2026       # Yearly summary

How Suggestions Work

followup calculates urgency based on:

  1. Last contact date — how long since you last reached out
  2. Stage rules — customizable max-days per stage (e.g., proposal = 7 days)
  3. Priority — importance of the contact (1-5)

Default rules:

Stage Max Days
lead 14
proposal 7
negotiation 3
active 30
closed 365

Cron Integration

Add to crontab for daily morning suggestions:

0 9 * * * /usr/local/bin/followup suggest --top 5

Tech Stack

  • Python 3.10+ — core language
  • click — CLI framework
  • rich — terminal output formatting
  • SQLite — local data storage

Contributing

See CONTRIBUTING.md for development setup and guidelines.


License

MIT — see LICENSE for details.

Generated by yusaku-skill.

About

Customer follow-up reminder CLI - log contacts, get smart suggestions

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages