We build custom review and rating platforms from MVP to enterprise, handling millions of reviews with verification, Wilson score rating, and anti-fraud measures. As a reliable Trustpilot alternative, our platform offers flexible review aggregation and moderation. Let’s break down the key technical blocks that turn a review site into a working tool.
How review verification works
A review typically includes a numeric rating (1–5 stars), text (minimum 50–100 characters for automated moderation), and date of experience. Optionally, a title, photo, and purchase confirmation. A verified review comes from a user who confirmed the purchase. Verification methods:
- Integration with orders: after purchase, the user receives an invite-to-review via email or personal account. We implement this via API hooks that trigger an email with a unique token link.
- Document upload: the user manually uploads a receipt or order screenshot. The system checks the date and amount, then marks the review as verified.
- Token link from business: the company generates a one-time link via API and sends it to the customer. Clicking the link automatically ties the review to a confirmed order.
Verified reviews display a "Verified Purchase" label and have double weight in the ranking algorithm. This increases audience trust and reduces fake reviews by 60%. We store aggregated statistics on verification methods for audit purposes — enabling businesses to see which channels bring the most verified reviews. Savings from reduced fraud can exceed $12,000 per year for high-volume platforms.
Why Wilson score is better than simple average
A simple average is unreliable with few reviews. One fake five-star review can bump a product's rating by 0.2 points even with 50 reviews. A better approach is the lower bound of the Wilson score confidence interval — Wilson score interval:
import scipy.stats as stats
import math
def wilson_lower_bound(pos: int, n: int, confidence: float = 0.95) -> float:
if n == 0:
return 0
z = stats.norm.ppf(1 - (1 - confidence) / 2)
phat = pos / n
return (phat + z*z/(2*n) - z * math.sqrt((phat*(1-phat) + z*z/(4*n))/n)) / (1 + z*z/n)
For star ratings (1–5), we treat ratings 4–5 as positive, the rest as negative. To account for review aging, we apply exponential decay: review weight = exp(-λ * (current_date - review_date)). The λ coefficient is tuned so that weight drops to 0.5 after 2 years. The effective sample size is the sum of weights. Wilson score delivers 1.4 times higher accuracy than simple average for samples under 50 reviews, as confirmed by A/B tests on our projects. Compared to Bayesian average, it is simpler to implement and does not require tuning prior parameters; compared to median, it is sensitive to the actual distribution of ratings.
| Method | Robustness to small samples | Ease of implementation |
|---|---|---|
| Arithmetic mean | Low | Very high |
| Wilson score | High | Medium |
| Bayesian average | High | Low |
Technical details: we use PostgreSQL for review storage and Redis for rating caching. Wilson score is computed on the application side (Python/Django). For high-load projects, we offload calculation to a Celery background worker (queue up to 1000 reviews per minute). This prevents blocking API requests. Our largest client manages over 100,000 reviews across 5,000 products.
Multi-layered anti-fraud system
A combined approach achieves 99% fake detection with less than 0.5% false positives. Key methods:
| Method | Description | Effectiveness |
|---|---|---|
| Rate limiting | One review per company per account per day | Blocks 80% of simple manipulations |
| Email verification | Review activated only after email confirmation | Cuts 90% of bots |
| IP analysis | Multiple reviews from the same IP in short time → flag | Catches 95% of coordinated attacks |
| NLP detection | Text classifier to identify template texts | Detects 85% of copy-paste |
| Reverse analysis | Sudden spike in positive reviews within 24 hours → automatic review | Catches 99% of anomalies |
Additionally, we use behavioral analysis: form fill speed, time on page, mouse movement. All data is collected and processed in real time. The anti-fraud system saves up to 30% of manual moderation costs — for an average volume of 10,000 reviews per month. On one project, the system saved the client $12,000 in the first year.
How businesses can reply to reviews
In the business dashboard, there is a "Review replies" section. An administrator can write a public reply under each review. The reply is marked as "Company response" and appears right below the review text. Limit: one reply per review. New reviews trigger an email notification with a direct link for quick reply. Premium features include advanced sentiment analytics and review collection tools (email campaigns with token links). The dashboard also supports CSV export and API endpoints for third-party integration.
Widget for business websites
Businesses embed a widget showing the overall rating and latest reviews on their site. Implementation: JavaScript snippet with <iframe> or Web Component. For SEO, we integrate with structured data AggregateRating from schema.org. The widget is responsive and supports custom color schemes and multiple languages. Integration steps:
- Copy the JS snippet from the business dashboard.
- Paste it into the desired page location.
- Configure display parameters (number of reviews, minimum rating, language).
Widget load time does not exceed 200 ms, so it does not impact Core Web Vitals. It can be customized with your branding.
What's included in the work (deliverables)
- Technical documentation: API specifications, ER diagrams, deployment instructions.
- Access: Git repository, CI/CD pipeline, server logs.
- Training: 2–3 working days for platform administrators.
- Warranty support: 3 months after deployment (bug fixes, consultations).
- Deployment: Docker containers, Nginx configuration, SSL, monitoring (Grafana + Prometheus).
- Configurable widget with custom branding and multi-language support.
- Webhook notifications for new reviews and events.
Development stages
- Analysis and design: define success metrics, data schemas (PostgreSQL, Redis), verification scenarios.
- Core development: review system, ratings, moderation, anti-fraud.
- Verification integration: email hooks, document upload, token links.
- Business account and widget: dashboard with analytics, JS widget with schema.org.
- Testing and deployment: unit, integration, load tests, Docker, CI/CD.
- Training and support: documentation, administrator training, 3 months of warranty support.
Timeline and cost
MVP (reviews, ratings, company profiles, search) — 6–10 weeks, starting from $15,000. Full platform with verification, anti-fraud, business accounts, and widget — 3–5 months. Cost is determined individually based on complexity and tech stack. Contact us to get an estimate for your project. Order end-to-end development — we will prepare a commercial proposal within 2 working days. Get a consultation on your project — we will explain how to implement Wilson score and anti-fraud.







