94 paid orders totaling $4,550.60. Excludes voided orders. Click the Shopify Orders tab for full details.
| Month | Orders | Revenue | Avg Order |
|---|---|---|---|
| April 2026 | 1 | $52.00 | $52.00 |
| May 2026 | 41 | $1,770.00 | $43.17 |
| June 2026 | 52 | $2,728.60 | $52.47 |
| Category | Amount |
|---|---|
| Revenue | $4,550.60 |
| COGS (Coffee Purchases) | -$2,142.47 |
| Gross Profit | $2,408.13 |
| Equipment | -$2,327.88 |
| Marketing | -$302.13 |
| Advertising | -$561.60 |
| Freight | -$1,418.01 |
| Subscriptions | -$46.78 |
| Delivery | -$80.00 |
| Bank Fees | -$503.18 |
| Net P&L | -$2,831.45 |
Total personal card ("Andrew (card)") spending: $5,331.45. This represents advances for COGS, equipment, marketing, freight, and subscriptions paid on Andrew's personal card.
| Category | Andrew (card) Total |
|---|---|
| COGS | $1,817.14 |
| Equipment | $2,327.88 |
| Marketing | $107.14 |
| Advertising | $561.60 |
| Freight | $1,418.01 |
| Subscriptions | $28.28 |
| Delivery | $80.00 |
| Total Owed | $5,331.45 |
Note: Excludes "Company card" ($194.99 VistaPrint) and "Business bank" ($503.18 bank fees) and "Germiko (card)" ($325.33 Prodigal).
Real conversations where someone is waiting on you — 8 in total once cold outreach and courtesy sign-offs are stripped out. The four below are the ones that actually move something this week. Pacific Life Re is the one with a date in the diary.
18 threads where your message was the last word and 3+ days have passed. The six below are the outreach, wholesale and equipment leads worth chasing; the rest are shipping and admin threads that will close themselves.
94 paid orders (excluding 3 voided + 1 partial refund adjustment). Total: $4,550.60.
8 supplier orders from 6 roasters. Total: $2,142.47. See Supplier Orders tab for full breakdown.
Revenue ($4,550.60) minus COGS ($2,142.47) = $2,408.13 gross margin (52.9%).
Equipment $2,327.88 + Marketing $302.13 + Ads $561.60 + Freight $1,418.01 + Subs $46.78 + Delivery $80.00 + Bank $503.18 = $5,239.58
Gross $2,408.13 - OpEx $5,239.58 = Net -$2,831.45. Typical for a pre-launch startup investing in equipment and initial inventory.
All expenses paid via "Andrew (card)" total $5,331.45. Excludes company card and business bank transactions.
| Category | Total | Items |
|---|
| Date | Category | Vendor | Description | Paid By | Amount |
|---|
| Order # | Date | Customer | Total | Payment | Fulfillment | Items |
|---|
| Customer | Orders | Total Spent | Avg Order |
|---|
Click any row to expand details. Teal = placed, Coral = planned.
| Customer | Description | Urgency | Owner | Status | Actions |
|---|
| Action Item | Linked Order | Amount | Status |
|---|
| Priority | Impact | Recommendation |
|---|---|---|
| ✓ | DONE | Add meta descriptions to all product pages |
| ✓ | DONE | Create a blog with regular coffee content — 8 posts live (Coffee 101 + News) |
| ✓ | DONE | Optimize title tags across all pages |
| ✓ | DONE | Add structured data (JSON-LD) for products |
| ✓ | DONE | Fix rotating-inventory 404s (9 URL redirects → /collections/coffee) |
| ✓ | DONE | Add an FAQ page targeting common searches |
| ✓ | DONE | Fill missing SEO title & meta description on 6 new Black & White coffees — auto-fixed |
| ✓ | DONE | Set up Google Business Profile — deferred, owner's decision to leave profile as-is |
| ✓ | DONE | Audit all active-product SEO titles, descriptions & image alt text — 37/37 active products 100% complete, 0 fixes needed — Aug 10 review |
| ✓ | DONE | Build backlinks from Bermuda directories — bermudayp.com & gotobermuda.com both live — confirmed complete Aug 10 |
| ✓ | DONE | Fill missing SEO title & meta description on 16 newly-activated products — 5 SEY coffees, 10 Hario pre-order items, Fellow Atmos, subscription — auto-fixed 17 Aug; all active products now complete on title, description and image alt text |
| ✓ | DONE | Write SEO titles & meta descriptions for collection pages — 10 of 10 customer-facing collections done 17 Aug (/coffee, /equipment, /espresso, /filter, /grinders, /brewers, /accessories, /pre-order, /subscriptions, /current-selection); verified rendering live |
| ✓ | DONE | Add URL redirects for live hard-404s — 6 added 17 Aug — kenya-kii-by-botz-coffee, edinson-argote-cherry-limeade, the retired post /blogs/coffee/how-to-brew-specialty-coffee, plus siti, basha-bekele-badigalo and marigi-malaki-estate which archived same-day; all verified 301 |
| ✓ | DONE | Fill missing SEO title & meta description on 6 newly-published Brandywine coffees — Galactic Standard, Orbital Motion, Santa Barbara Estate, Blackberry Band, Beneficio San Vicente, Coffee Friends — published to Online Store 17 Aug with no metadata, auto-fixed 24 Aug |
| ✓ | DONE | Write SEO title & meta description for published pages that had none — 6 pages — /contact, /coming-soon, /shop, /pay-with-crypto, /request-a-coffee, /equipment-partners — auto-fixed 24 Aug via global.title_tag & global.description_tag |
| ✓ | DONE | Write SEO title & meta description for blog articles that had none — 11 of 16 published posts were relying on Shopify’s title/excerpt fallback — auto-fixed 24 Aug |
| ✓ | DONE | Correct stale roaster count in /pages/subscriptions meta description — said “sixteen rotating roasters”, now twenty — fixed 24 Aug |
| ✓ | DONE | Fill missing SEO title & meta description on 19 newly-activated products — 3 Onyx (Las Lajas, Savage Gesha, Gotiti G1), 4 Black & White (Hambela EA Decaf, Mustefa Abakeno, Familia Bermudez, The Original), 2 Hario scales and all 9 Hermanos pre-order coffees went Active on 21–24 Aug with no metadata; written from each product’s own origin and tasting notes and auto-fixed 31 Aug |
| ✓ | DONE | Write SEO title & meta description for the two new Pre-Order collections — /collections/pre-order-coffee and /collections/pre-order-equipment were created and put in the sitemap with no metadata — auto-fixed 31 Aug |
| ✓ | DONE | Confirm image alt text across the catalogue — all 67 active products, every image — 0 missing on the 31 Aug sweep |
| ✓ | DONE | Add URL redirects for 4 ARCHIVED coffees now serving hard 404s — re-verified 6 Sep: all 4 (bayron-arcila-double-ferment-by-portrait-coffee, esayas-beriso-buku-sayisa-by-sey-coffee, felix-morocho-2nd-harvest-by-sey-coffee, the-new-school-strawberry) already had working 301 redirects to /collections/coffee. This item was stale on the dashboard, not an actual site problem — last week’s note was wrong |
| ✓ | DONE | Fill missing SEO title & meta description on 25 products with metadata gaps — 4 La Cabra + 13 DAK Coffee Roasters coffees went Active 6 Sep with title and description both empty, plus 8 Onyx/Black & White coffees found with description-only gaps (title was already set); written from each product’s own origin and tasting notes and auto-fixed 6 Sep |
| ✓ | DONE | Add a redirect for /pages/subscriptions-preview — caught in GSC’s ‘Not found (404)’ report, crawled as recently as 9/4 with no live page and no redirect; now points to /pages/subscriptions |
| ✓ | DONE | Fill missing SEO title on 8 active coffees that had a meta description but no title — Onyx Geometry Blend, Eclipse Dark Roast, Ethiopia Gotiti G1, The Classic, The Traditional, Hambela EA Decaf, Mustefa Abakeno and Familia Bermudez. The 6 Sep run logged these as “description-only gaps, title already set” — it was the other way round. Titles written from each coffee’s own roaster, origin and character and auto-fixed 7 Sep; all 74 active products now complete on SEO title, description and image alt text |
| ✓ | DONE | Decide redirect policy for retired-to-draft coffees that 404 — closed 7 Sep — no decision needed. Every one of the 63 draft/archived product handles was curl’d live this run: 60 return 301 to /collections/coffee (including founders-by-portrait-coffee and colombia-juan-jimenez-pink-bourbon-by-onyx-coffee-lab, the two named on 31 Aug) and only the 3 Third Wave Water pre-order handles still 404, which is by design so the pages aren’t hijacked when they go live |
| ✓ | DONE | Set SEO title & meta description at product-creation time — fixed at source 7 Sep. New shared module Scripts/seo_helper.py; all 13 product-creating scripts that previously skipped SEO now call it (the other 2 already set both fields). Its set_seo() refuses to write unless BOTH title and description are non-empty, which also closes the half-write bug that produced description-only products. Verified live round-trip against the store and python seo_helper.py --check reports 0 gaps. The next real batch is the proof |
| ✓ | DONE | Fill missing SEO title & meta description on Blueberry Beats by DAK — the one active product with metadata gaps on the 20 Sep sweep; created 7 Sep, went Active with both fields empty. Written from its own origin and tasting notes (Sidamo anaerobic natural; blueberry, strawberry jam, vanilla) and auto-fixed 20 Sep. All 61 active products now complete on SEO title, description and image alt text — 0 missing alt text across the catalogue |
| ✓ | DONE | Re-verify the whole metadata surface after the 20 Sep fixes — 21 Sep sweep found 0 gaps anywhere: all 61 active products complete on SEO title, description and image alt text (0 missing alt across every image), all 11 published pages and all 16 published articles carry both global.title_tag and global.description_tag. The seo_helper.py fix at product-creation time is holding — nothing to auto-fix this week |
| 1 | 1 - MED | Improve page load speed — largest remaining on-site lever |
| 2 | 2 - LOW | Add a URL redirect for /collections/special-order — curl’d live on 21 Sep and it is a genuine hard 404. Google last crawled it 18 Sep, so it is still being requested. It is a deleted collection, not a product, which is why weekly-redirect-check has never caught it — that task only scans draft/archived product handles. Nothing on the site links to it and it is not in the sitemap, so impact is small, but it should point at /collections/coffee. Either add it by hand or widen the redirect task to sweep collection handles too |
| 3 | 3 - LOW | Repoint 10 in-copy product links in three published blog posts — every internal link on the site was crawled on 21 Sep and none 404, but 10 product links inside live posts now 301 to /collections/coffee because the coffee sold through. A reader who clicks “Onyx Geometry Blend” lands on a collection instead. No SEO penalty — it is a relevance and trust issue in the copy. Affected: “Onyx Coffee Lab Review” (5 links), “What Is Co-Ferment Coffee?” (3), “Single Origin vs Blend” (2). Needs your hand: either swap in a coffee that is currently in stock or reword the sentence |
| 4 | 4 - LOW | Keep the “Add a Tip” helper product out of search — the $1 cart-tip product is Active and published to the Online Store, so /products/add-a-tip is a thin indexable page. Title and description filled in 31 Aug as a stopgap, but the real fix is a theme-level noindex or removal from the Online Store channel — left for Andrew |
| 5 | 5 - LOW | Tidy the “coffee-and-tea-example-products” collection — an internal staging collection titled “Coming Soon” holding 6 draft/archived coffees, but it is published, sitting in sitemap_collections_1.xml and renders as an empty page on a junk handle. Its <title> also collides with the live /pages/coming-soon. Either unpublish it or give it a real handle |
| 6 | 6 - LOW | Add SEO metadata to /collections/frontpage or drop it from the sitemap — Shopify’s default “Home page” collection is in the sitemap with 54 products, no SEO title or description, and a <title> of just “Home page – Harbour Roast”. Duplicates /collections/coffee. Left unedited on purpose — this review only auto-fixes product metadata, and the right call here may be removal rather than a description |
| 7 | 7 - LOW | Add alt text to theme hero / banner images — all product & subscription images done; only theme-level banners remain |
| 8 | 8 - LOW | Create location-specific landing pages |
| 9 | 9 - LOW | Re-run GSC ‘Not found (404)’ validation — now 48 URLs (was 45), still marked Failed; GSC data is as of 17 Sep. Confirmed stale again on 21 Sep: all 31 URLs in the report were curl’d live and 26 already return 301 to /collections/coffee. Of the 5 that really 404, one is actionable (/collections/special-order, item 2) and four are noise — two asset URLs from retired theme t/16 (the live theme is t/28 and its assets all return 200) plus Shopify’s own /wpm and /v1/produce telemetry endpoints. “Page with redirect” also grew 52 → 56, which is the redirect programme working. No new category of issue appeared this week |
| 10 | 10 - LOW | Publish the Wholesale / B2B pages — /pages/wholesale and /pages/wholesale-portal are both still DRAFT, unchanged since July; targets two Secondary keywords (wholesale coffee Bermuda, hotel coffee supplier Bermuda) with no live page yet |
| 11 | 11 - LOW | Review /collections/current-selection vs /collections/coffee overlap — both auto-populate from product type Coffee, competing for the same queries; consider canonical or noindex on one |
| 12 | 12 - LOW | Stagger the weekly-redirect-check and weekly-seo-review schedules — still worth doing, but no collision this week: the redirect task finished 20 Sep at 16:28 UTC and this review ran 21 Sep, about 16 hours clear, so every handle was read against a settled redirect table. Keeping the item open because the 31 Aug and 20 Sep overlaps both happened on catch-up runs, and a real scheduled gap would remove the failure mode instead of relying on the re-verify pass to catch it |
| Keyword | Type | Priority |
|---|---|---|
| specialty coffee Bermuda | Primary | Core |
| coffee Bermuda | Primary | Core |
| buy coffee online Bermuda | Primary | Core |
| coffee delivery Bermuda | Secondary | Growth |
| wholesale coffee Bermuda | Secondary | B2B |
| hotel coffee supplier Bermuda | Secondary | B2B |
| best coffee in Bermuda | Secondary | Growth |
| Sey Coffee Bermuda | Long-tail | Brand |
| Onyx Coffee Lab Bermuda | Long-tail | Brand |
| Intelligentsia Coffee Bermuda | Long-tail | Brand |
| single origin coffee Bermuda | Long-tail | Niche |
| espresso Bermuda | Long-tail | Niche |
| coffee subscription Bermuda | Future | Planned |
| Date | Name | Coffee | Qty | Bag | Phone | Followed up |
|---|
Triangulated estimate of the business — updates live from Shopify revenue. ~3.0 months selling.
SDE (seller's discretionary earnings) is the total yearly benefit one owner-operator gets from the business: net profit plus the owner's own pay/draw, plus one-off and personal costs run through the books, plus non-cash items like depreciation. It's the standard earnings base buyers use to value owner-run businesses under about $5M.
Harbour Roast's SDE is negative right now (cumulative loss), so an earnings multiple values it near $0 today. The number on this card is the forward case — what it's worth once SDE turns positive.
Download data as CSV files or print a full dashboard report.
Print all tabs as a full business report. Uses print-friendly styling.
| Metric | Value | Notes |
|---|---|---|
| Revenue | $4,550.60 | 94 paid orders (Apr-Jun 2026) |
| COGS | $2,142.47 | 8 supplier orders |
| Gross Margin | 52.9% | $2,408.13 |
| Operating Expenses | $5,239.58 | Equipment-heavy (startup phase) |
| Net P&L | -$2,831.45 | Pre-launch investment period |
| Owed to Andrew | $5,331.45 | Personal card advances |
| Active Roasters | 15 | 5 countries |
| Pipeline Roasters | 8 | Heart, Pilot, Botz +5 more |
| Unfulfilled Orders | 1 | #1089 Janice Hetzel |
| SEO Score | 90/100 | Manual estimate — down 1 from 91. Nothing to auto-fix: all 61 active products, 11 published pages and 16 published articles are complete on SEO title, description and image alt text. Zero live 404s anywhere in the internal link graph (87 site URLs + every in-copy link curl’d). The −1 is two new low items — a genuine 404 on the deleted /collections/special-order, and 10 blog links that now land on a collection instead of the coffee named. Not a Lighthouse score |
| Data as of | September 21, 2026 |
Invoice cafes & hotels, reconcile payments, and log supplier bills — all synced with the dashboard. Data saves automatically and syncs across your devices.