Insurance Tracker · plan for James and Shaun

What we decide next, and what each choice costs.

Email for every account, our own web address, who runs the admin side, and letting AI read policies and certificates. Every section ends with a recommendation and one decision.

18 decisions open 10 right-away to-dos left About $25 a month to run today Competitive research
Plan of RecordDate 10/28/2026
ProducerShaun Gailey, Knight Insurance Services
Agency licenseCA 0K11401
Prepared byJames McDonnell
Contact(805) 256-5089
Proposed addressapp.instkr.com
Monthly cost, next 90 days$25 → about $80

This page holds no passwords, keys or test logins. Those stay in each service's own settings.

Right away · James's order

The short list to finish before anything else.

Tick items off as they're done. James and Shaun can add, edit, reorder and remove items, and both see the same list.

  1. QA everything: every page, as admin, agency owner, broker and clientJames
  2. Documents in and out: upload, view the PDF, send, and receive by emailJames
  3. Mobile site optimized: every page checked on a phoneJames
  4. Domain working: app.instkr.comBoth
  5. Decide how email works (sending and per-client inboxes)Both
  6. Email cost per account: confirm the estimate in section 2James
  7. Shaun's login, and the real Knight Insurance Services agency in AdminShaun
  8. Turn on Google two-step sign-in for both admin loginsBoth
  9. Brand the Google sign-in screen (name, logo, privacy and terms links)James
  10. Walk through the decision list together and mark each oneBoth

1 · Where things stand

The app works today. Email, our own address and AI are what's left.

A lot landed this week, including the admin area, agency tools for brokers and clickable dashboards. Everything below the line is what this plan covers.

Live now Working

  • Sign in with Google or email and password. New people ask for access and an admin approves them.
  • Policies, certificates, clients and renewals, with an Overview you can click into.
  • Agency tools for brokers: add clients, invite a client's people when the client allows it, agency page with the license number.
  • Admin area: see the app as any user, approve sign-ups, create a new agency, choose whether an invite sends an email.
  • Help when things break: an error log, "Tell us what happened", and a feedback button on every page.
  • Terms, privacy and broker disclosures from Shaun's own wording, plus an accessibility statement.
  • Daily backups of all data.

Still to do Open

  • Email is switched off. Invites, certificate sends and renewal reminders are built but don't go out. Section 2
  • The address is a test-looking one (pages.dev), not Shaun's domain. Section 3
  • Shaun's own login and the real Knight Insurance Services agency still need to be set up in Admin.
  • AI reading of policies and certificates isn't built. Section 5
  • From Shaun's list: Free vs Pro, upload many policies at once, photos as well as PDFs, hiding D&O and EPLI from people who shouldn't see them.
  • Phone apps are built but not yet listed in the Apple and Google stores.
  • One look change waits for James: the two Overview buttons.

2 · Email for each account

Send from Shaun's domain, and give every client its own inbox address.

Email has two directions. Sending is the app emailing people: invites, "a certificate was requested", renewal reminders. Receiving is people emailing documents into the app: a carrier or a subcontractor sends a certificate to the client's own address and it shows up for review. Both run on instkr.com, which Shaun already owns and which already sits on Cloudflare.

Step 1Someone emails a certificate

to the client's address, for example acme-7k2@in.instkr.com

Step 2Cloudflare catches it

One catch-all rule for every address on in.instkr.com. Free.

Step 3A small program files it

Saves the attachment to that client and notes who sent it. Free at our size.

Step 4Review tray

The client or broker clicks Accept. Trusted senders are marked; unknown senders wait.

Sending: which email service

OptionMonthly costGoodWatch out
Resend$0 up to 3,000 emails
$20 up to 50,000
The app is already built for it. Simple setup, good delivery, clear logs of what was sent.Free plan caps at 100 emails a day, fine until real volume.
PostmarkAbout $15 for 10,000Known for the best inbox delivery on account email.No useful free plan. Code changes to switch.
Amazon SESAbout $0.10 per 1,000Cheapest at large volume.More setup, an approval step with Amazon, and plainer tools.

Receiving: per-client addresses

OptionMonthly costGoodWatch out
Cloudflare catch-all plus a small program$0Unlimited addresses with no per-address setup. Lives on the same Cloudflare account as the domain.About 2 days to build the filing step and the review tray.
Postmark inboundAbout $15Ready-made, sends each email to the app.A second paid service doing what Cloudflare does free.
Forward to one shared Gmail$0No build.Someone sorts every email by hand. Doesn't grow.

