Mobile App
The iPhone app is the contractor's command center in the field. Contacts, active jobs, call history, and the whole team — one tap away. No laptop required. The AI agent is a button-hold away for anything CRM-related, and the crew can talk to each other instantly with push-to-talk, just like a walkie-talkie.
Status: Concept · Last Updated: 2026-05-15
Core Sections
| Section | Description |
|---|---|
| Contact Book | Full contact list synced with the CRM. Each contact shows their activity feed, project history, call log, and any relationship details the AI has captured — birthdays, preferences, life context. |
| Projects | Active and completed jobs at a glance. Tap any project to see its full timeline — photos, inspection report, estimate status, change orders, and where the job currently stands. |
| Call Log | Complete call history: answered calls, missed calls, and calls handled by the AI receptionist. Each entry shows who called, when, duration, and a summary of what was discussed. |
| AI Agent (Push-to-Talk) | Hold the button, talk naturally. The AI handles requests instantly — look up a contact, check a project status, create a note, book an appointment. Fully hands-free in the field. |
| Tasks | All your tasks in one place — pulled from AI video transcripts, PTT messages, missed calls, and manual entry. Filter by project, mark done from the field, create new ones by voice. |
Contact Book
The contact book mirrors the full CRM contact list, optimized for fast mobile access. Contacts are searchable by name, address, or project. Tapping a contact opens their full profile:
- Activity feed — every call, note, photo, project, and interaction in chronological order
- Project history — all jobs tied to this contact, with status badges
- Call & SMS log — every inbound and outbound interaction
- Relationship details — birthdays, preferences, life context the AI has surfaced from past conversations
- Quick actions — call, text, or open a new project directly from the contact card
Projects View
A live list of all active jobs, sorted by last activity. Each row shows the job address, contact name, current phase, and a thumbnail of the most recent photo. Tapping a project opens its full timeline.
| View | What's Shown |
|---|---|
| Active Jobs | All projects currently in progress — sorted by last activity |
| My Jobs | Filtered to jobs assigned to the logged-in contractor or crew member |
| Completed | Closed projects — searchable for reference |
| Project Detail | Full timeline: photos, inspection report, estimate, change orders, final walkthrough |
Tasks
The tasks view shows everything on your plate — across all projects, all sources. Tasks are created automatically from multiple places so nothing you say or agree to in the field gets lost.
Where Tasks Come From
| Source | Example |
|---|---|
| AI video transcript | You narrate on-site: "we need to replace the flashing on the north side" → task created automatically |
| Team PTT message | Crew says "we're out of roofing nails" → AI extracts as a supply task on the project |
| Missed call follow-up | AI receptionist handles a call → "Call back Mike Harrington — he wants a quote" |
| AI agent voice command | "Remind me to send the estimate to Hernandez tonight" → task created with 6pm reminder |
| Manual entry | Contractor types or dictates a task directly |
| CRM automation | Project reaches a new phase → tasks auto-generated (e.g., "Schedule final walkthrough") |
Task Views
| View | What's Shown |
|---|---|
| My Tasks | All open tasks assigned to you — sorted by due date and priority |
| By Project | Filter to a specific job — see everything outstanding for that project |
| Overdue | Anything past due, surfaced at the top so nothing slips |
| Completed | Closed tasks — searchable, stays visible on the project timeline |
Task Actions from Mobile
- Mark complete — swipe or tap; completion logged to the project timeline with timestamp
- Reassign to crew — hand a task off to a team member directly from the list
- Add a note — attach context to a task ("ordered from Home Depot, arrives Thursday")
- Create via PTT — hold the AI agent button and say "add a task to the Johnson job: pick up permits Monday"
- Set a reminder — get a push notification at a specific time or when you arrive at a job site
Call Log — Calls & Missed Calls
Every inbound call is logged automatically, whether the contractor answered it or the AI receptionist handled it. Missed calls are surfaced prominently so nothing falls through the cracks.
What Each Call Entry Shows
- Caller ID — matched to a contact if known; flagged as new lead if unknown number
- Timestamp — date and time of the call
- Duration — or "Missed" if unanswered
- Handled by — contractor or AI receptionist
- Call summary — AI-generated summary of what was discussed (for AI-handled calls)
- Action taken — appointment booked, message left, follow-up task created, etc.
Missed Call Flow
- Call comes in — contractor doesn't answer — AI receptionist picks up automatically and handles the call.
- Call logged as "Missed — AI Handled" — Appears in the call log with a summary of what the caller wanted and what action the AI took.
- Push notification sent to contractor — "Missed call from Sarah M. — she wants a quote on gutters. I've booked her for Thursday at 10am."
- One-tap to call back or review full transcript — Contractor can call back directly from the notification or read the full AI call summary.
AI Agent — Push-to-Talk
The AI agent is accessible from anywhere in the app with a single hold gesture — like a smart walkie-talkie with full access to the CRM. No typing. Hold and talk.
What You Can Ask
| You Say | What Happens |
|---|---|
| "What's the status on the Johnson job?" | AI reads the current project phase and last update aloud |
| "Add a note — we need to order 40 squares of shingles" | Note created and attached to the active project |
| "Call Mike back" | Dials Mike's number from contacts |
| "Book Sarah for a quote Friday at 2pm" | Appointment created, confirmation sent to Sarah |
| "What did Mrs. Alvarez say she wanted done?" | AI searches relationship notes and call transcripts and summarizes |
| "Draft a change order for the back deck addition" | Change order drafted for contractor review before sending to customer |
| "Who called while I was on the roof?" | Reads recent missed call summaries aloud |
How It Works
- Hold the PTT button — Available as a floating button anywhere in the app, or mapped to a hardware button (configurable).
- Speak naturally — release when done — No wake words, no rigid commands. The AI understands context — it knows which project you're currently viewing, who you just called, what phase the job is in.
- AI processes with full CRM context — Access to all contacts, projects, call logs, notes, team schedule, and the contractor's calendar.
- Response spoken back — hands stay free — For actions (notes, bookings, change orders) a confirmation card also appears on screen. Contractor can approve or dismiss with one tap.
Example Interaction:
Contractor (holds button): "Hey, what's the address for the Hernandez job and did they sign the contract yet?"
AI: "Hernandez job is 4820 Elm Street. Contract was signed yesterday at 2:14pm. You haven't sent the estimate yet — it's still in draft."
Contractor: "Remind me to send that tonight."
AI: "Done. Reminder set for 6pm — 'Send estimate to Hernandez, 4820 Elm Street.'"
Team Push-to-Talk
Contractors and their crew can talk to each other directly through the app — instant voice, no phone call required. Hold the button, speak, release. The other person hears it live or gets it as a voice message if they're unavailable. Works exactly like a job-site walkie-talkie, but everything is logged and tied to the project.
How Team PTT Works
- Select a teammate or crew channel — Individual DM or a group channel for the whole crew on a job. Channels can be tied to a specific project so all communication stays organized by job.
- Hold to talk — release to send — The other person's phone buzzes and plays the message live if they're active. If not, it's queued as a voice message they play back when available.
- AI transcribes automatically — Every PTT message is transcribed in the background. If someone says "we need more roofing nails on the north side," that gets extracted as a task on the project.
- Conversation logged to project timeline — All crew PTT on a project channel is visible in the project timeline — full record of what was discussed on-site, searchable later.
AI Agent PTT vs. Team PTT
| Team PTT | AI Agent PTT | |
|---|---|---|
| Who hears you | A teammate or crew channel | The AI only (private) |
| Response from | Your crew member (live voice or voice message) | The AI (spoken reply + on-screen card) |
| Transcribed | Yes — logged to project timeline | Yes — actions executed automatically |
| Best for | Coordinating crew on-site in real time | Looking things up, creating records, booking |
| Works offline | Queued and delivered when connection restores | Requires data connection |
Channel Types
- Project channels — one channel per active job; all crew assigned to that job are auto-added
- Direct messages — one-on-one between any two team members
- Company broadcast — owner-only broadcast to the entire org (crew receives, can't reply)
App Tab Structure
| Tab | What's Here |
|---|---|
| Contacts | Full contact book — search, call, text, open profile |
| Projects | Active and completed jobs — timeline, photos, current status |
| Tasks | All open tasks across all projects — by due date, priority, or job |
| Calls | Full call log, missed calls, AI-handled call summaries |
| Team | Push-to-talk channels, direct messages, crew list |
| Capture | Camera — photo/video auto-linked to project via GPS (see Mobile Field Capture) |
Open Questions
- Is this a new standalone app or an extension of the existing Sulla Mobile app?
- Voice AI stack — ElevenLabs for speech output, Whisper or Deepgram for transcription?
- Team PTT delivery method — WebRTC for live audio, or push notification + audio file for async?
- Does team PTT degrade gracefully on poor LTE common on job sites? What's the offline queue strategy?
- How are team members invited — contractor admin manages through the web CRM?
- Are project channels created automatically when a project is created, or does someone have to set them up?
- Can the AI agent initiate — e.g., remind the contractor at 6pm to send that estimate?