Complete end-user manual for the ARC freelance CRM application. Covers every feature, every workflow, and every page. Derived from arc/docs/05_USER_MANUAL.md and the implemented ARC application at C:/repos/arc/.
http://localhost:3000Your session stays active for 24 hours. After that, you will be prompted to log in again.
After your first login, go to Settings to configure:
Your home screen. Everything that needs your attention, in one view.
The top section of the dashboard shows your most urgent action items, ranked by AI-calculated priority score (1-100). Higher score = more urgent.
| Action Type | What It Means |
|---|---|
| Response Pending (Client) | You sent something, client hasn't replied. Ball is in their court. |
| Response Pending (Me) | Client replied or sent something. You need to respond. |
| Follow-up | No communication for a while. Time to check in. |
| Invoice Due | An invoice is approaching or past its due date. |
| Project Start | A project has been accepted and needs to start. |
| Offer Pending | An offer was sent but no decision from client yet. |
Use the "Show All" toggle to switch between top-priorities view (default) and the complete list of all pending actions.
| Section | What It Shows | Interaction |
|---|---|---|
| Project Status Grid | All active projects as cards with color-coded status badges | Click any project card to go to its detail page |
| Calendar Widget | Next 7 days of calendar events | Click "View Calendar" to open full calendar |
| Recent Emails | Last 10 indexed emails with sender, subject, and sentiment indicator | Click any email to open the thread |
| Financial Summary | Outstanding invoice total, received this month, pending payments | Click figures to go to Finance section |
Email matching tells the system which Gmail messages belong to this client. Without correct matching configuration, emails will appear as "unassigned".
john.smith@acmecorp.com*@acmecorp.comWildcards use * to match any characters. Example: *@company.com matches all addresses at that domain, including subdomains if the pattern is broad enough.
| Tab | Content |
|---|---|
| Overview | Contact info, notes, creation date, summary statistics |
| Projects | All projects for this client with status badges |
| Emails | All indexed email threads involving this client |
| Configuration | Email address and wildcard pattern management |
| Status | Meaning |
|---|---|
| Lead | Initial contact, no commitment made yet |
| Talks Initialized | Conversation started, interest expressed |
| Offer Sent | You have sent a formal offer, awaiting client decision |
| Offer Accepted | Client accepted the offer, project starting soon |
| In Progress | Active work underway |
| Review | Work delivered, awaiting client review and feedback |
| Completed | Project finished, all deliverables accepted |
| On Hold | Temporarily paused, reason should be noted |
| Cancelled | Project cancelled by either party |
The AI agent automatically infers status changes based on email analysis (status_inferrer cron, every 2 hours). You can always override manually.
| Section | Location on Page | Content |
|---|---|---|
| Details panel | Left side | Status badge, description, estimated value, start date, deadline |
| Deadlines & Events | Upper right | Calendar events scoped to this project (flat list, not calendar view). Create, edit, and delete events here. |
| Actions | Lower right | AI-scored action items for this project. Priority scores shown. |
Add project-specific deadlines, meetings, and reminders from the project page. These appear both here and on the main Calendar page.
Use the pencil icon to edit an event, or the trash icon to remove it.
Deleting from the project page removes the event from the ARC database. The event may remain in your Google Calendar — delete it there separately if needed.
ARC automatically connects to Gmail and indexes your emails every 15 minutes (configurable).
| What Happens | Detail |
|---|---|
| Emails fetched | All messages matching client email patterns since last sync |
| Gmail label added | "UV-Indexed" label applied to processed messages |
| Client matched | From/To address checked against all client email patterns and wildcards |
| Unassigned emails | Emails with no matching client shown with orange "unassigned" badge |
| Sent emails indexed | Your own sent emails are also stored (used for AI writing style learning) |
| Nothing deleted | ARC never deletes, moves, or changes your Gmail messages (only reads and labels) |
To trigger an immediate email sync without waiting for the next cron cycle:
Each email thread card shows a pink pill with the client name if matched, or an orange "unassigned" badge if no client was found.
Each email is analyzed by AI for emotional tone. Sentiment badges appear on the email list and within threads.
| Sentiment | Color | Meaning |
|---|---|---|
| positive | Green | Happy, satisfied, approving |
| neutral | Gray | Informational, standard communication |
| negative | Red | Unhappy, complaint, concern expressed |
| urgent | Amber | Time-sensitive, requires immediate action |
The Calendar page shows all your ARC-related events in FullCalendar view. Switch between Month, Week, and Day views. Events are color-coded by type (deadline, meeting, reminder).
All events are bidirectionally synced with Google Calendar:
ARC can automatically read your recent email threads and extract meeting dates, deadlines, and follow-ups mentioned in conversations.
This also runs automatically every 60 minutes in the background. Already-processed threads are skipped, so no duplicates are created.
Offer templates use HTML and CSS. Use the code editor with these variable placeholders:
| Variable | Filled With |
|---|---|
{{client_name}} | Client company name |
{{project_name}} | Project name |
{{steps_table}} | Full rendered HTML table of offer steps |
{{total}} | Grand total amount (formatted, in PLN) |
{{date}} | Today's date |
Every time you save an offer, a new version snapshot is created. No old version is ever deleted. To view previous versions, click the "Version History" button on the offer detail page and select any past version.
| Status | Meaning | How Set |
|---|---|---|
| Draft | Created but not yet sent to client | Default on creation |
| Sent | Invoice delivered to client | Manual status change |
| Paid | Payment received | Automatically when bank transaction is matched |
| Overdue | Past due date, not paid | Automatically when due_date passes |
| Cancelled | Invoice voided | Manual status change |
Bank transactions are append-only. Once imported, they cannot be modified or deleted. Re-uploading the same file will not create duplicates (deduplication by transaction reference).
| Tab | Content |
|---|---|
| Import | CSV upload interface with preview |
| Transactions | All imported transactions with match status (matched/unmatched/pending) |
| Payments | Per-project payment status: invoiced vs. received, outstanding amounts |
| Monthly | Monthly income analysis: bar chart (trend), pie chart (client distribution), table |
| Tax | Period selector, Polish tax report format, CSV/PDF export in PL or EN |
| Tab | Content |
|---|---|
| Profile | Change your password |
| Google Integration | Connect / disconnect Google account. OAuth2 flow. Gmail + Calendar authorize separately. Your Google password is never stored. |
| Agent | Cron schedule configuration: email sync interval, action scoring interval |
| Language | Switch UI between Polish and English. Affects all text and report exports. |
Go to Settings → AI Prompts to customize how the AI behaves. Each prompt is displayed in a collapsible card with a monospace text editor.
| Badge | Meaning |
|---|---|
| Blue "customised" | You have a saved custom version active for this prompt |
| Amber "unsaved" | You have typed changes but not yet saved them |
| (none) | Using the system default prompt |
Prompts you can customize:
Click Save to activate your custom prompt. Click Reset to revert to the system default. Changes take effect on the next AI call (no restart required).
Import your historical Gmail and automatically discover client contacts.
After backfill completes, ARC analyzes all email addresses seen in your mailbox with a two-step process:
The review screen shows addresses grouped by suggested client name with confidence scores. For each group:
Click "Create Clients". All approved groups are created as clients. All historical emails from those addresses are automatically linked to the new client records.
| Data Type | Guarantee |
|---|---|
| Gmail emails | ARC only reads and labels. Nothing is deleted or moved in Gmail. |
| Indexed email records | Never deleted from the ARC database. Permanent records. |
| Bank transactions | Append-only. Never modified or deleted after import. |
| Invoices and Offers | No hard-delete. Cancelled/archived status used instead. |
| All other data | Soft-delete pattern. Records are deactivated, not removed. |
Regular database backups are recommended. All data lives in the PostgreSQL container volume. Run pg_dump on a schedule appropriate for your usage.
AI suggestions (email drafts, offer steps, action items, calendar events) are always proposals. You review and control everything before it is saved or sent.