Setting it up, in order

  1. Shaun gives James DNS access to instkr.com in Cloudflare (a member login limited to DNS, not the whole account).
  2. Add Resend's three records for mail.instkr.com. These prove to Gmail and Outlook that our email is real (the industry names are SPF and DKIM).
  3. Add a DMARC record in watch-only mode. It reports who sends as instkr.com. After 30 clean days we tighten it so fakes get rejected.
  4. Turn on Cloudflare Email Routing for in.instkr.com with one catch-all rule. Cloudflare adds its own records.
  5. James puts the sending key into the app's server settings (never in the website), then flips the email switch on.
  6. Test sends to James and Shaun only, check they land in the inbox, then open it to everyone.

Why subdomains

Sending from mail.instkr.com and receiving on in.instkr.com keeps app email apart from any normal mailbox on instkr.com. If the app ever has a bad sending day, Shaun's own email isn't affected, and nothing that already receives mail on the main domain has to change.

How each email looks

From "Insurance Tracker for Knight Insurance Services", sent from notices@mail.instkr.com. Replies go to the broker's own email, so clients answer a real person. Each agency gets its own name in the From line without any setup.

Who owns what

Shaun owns the domain and the Cloudflare account. The Resend account is opened under a shared company email with both of you as members, so neither person can get locked out.

Email cost per account

An active client company gets roughly 20 to 40 emails a month from the app: invites, certificate requests, renewal reminders and "a sub's certificate is expiring" notices. We use 30 here. Receiving through per-client addresses costs nothing at any of these sizes.

AccountsEmails a monthResend planMonthly totalPer account
10 companiesAbout 300Free (3,000 a month, 100 a day)$0$0
50 companiesAbout 1,500Free (about 50 a day, under the cap)$0$0
200 companiesAbout 6,000Pro (50,000 a month)$20$0.10
1,000 companiesAbout 30,000Pro (50,000 a month)$20$0.02

Recommendation

Use Resend on mail.instkr.com for sending ($0 to start) and Cloudflare catch-all on in.instkr.com for per-client addresses ($0). Turn sending on this week for test accounts only, then for everyone once the first emails land in the inbox. Build the receiving side this month.

Decision

OK to send app email from instkr.com through Resend, and give James DNS access?

Owner
Shaun
By
Tue Nov 4

3 · Web address and hosting

Keep the hosting. Move the address to app.instkr.com.

The website is hosted free on Cloudflare Pages (two copies today). The data, sign-in, files and server work run on Supabase, on the $25 a month plan with daily backups. Both are solid, fast and cheap, and Cloudflare is where instkr.com already lives. Moving to another host would cost time and buy nothing. What does need work is how it looks to a client: the address and the Google sign-in screen.

OptionMonthly costGoodWatch out
app.instkr.com for the app, instkr.com for the landing page$0About 15 minutes in Cloudflare. Looks like a real product. The old address forwards to the new one.Google sign-in needs the new address added to its allowed list the same day.
Branded Google sign-in screen$0Shows "Insurance Tracker", the logo and our privacy and terms links when someone signs in with Google.Google checks the logo, which takes a few days.
Sign-in on our own domain (auth.instkr.com)$10Google's screen says "continue to instkr.com" instead of a long Supabase address. Builds trust with new clients.Worth it once outside clients sign in, not before.
Test copy (staging)About $10A second copy with fake data, so changes get tried before real clients see them.One more thing to keep in step. A free copy goes to sleep after a quiet week.
Stay on pages.dev$0No work.Looks like a test site to a client or a carrier.

Recommendation

This week: move to app.instkr.com and brand the Google sign-in screen, both free. This month: add the test copy (about $10). Before the first outside client: sign-in on auth.instkr.com ($10). Retire the second Pages copy once the new address works.

Decision

Is app.instkr.com the name, and is the landing page the main instkr.com?

Owner
Shaun
By
Tue Nov 4

4 · Admin and roles

Two site admins. Everyone else gets the smallest role that does the job.

Site admin is the master key: it can see the app as anyone and create agencies. Today that is James (two emails) and Shaun. Everything else is already split into roles that only see their own agency or company.

