Diff -- /var/www/vhosts/3dshawn.com/repricer.3dshawn.com/vs_competitors.cgi
Diff

/var/www/vhosts/3dshawn.com/repricer.3dshawn.com/vs_competitors.cgi

added on local at 2026-07-01 21:47:30

Added
+104
lines
Removed
-0
lines
Context
0
unchanged
Blobs
from
to 5244c8574fae
Restore this content →
Unified diff
Naive LCS-based line diff. Additions in emerald, deletions in rose. Both sides decompressed live from BLOB_STORE.
1#!/usr/bin/perl
2#======================================================================
3# RePricer -- comparison landing page (RePricer vs the average repricer).
4# Public, no auth required. Top-funnel SEO.
5#
6# /vs_competitors.cgi
7#
8# Generic 2-column comparison -- no named competitors. Numbers reflect
9# the typical pricing + feature gating of the category, not any single
10# product.
11#======================================================================
12use strict;
13use warnings;
14
15use lib '/var/www/vhosts/3dshawn.com/repricer.3dshawn.com';
16use CGI;
17use MODS::Login;
18use MODS::RePricer::Wrapper;
19
20$|=1;
21my $auth = MODS::Login->new;
22my $wrap = MODS::RePricer::Wrapper->new;
23my $userinfo = $auth->login_verify(); # may be undef
24
25sub _h { my $s = shift // ''; $s =~ s/&/&amp;/g; $s =~ s/</&lt;/g; $s =~ s/>/&gt;/g; $s =~ s/"/&quot;/g; $s }
26
27# Feature matrix. Left = RePricer; Right = "typical repricer in the market".
28my @ROWS = (
29 { label => 'Starting price (paid)', us => '$9 / mo', them => '$55+ / mo' },
30 { label => 'Amazon support', us => 'yes', them => 'yes' },
31 { label => 'eBay support', us => 'yes', them => 'often only Amazon' },
32 { label => 'Walmart support', us => 'yes', them => 'higher tiers only' },
33 { label => 'All 6 rule strategies', us => 'yes', them => 'partial / AI-only' },
34 { label => 'Hard floor / ceiling', us => 'yes', them => 'yes' },
35 { label => 'MAP enforcement', us => 'yes', them => 'varies' },
36 { label => 'Buy Box history charts', us => 'yes', them => 'limited' },
37 { label => 'CSV import / export', us => 'yes', them => 'often paid add-on' },
38 { label => 'Reprice cadence', us => '1 minute (Studio)', them => 'usually 5-15 min' },
39 { label => 'Per-product overrides', us => 'yes', them => 'AI-only / partial' },
40 { label => '2FA', us => 'yes', them => 'sometimes' },
41 { label => 'Open REST API', us => 'Studio tier', them => 'rarely' },
42 { label => 'Honest published price', us => 'yes', them => '"starts at" + sales call' },
43);
44
45sub _cell {
46 my $v = shift;
47 return '<span style="color:#10b981;font-weight:700">&check;</span>' if lc $v eq 'yes';
48 return '<span style="color:#fca5a5;font-weight:700">&times;</span>' if lc $v eq 'no';
49 return '<span style="color:#14b8a6">' . _h($v) . '</span>';
50}
51
52my $body = '<div style="max-width:1000px;margin:0 auto;padding:24px 28px">';
53$body .= ' <div style="font-size:11px;letter-spacing:2px;color:#14b8a6;text-transform:uppercase">Compare</div>';
54$body .= ' <h1 style="font-size:clamp(26px,3.6vw,40px);color:#fff;margin:6px 0 6px;font-weight:700;letter-spacing:-0.02em">RePricer vs the typical repricer</h1>';
55$body .= ' <p style="color:#7e92b6;font-size:14px;margin:0 0 22px;max-width:680px">An honest side-by-side. We&apos;re newer (and cheaper) than most &mdash; here&apos;s what that gets you, and where the rest of the market still has edges.</p>';
56
57$body .= '<section style="background:#0b1226;border:1px solid #1f2a4a;border-radius:12px;overflow:hidden;margin-bottom:24px">';
58$body .= '<table style="width:100%;border-collapse:collapse;font-size:13px;color:#e6ecf6">';
59$body .= '<thead><tr style="background:#0a0f1f;color:#7e92b6">';
60$body .= '<th style="padding:14px;text-align:left;text-transform:uppercase;font-size:11px;letter-spacing:1px">Feature</th>';
61$body .= '<th style="padding:14px;text-align:center;text-transform:uppercase;font-size:11px;letter-spacing:1px;color:#14b8a6;background:rgba(20,184,166,0.05)">RePricer</th>';
62$body .= '<th style="padding:14px;text-align:center;text-transform:uppercase;font-size:11px;letter-spacing:1px">Typical repricer</th>';
63$body .= '</tr></thead><tbody>';
64foreach my $row (@ROWS) {
65 $body .= '<tr style="border-top:1px solid #1f2a4a"><td style="padding:10px 14px;color:#e6ecf6;font-weight:500">' . _h($row->{label}) . '</td>';
66 $body .= '<td style="padding:10px 14px;text-align:center;background:rgba(20,184,166,0.05)">' . _cell($row->{us}) . '</td>';
67 $body .= '<td style="padding:10px 14px;text-align:center">' . _cell($row->{them}) . '</td>';
68 $body .= '</tr>';
69}
70$body .= '</tbody></table>';
71$body .= '</section>';
72
73# Honest write-up sections
74$body .= '<section style="background:#0b1226;border:1px solid #1f2a4a;border-radius:12px;padding:18px 22px;margin-bottom:14px">';
75$body .= ' <h2 style="color:#fff;font-size:18px;margin:0 0 10px">Where RePricer wins</h2>';
76$body .= ' <ul style="color:#e6ecf6;font-size:14px;line-height:1.8;margin:0;padding-left:22px">';
77$body .= ' <li><b>All three big marketplaces from &#36;9.</b> Most of the market charges &#36;55+ and still only covers Amazon. We do Amazon + eBay + Walmart at the Starter tier.</li>';
78$body .= ' <li><b>Full rule library, not just &ldquo;AI.&rdquo;</b> You pick the strategy (beat lowest, match Buy Box, cost-plus, etc.) and tune the guardrails yourself. No black box.</li>';
79$body .= ' <li><b>1-minute reprice cadence on Studio.</b> Most of the category throttles to 5&ndash;15 minutes regardless of tier.</li>';
80$body .= ' <li><b>Per-product detail page</b> with full Chart.js price history, competitor snapshots, and the rule that fired on every change.</li>';
81$body .= ' <li><b>Honest pricing.</b> No &ldquo;starts at &#36;X&rdquo; bait followed by an enterprise quote. The price on the website is the price you pay.</li>';
82$body .= ' </ul>';
83$body .= '</section>';
84
85$body .= '<section style="background:#0b1226;border:1px solid #1f2a4a;border-radius:12px;padding:18px 22px;margin-bottom:14px">';
86$body .= ' <h2 style="color:#fff;font-size:18px;margin:0 0 10px">Where established players might still be a better fit</h2>';
87$body .= ' <ul style="color:#e6ecf6;font-size:14px;line-height:1.8;margin:0;padding-left:22px">';
88$body .= ' <li><b>You want a fully-managed AI</b> that figures out the strategy for you and you&apos;re willing to pay enterprise pricing for it &mdash; some of the established players have spent years training those models.</li>';
89$body .= ' <li><b>You need deep Amazon-only reporting</b> tightly integrated with FBA-management tooling &mdash; the Amazon-specialist platforms go deeper there.</li>';
90$body .= ' <li><b>Track record matters more than price.</b> If &ldquo;the safe choice&rdquo; is what gets the deal approved internally, the legacy platforms have been at this for a decade.</li>';
91$body .= ' <li>We don&apos;t pretend to be everything to everyone &mdash; but if you sell on more than one marketplace and want honest pricing, you&apos;re probably in the right place.</li>';
92$body .= ' </ul>';
93$body .= '</section>';
94
95$body .= '<div style="text-align:center;margin-top:24px">';
96$body .= ' <a href="/signup.cgi" style="display:inline-block;background:#064e3b;color:#a7f3d0;padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:700;font-size:16px">Start your 14-day free trial</a>';
97$body .= ' <div style="color:#7e92b6;font-size:12px;margin-top:8px">No credit card. Cancel any time. We won&apos;t charge automatically when the trial ends.</div>';
98$body .= '</div>';
99
100$body .= '</div>';
101
102print "Content-Type: text/html; charset=utf-8\nCache-Control: no-store, no-cache, must-revalidate, max-age=0\nPragma: no-cache\nExpires: 0\n\n";
103$wrap->render({ userinfo => $userinfo, title => 'RePricer vs the typical repricer', body => $body });
104exit;
Keyboard: j next diff k previous diff g top G bottom r restore c compile-check ? help