Technical Roadmap
More force. Same team.
Internal — March 2026
Timeline
Timeline
Foundation
Foundation
This phase runs two parallel workstreams: the website replatform (visible to the firms) and the platform infrastructure build (invisible to the firms). Both must complete before Phase 1 can deliver value.
Both firms have new websites live, clean analytics running, and the Torque platform infrastructure is deployed with multi-tenant support.
▶
Multi-Tenant Platform Setup
7 deliverables
P0 — Multi-Tenant Platform Setup
Convert OneRing from single-tenant to multi-tenant. This is prerequisite infrastructure — nothing else works until tenant isolation is in place.
Multi-Tenant Platform Setup
7 deliverablesP0 — Multi-Tenant Platform Setup
Convert OneRing from single-tenant to multi-tenant. This is prerequisite infrastructure — nothing else works until tenant isolation is in place.
Migration across 42+ tables. Every row belongs to a tenant.
Row-level security enforcing tenant isolation at the database level.
JWT includes firm_id. All API requests scoped to tenant automatically.
Feature flags, branding, connector credentials, module toggles (connector vs. owned mode).
BullMQ jobs scoped per tenant. No cross-firm data leakage in background workers.
Script/admin endpoint to create a new tenant: database seed, config, credentials.
Docker deployment: API, workers, PostgreSQL, Redis. Health checks, environment variables.
Firm Involvement
None. This is invisible infrastructure.
▶
Website Replatform: Rossen
14 deliverables
P0 — Website Replatform: Rossen
Rebuild rossenlawfirm.com on Astro. Client-centered design from the UX audit. Full schema markup from the schema audit.
Website Replatform: Rossen
14 deliverablesP0 — Website Replatform: Rossen
Rebuild rossenlawfirm.com on Astro. Client-centered design from the UX audit. Full schema markup from the schema audit.
Extract all pages, practice areas, attorney bios, blog posts from WordPress.
Page hierarchy, navigation structure (5-7 items max), URL mapping.
Shared codebase, Tailwind, component library, Content Collections, firm-specific config layer.
Empathetic headline, phone + "Free Consultation," review score (Google Places API), practice area grid, 3-field form. 3-4 mobile screens.
Empathetic headline, "Is this you?", "Here's what happens next", results, FAQ, CTA.
Real photos, plain-English bios, practice focus, results. Person schema per attorney.
Map, click-to-call, form, case outcomes, live Google reviews feed.
Migrate WordPress posts. Preserve clean URLs for SEO continuity.
LocalBusiness (per location), Attorney (per lawyer), AggregateRating, FAQPage, BreadcrumbList, WebSite + SearchAction. Automated from Content Collections.
React island: Call + Text buttons, visible on every page.
Single container, no duplicates. Conversion events for calls, forms, chat.
Every WordPress URL mapped to new URL. No broken links.
Test at 375px, 768px, 1920px. Lighthouse target 90+.
Go live. Post-launch monitoring for 48 hours.
Firm Involvement
Adam reviews content and approves pages. Provides attorney photos/bios if missing. Signs off on DNS cutover.
▶
Website Replatform: DDT
8 deliverables
P0 — Website Replatform: DDT
Same deliverables as Rossen, using the shared Astro codebase. DDT-specific content, branding, and configuration. ~60% of the effort since templates and components are shared.
Website Replatform: DDT
8 deliverablesP0 — Website Replatform: DDT
Same deliverables as Rossen, using the shared Astro codebase. DDT-specific content, branding, and configuration. ~60% of the effort since templates and components are shared.
Extract content from WordPress. Define DDT-specific page hierarchy.
Firm name, colors, logo, practice areas, attorney data, office locations.
Apply shared templates with DDT content. Homepage, practice areas, attorneys, contact, results, reviews, blog.
8 office locations as separate LocalBusiness entries. Attorney schemas. AggregateRating (3,000+ reviews).
DDT-specific tracking. Separate GA4 property, same GTM setup pattern.
DDT WordPress URLs mapped.
Same targets: 90+ mobile, 375/768/1920px.
Go live. Stagger 2-3 days after Rossen to avoid concurrent cutovers.
Firm Involvement
Derek reviews content and approves pages. Signs off on DNS cutover.
▶
Form to Salesforce
4 deliverables
P0 — Form to Salesforce
Website contact forms write leads directly to each firm's Salesforce pipeline. This is the first Salesforce touchpoint and validates the API connection before the full connector build in Phase 1.
Form to Salesforce
4 deliverablesP0 — Form to Salesforce
Website contact forms write leads directly to each firm's Salesforce pipeline. This is the first Salesforce touchpoint and validates the API connection before the full connector build in Phase 1.
Connected app in each firm's Salesforce. OAuth flow for API access.
Astro form, edge function, Salesforce Lead create. Maps form fields to SF fields.
Source, medium, campaign captured from URL and stored on the Salesforce lead.
Submit test leads, verify they appear in Salesforce with correct attribution.
Firm Involvement
Grant Salesforce API access. Verify test leads appear correctly.
Visibility
Visibility
This phase requires active participation from Derek and Adam. Dashboards will surface data inconsistencies, missing attribution, and metrics that don't match what Salesforce reports natively. Their feedback during this phase directly shapes what we prioritize in Phase 2.
Both firm owners can see live dashboards with their own Salesforce data, marketing performance, and call metrics. Weekly scorecards are being delivered automatically.
▶
Salesforce Connector
9 deliverables
P1 — Salesforce Connector
The #1 integration. Both founding firms run on Salesforce. This single connector unlocks most of Level 1 reporting.
Salesforce Connector
9 deliverablesP1 — Salesforce Connector
The #1 integration. Both founding firms run on Salesforce. This single connector unlocks most of Level 1 reporting.
OAuth token management, SOQL query builder, bulk data sync, error handling. Follows OneRing's IAO pattern.
Pull leads, pipeline stages, lead sources, conversion dates. Map to Torque analytics schema.
Pull cases, statuses, assigned attorneys, matter types, court dates, dispositions.
Pull client records, contact information, co-defendants, expert witnesses.
Pull payments, invoices, trust balances, fee agreements.
Pull team member data, caseloads, roles.
BullMQ cron job: incremental sync every 15 minutes. Full sync nightly. Handles rate limits.
Real-time updates from Salesforce outbound messages (new lead, case stage change, payment).
Compare Torque warehouse totals against Salesforce reports. Flag discrepancies.
Firm Involvement
Salesforce admin walkthrough. Grant API access. Identify custom objects/fields. Validate data accuracy after sync.
▶
Marketing Connectors
6 deliverables
P1 — Marketing Connectors
Connect to ad platforms and analytics to power Level 2 marketing services.
Marketing Connectors
6 deliverablesP1 — Marketing Connectors
Connect to ad platforms and analytics to power Level 2 marketing services.
Campaign data, ad spend, impressions, clicks, conversions, search terms.
Website traffic by source/medium, conversion events, landing page performance.
Google Business Profile insights, review data, post performance.
Call recordings, call source attribution, duration, caller ID, first-time vs. repeat.
Text message data, response times, conversation history.
Background jobs for each connector. Incremental sync schedules.
Firm Involvement
Grant API access to Google Ads, GA4, GBP, CallRail, Heymarket accounts. Confirm which accounts/properties to connect.
▶
Analytics Warehouse
4 deliverables
P1 — Analytics Warehouse
Normalized reporting tables optimized for aggregation, not CRUD. This is different from OneRing's operational schema — it's designed for dashboards and AI engines.
Analytics Warehouse
4 deliverablesP1 — Analytics Warehouse
Normalized reporting tables optimized for aggregation, not CRUD. This is different from OneRing's operational schema — it's designed for dashboards and AI engines.
Normalized tables: leads, cases, revenue, marketing, calls, messages, attorneys. All with firm_id.
Materialized views for common queries: cost-per-sign by channel, lead-to-sign conversion by period, revenue by practice area, caseload by attorney.
Transform data from connector raw tables into analytics schema. Handle deduplication, normalization, currency.
Track last sync time per connector per firm. Alert on stale data.
Firm Involvement
None directly. But they'll surface data quality issues when they see the dashboards.
▶
Reporting Dashboards
18 deliverables
P1 — Reporting Dashboards
The first thing firm owners interact with. These are the Level 1 services from the Torque menu.
Reporting Dashboards
18 deliverablesP1 — Reporting Dashboards
The first thing firm owners interact with. These are the Level 1 services from the Torque menu.
Auth, layout, sidebar, firm switcher (for Josue/admin), theme. Adapt from OneRing frontend shell.
Leads, consultations, signs, revenue, collections. Red/yellow/green coding. Period-over-period comparison.
Revenue by practice area, AR aging, collections rate, average fee, monthly/quarterly trends.
Spend vs. signs by channel. Cost per lead, cost per sign, ROI by source.
Lead volume, speed-to-contact, consultation set rate, show rate, close rate, average fee at sign.
Caseload per attorney, cases opened/closed, revenue generated, average case cycle time.
Fully loaded cost per seat, net margin per practice area, where the money actually goes.
NPS/CSAT scoring tied to review generation. Client experience tracking that feeds both ops and marketing.
Threshold-based flags: collections drop, lead flow drops, caseload exceeds capacity. Email + dashboard notification.
Caseload per team member, capacity projection at current growth rate, bottleneck identification. Re-runs weekly.
Trust account balances, payment plan compliance, AR aging. Weekly collections priority list ranked by recovery probability.
True profitability by practice area after attorney time, staff time, marketing cost-per-sign, case cycle, and overhead allocation. Models impact of shifting spend.
Tracks clients across full relationship. Repeat engagement, cross-sell opportunity, referral generation. Lifetime value by acquisition source.
Search trends, court filing volumes, seasonal patterns to demand forecast by practice area and geography. Quarterly refresh with actual vs. predicted.
BullMQ cron: generate R1 scorecard every Monday, email to firm owner as formatted report.
Per-rep call scores over time, improvement trends, auto-generated coaching notes from Claude, coaching assignment tracking.
Dashboard view: rep sees the right talk track based on practice area, lead source, caller scenario. Pulls from I15 objection patterns to keep scripts current.
Dynamic quoting tool built on OneRing's lead_quotes + fee_schedule_rules tables. Suggests retainer range based on practice area, complexity, jurisdiction.
Firm Involvement
Derek and Adam review dashboards against their own Salesforce reports and flag discrepancies. They define KPI thresholds for alerts and request additional breakdowns. Plan for 2-3 rounds of iteration per dashboard.
Intelligence
Intelligence
This phase activates the AI layer. The firm owners go from "I can see my data" to "Torque is telling me things I didn't know." This is also the phase where Torque has enough to demo to prospective Founder Phase clients.
AI engines are running autonomously — call scoring on real calls, competitor briefs landing weekly, marketing optimization recommendations being acted on. The firms are using Torque outputs to make decisions.
▶
Call Scoring
7 deliverables
P2 — Call Scoring
OneRing has a working call scoring engine (Claude API, 8 dimensions, RingCentral/Dialpad integration). It needs testing, debugging, and adaptation for multi-tenant + connector-mode call data (CallRail for Rossen, RingCentral for DDT).
Call Scoring
7 deliverablesP2 — Call Scoring
OneRing has a working call scoring engine (Claude API, 8 dimensions, RingCentral/Dialpad integration). It needs testing, debugging, and adaptation for multi-tenant + connector-mode call data (CallRail for Rossen, RingCentral for DDT).
Review OneRing's AIScorIAO, intake_scores schema, scorer dashboard. Identify gaps.
Ensure scoring pipeline is firm_id aware. Firm-specific rubrics stored in firm_config.
CallRail webhook, download recording, Deepgram transcription, Claude scoring.
Verify existing RingCentral pipeline works with multi-tenant setup.
Port OneRing's scorer page to Torque dashboard. Per-firm filtering.
Score 20+ real calls from each firm. Validate dimensions, coaching notes, conversion predictions.
Trigger notification when a call scores below threshold (configurable per firm).
Firm Involvement
Derek and Adam review scoring rubrics and confirm they match how their firms evaluate intake calls. They decide whether scores are shared with the intake team or kept internal. Both firms need to confirm call recordings are being captured and stored.
▶
Marketing AI Engines
17 deliverables
P2 — Marketing AI Engines
Autonomous AI systems that run on a schedule, analyze data, and produce actionable outputs.
Marketing AI Engines
17 deliverablesP2 — Marketing AI Engines
Autonomous AI systems that run on a schedule, analyze data, and produce actionable outputs.
Base class for all AI engines: scheduled trigger, data pull, Claude prompt, structured response parsing, result storage, delivery.
Weekly scan of top 5-10 competitors across Google Ads, LSA, GBP, organic rankings, review velocity. Produces brief with recommended responses.
Weekly audit of AI visibility across top 20 keywords. Produces GEO plan, executes content structured for LLM citation.
Weekly crawl of Google Ads search term report. Identifies wasted spend, generates negative keyword lists, quantifies dollars saved.
Monitors review volume, star rating trends, sentiment analysis on review text. Benchmarks against competitors.
Crawl firm site + competitors. Maps topic coverage gaps, prioritizes content production queue by search volume and intent.
Monthly Lighthouse + GA4 conversion analysis. Produces prioritized punch list against benchmarks.
Analyzes historical Meta Ads performance, builds creative scoring matrix, generates ad variants, deploys tests, kills losers, scales winners.
Weekly audit of LSA positioning. Tracks rank shifts, budget pacing, cost-per-lead trends. Auto-files disputes on unqualified leads.
Monitors open/click/response rates across sequences. Identifies stale sequences. Auto-A/B tests new variants, retires underperformers.
Monitors every referral source: sign rate, average fee, case type mix, lifetime value. Ranks by true ROI. Identifies which relationships to invest in.
Each engine's output delivered via: dashboard section, email summary, and PDF report (for firm owners who want to forward to staff).
BullMQ worker: Salesforce case status change (disposition entered), wait X days, send review request via SMS (Twilio/Heymarket) + email (SendGrid). Templated per practice area. Tracks request-to-review conversion rate.
Claude generates drafts from the M18 Content Gap Mapper queue. Content workflow: AI draft, human review queue, approved, publish to Astro site via CMS API or Git commit.
M17 engine detects new review, Claude drafts response, queued for human approval, posts to Google via GBP API. Negative reviews escalated with alert.
Claude + template system generates ad creative variants (headlines, descriptions, copy). Fed by winning patterns from M20 (Google Ads) and M14 (Meta Ads) performance data. Human selects winners.
Automated Lighthouse monitoring, form completion rate tracking, heatmap integration (Hotjar/Clarity). Surfaces CRO recommendations alongside M19 conversion auditor data.
Firm Involvement
Derek and Adam review weekly engine outputs and decide which recommendations to act on. Establish a weekly 30-minute review cadence: Josue walks through outputs, Derek/Adam assign actions or dismiss.
▶
Channel Automation
6 deliverables
P2 — Channel Automation
Automated channel management tools that extend the Marketing AI Engines with direct platform integrations for publishing, optimization, and monitoring.
Channel Automation
6 deliverablesP2 — Channel Automation
Automated channel management tools that extend the Marketing AI Engines with direct platform integrations for publishing, optimization, and monitoring.
Claude generates weekly GBP posts (case results, tips, FAQs) from content pipeline. Queued via GBP API. Firm approves with one click in dashboard. Q&A monitoring: new question alerts + Claude drafts answer.
Extends M15 engine: unqualified lead detected, auto-file dispute via LSA API without human intervention. Budget pacing alerts when spend ahead/behind target.
Extends M20 engine: auto-pause underperforming keywords, auto-add negative keywords, auto-adjust bids based on cost-per-sign targets via Google Ads API. Human reviews weekly brief, overrides if needed. System acts by default.
Automated crawl: broken links, missing meta descriptions, crawl errors, Core Web Vitals regressions. Alert on issues. Auto-generate citation submissions to top directories.
AI-generated post variants from content pipeline. Scheduling/publishing via platform APIs (Meta, LinkedIn) or Buffer integration. Performance tracking fed back to content scoring.
Referral source CRM: track who sends referrals, sign rate, case value. Automated nurture sequences (email/SMS) to top referral sources. Powered by M22 ROI data.
Firm Involvement
Firms approve AI-generated content with one click in the dashboard. System acts by default on optimization tasks; firms review weekly briefs and override if needed.
▶
Intake Analytics
6 deliverables
P2 — Intake Analytics
Deeper intake reporting powered by the call scoring + Salesforce data now flowing.
Intake Analytics
6 deliverablesP2 — Intake Analytics
Deeper intake reporting powered by the call scoring + Salesforce data now flowing.
Measure first-response time from lead creation to first contact. Alert when leads wait too long.
Claude analyzes scored call transcripts to identify most common objections by practice area. Monthly report with talk tracks.
Track what happens to every lead outside business hours. Quantify revenue lost between 6pm and 8am.
Weekly analysis: how conversion rate degrades over time from first contact. Maps speed-to-contact to close rate.
Weekly pipeline scrubs, dead-lead reactivation campaigns, systematic follow-up for cold leads. Automated flagging of stale pipeline.
Connect CRM, call tracking, and ad platforms for true source-to-sign attribution. Weekly cost-per-sign by channel with reallocation recommendations.
Firm Involvement
These reports identify operational gaps — missed calls, slow follow-ups, pipeline leaks. Derek and Adam decide which findings to share with their intake teams and how to address them.
Automation
Automation
Torque moves from reporting to executing. Automated sequences contact real leads. Derek and Adam approve templates, timing rules, and escalation paths before anything goes live. Rollout is incremental — one sequence on one firm first, validate results, then expand.
Torque is actively running parts of the firm's intake workflow — follow-up sequences fire automatically, AI chat qualifies leads on the website, routing recommendations are being implemented.
▶
Follow-Up Automation
7 deliverables
P3 — Follow-Up Automation
Multi-touch sequences for leads that don't sign on first contact.
Follow-Up Automation
7 deliverablesP3 — Follow-Up Automation
Multi-touch sequences for leads that don't sign on first contact.
Define multi-step sequences: text (Heymarket/Twilio), email (SendGrid), task (assign follow-up call). Configurable delays and conditions.
Sequences fire based on events: new lead created, consultation no-show, lead stale for X days.
Build 3-4 standard sequences: post-consultation follow-up, missed call recovery, stale lead reactivation, after-hours capture.
Automated text-back within 60 seconds of after-hours lead. Captures intent, schedules callback.
Respect unsubscribe requests. Compliance with TCPA for SMS.
Track: sequences sent, response rates, leads recovered, revenue attributed to automation.
Drip sequences for unconverted leads, past client reactivation, referral source stay-in-touch. Extends the P3 sequence builder with marketing-specific templates and triggers.
Firm Involvement
Derek and Adam approve every sequence template, message, and timing rule before activation. Each firm may want different messaging and cadence. Start with one sequence on one firm, measure results over 2 weeks, then expand. TCPA compliance requires opt-out handling on all SMS.
▶
AI Chat Widget
5 deliverables
P3 — AI Chat Widget
Torque-branded AI chat on every page of the firm's website. The first owned module that lives on the client-facing site.
AI Chat Widget
5 deliverablesP3 — AI Chat Widget
Torque-branded AI chat on every page of the firm's website. The first owned module that lives on the client-facing site.
Embedded on Astro sites. Opens as bottom-right overlay. Firm-branded.
Claude-powered: understands practice areas, qualifies leads, answers basic questions, collects contact info. Firm-specific knowledge base.
Qualified lead creates in Salesforce + Slack notification to intake team (business hours) or auto-text-back + schedule callback (after hours).
Every chat interaction stored in Torque warehouse. Scored for lead quality.
Chat metrics: conversations started, leads captured, conversion rate, top questions asked.
Firm Involvement
Review the AI's knowledge base (practice areas, FAQs, office hours, consultation process). Test the chat with real scenarios. Decide who gets the Slack notifications when a qualified lead comes in.
▶
Intake Optimization Engines
4 deliverables
P3 — Intake Optimization Engines
AI engines that analyze intake performance and recommend operational changes.
Intake Optimization Engines
4 deliverablesP3 — Intake Optimization Engines
AI engines that analyze intake performance and recommend operational changes.
Analyze which rep converts best by practice area, time of day, lead source. Recommend routing changes. Re-analyze after changes to confirm lift.
Historical fee data analysis by practice area, case type, jurisdiction. Identifies underpricing/overpricing. Monthly recommendations.
Risk model from historical no-show data. Scores upcoming consultations. Triggers intervention for high-risk appointments.
Weekly audit of AI chat interactions. Scored for accuracy, tone, qualification quality, conversion. Tuning recommendations.
Firm Involvement
These engines recommend changes to how the firm operates — who answers which calls, how fees are quoted, how no-shows are handled. The firm owner has to decide whether to act on the recommendations. Torque advises — the firm decides.