Site admin

Admin page, see as any user, approve sign-ups, create agencies, error log.

James and Shaun only

Agency owner

Runs one agency: name and license, invites agents, decides which agents may add clients.

Shaun for Knight Insurance Services. James only for the Sample agency.

Broker (agent)

Works that agency's clients. Full or view-only per client, set by the client.

Knight staff Shaun invites

Client admin

Runs one company: its people, broker access, whether the broker may invite people.

The insured's owner or office manager

Client editor or viewer

Uses that one company's policies and certificates. Viewers can't change anything.

HR, CFO, project managers

Adding a third person later

OptionCostGoodWatch out
Broker at Knight who may add clients$0, works todayRight for an assistant or a new producer. Sees only Knight's clients.Can't see sign-ups or the error log.
New "Support" roleAbout 1 day to buildCan read sign-ups and the error log to help people, but can't see as other users or create agencies.Only worth building when that person exists.
Make them a site admin$0Instant.Sees every agency's clients. One stolen password exposes everyone.

Recommendation

Keep site admin to James and Shaun, each with Google two-step sign-in turned on. Shaun is owner of the real Knight agency and leaves the Sample one. A third person starts as a broker at Knight; build the Support role only when someone needs it. The outside services (Cloudflare, Supabase, Resend, Google, Apple, GitHub) sit under shared company logins with both of you as members.

Decision

Site admin stays James and Shaun only, with two-step sign-in required?

Owner
Both
By
Tue Nov 4

5 · AI reads policies and certificates

Upload a PDF, get the fields filled in, a person checks and saves.

Anthropic's smallest current model, Claude Haiku 5.5, reads PDFs including scanned pages. It is cheap enough that cost stops mattering at our size: a certificate costs about a tenth of a cent to read. The care goes into the checking, not the price.

Step 1Upload

A policy declarations page or a certificate (ACORD 25), PDF or photo.

Step 2Our server asks Claude

The AI key lives only on our server, never in the browser.

Step 3Fields come back

Carrier, policy number, dates, limits, insured, holder, additional insured, waiver.

Step 4Person checks, then saves

Unsure fields are yellow and show the page they came from. Nothing saves by itself.

10 documents a month$0.06

A pilot with a few clients.

100 documents a month$0.60

Knight's book of business.

1,000 documents a month$6

Several agencies. Half that for bulk uploads.

