Sign in

Tasks

12 total

+ Add task

todo (10)

P1
Build checkout flow with Stripe (modeled after Essentras)
Cart → review → Stripe Checkout hosted page → return to /order/[id]/success. Webhooks for fulfillment tracking.
engineering
P1
Build /services pages (T1 white-hat home, T2 categories, T3 long-tail)
Per services-scope-v1.md, build the 6 T1 service pages + category landings. SEO-optimized using keyword research data.
content
P1
Re-attribute 8,164 keywords to services via fuzzy match
Current attribution maps non-exact-match keywords to the first seed of each batch. Build a pass that re-attributes based on word overlap with seed keywords. Result: cleaner service_id column.
engineering
P2
Deploy to droplet ltv-live /opt/apps/essentras-v2
Setup nginx vhost, systemd unit, env vars. Use existing GH Actions pattern from omni/melody-makers.
engineering
P2
Build /admin/publishers admin page (list, edit, bulk actions)
Currently /publishers is public-facing. Admin needs different view: edit prices, mark paused/blocked, see order count, refresh from Airtable.
engineering
P2
Migrate from SQLite to Postgres/Neon when going to staging
Currently SQLite for dev speed. Change provider in schema.prisma + run migration when DATABASE_URL points to Neon.
engineering
P2
Re-run KW research with richer seeds for low-volume services
Services with <500 sv likely have richer search demand we missed. Expand seeds for: regional-media, meta-ad-approval, meta-shared-ad. Also run UK/CA/AU geos.
research
P3
Add tier-1 logo cloud research (high-DA outlet logos)
Some tier-1 publishers in inventory have airtableusercontent.com logo URLs we downloaded, but some don't have logos. Fetch missing.
content
P3
Reseller portal (white-label resale tier)
Like the Essentras reseller portal. Login, wholesale pricing, order placement, dashboard.
engineering
P3
Investigate the 1 publisher that failed import
Out of 1,010, 1 row was skipped — likely missing slug or price. Find and fix.
engineering

blocked (2)