Keeping it cheap

  • Send the declarations pages, not the whole policy. A full 80-page policy costs about 8 cents; its first pages cost a third of a cent.
  • Bulk uploads run overnight at half price (Anthropic's batch option). Good for "upload all my policies at once".
  • Reuse the fixed instructions. The same field list goes with every document, and Anthropic charges a fraction for repeated parts.
  • Set a monthly spending cap on the Anthropic account (start at $20) so a mistake can't run up a bill.

Privacy and accuracy guardrails

  • Anthropic doesn't train on business API data by default. Only the uploaded document goes out, with no other client data.
  • A fixed list of fields comes back, so the AI can't invent new ones. Dates and dollar limits are checked by plain rules (expiration after effective, limits are numbers).
  • The insured name is compared with the company it's being filed under, and a mismatch is flagged.
  • We keep what AI suggested next to what the person saved, to measure accuracy. James and Shaun check the first 50 real documents before clients get it.
  • Issued certificates: AI can pre-fill one from the policy data, but the broker always reviews and issues it. The producer stays responsible.
  • Privacy policy gets one added line about AI reading, in Shaun's wording.

Recommendation

Build AI reading with Haiku 5.5 first and Sonnet 5.5 for hard documents, running on our own server, with a person approving every save. Make it a Pro feature, with 5 free reads a month on the free plan so people see what it does. About 3 days to build. Running cost stays under $10 a month until well past 1,000 documents.

Decision

Build AI reading this month, as a Pro feature with a small free taste?

Owner
Both
By
Tue Nov 11

6 · Roadmap and running costs

Look professional this week, switch on email this month, then charge for Pro.

Each phase finishes before the next starts. Monthly costs are what we pay for services, before any revenue.

Phase 1 This week
  • Shaun's login, and the real Knight Insurance Services agency in Admin
  • app.instkr.com live, old address forwards
  • Branded Google sign-in screen
  • Resend set up, test emails to James and Shaun only
  • Two-step sign-in on both admin logins

Running cost $25 / month

Phase 2 November
  • Email on for everyone: invites, certificate requests, renewal reminders
  • Per-client inbox addresses and the review tray
  • Test copy (staging)
  • AI reading pilot on 50 real documents

Running cost about $35 / month

Phase 3 December and January
  • Sign-in on auth.instkr.com
  • Free vs Pro, with billing
  • Upload many policies at once (overnight AI)
  • Phone apps in the Apple and Google stores
  • Support role, if a third person joins

Running cost about $80 / month

What could go wrong

RiskWhat we do about it
App email lands in spamSending subdomain, all three proof records, DMARC in watch mode first, test to our own inboxes before anyone else.
Email goes to a real client by surpriseEmail turns on for a short list of test addresses first. Invites already ask before sending.
AI misreads a limit or a dateNothing saves without a person. Plain-rule checks on dates and money. Source page shown for every field.
One person holds every loginShared company logins with both of you as members, two-step sign-in, and a written list of what lives where.
Costs creepSpending caps on Anthropic and Resend, and a monthly check of the bills against this plan.

7 · All decisions in one place

Go down the list together and mark each one yes, no or change.

Every field can be changed: status, owner, date, note, and the wording itself. Add a decision at the bottom. Edits save for everyone who has this page.

Show
#DecisionRecommendationOwnerByStatusNote
E1Send app email from instkr.comYes, through Resend on mail.instkr.com. Free to start.ShaunNov 4Open
E2Give James DNS access to instkr.comA Cloudflare member login limited to DNS.ShaunNov 4Open
E3Where client replies goTo the broker's own email, not a no-reply address.BothNov 4Open
E4When email turns on for everyoneAfter test sends land in both inboxes, test list first.JamesNov 14Open
E5Per-client inbox addressesYes, Cloudflare catch-all on in.instkr.com, $0, review tray before anything files.BothNov 11Open
E6Email budget per account$0 up to about 100 accounts, then Resend Pro at $20 a month (about 10 cents per account at 200).JamesNov 4Open
H1App addressapp.instkr.com, landing page on instkr.com.ShaunNov 4Open
H2Brand the Google sign-in screenYes, free. App name, logo, privacy and terms links.JamesNov 7Open
H3Test copy (staging)Yes, about $10 a month.JamesNov 21Open
H4Sign-in on auth.instkr.comYes, $10 a month, before the first outside client.BothDec 15Open
P1Who is site adminJames and Shaun only.BothNov 4Open
P2Two-step sign-in for adminsRequired on both Google accounts.BothNov 4Open
P3Shaun's agency setupShaun owns Knight Insurance Services and leaves the Sample agency.ShaunNov 4Open
P4Who owns the outside service accountsShared company logins, both as members. Shaun holds the domain, James the technical side.BothNov 11Open
P5Support role for a third personBuild only when that person exists. Start them as a Knight broker.JamesWhen neededOpen
A1Build AI readingYes. Haiku 5.5, Sonnet 5.5 for hard ones, a person approves every save.BothNov 11Open
A2AI reading on Free or ProPro, with 5 free reads a month on Free.BothNov 11Open
A3Anthropic account and spending capCompany account, $20 monthly cap to start.JamesNov 11Open

Assumptions

Calls made while writing this plan

James asked for this overnight without questions, so these were decided with sensible defaults. Any of them can change.

  1. instkr.com stays Shaun's domain on his Cloudflare account. The app uses subdomains (app, mail, in, auth), so any mailbox on the main domain keeps working.
  2. Resend is the sender because the app's email code was built around it. Prices are list prices checked in October 2026.
  3. Claude prices are Anthropic's list prices from October 2026. Document costs assume about 2,500 tokens (word pieces) per PDF page and 60% certificates, 40% declarations pages.
  4. Supabase stays on its $25 plan. A test copy and the custom sign-in address are each about $10 a month more.
  5. Dates assume work starts Wednesday October 29, 2026. Phase 3 costs include the Apple developer fee ($99 a year) and Resend's $20 plan once volume needs it.
  6. "Pro" and its price are not set here. The AI recommendation only says AI reading belongs in Pro.
  7. Two-step sign-in means Google's own 2-Step Verification on the Google accounts used to sign in. No app change needed.
  8. Build times are rough and assume Claude does the building with James reviewing.