For CompaniesSign InSign Up

Build real things.
Get real feedback.

Take on real engineering builds posted by companies. Your solutions become a verified profile that hiring teams actually search.

Start your first build

Free to start. No credit card.

Portfolio projects

You built a to-do app and a weather dashboard. So did 50,000 other students. Nobody's reviewing your GitHub. Nobody knows if you actually wrote it.

Certificates & courses

You completed 14 certification courses and have DSA badges. So does everyone who paid ₹399 and followed along. It proves you can follow instructions, not that you can engineer.

Campus placements

You submitted your resume to 30 companies through your college. HR screened it for 7 seconds, couldn't tell you apart from 200 others, and you never heard back.

The problem isn't your skill. It's that nothing you're doing right now actually proves it.

How it works

Three steps. No resumes. No algorithm quizzes.

Step 01

Pick a build

Browse open builds posted by real companies. Each one is a real engineering problem — not a DSA puzzle or a tutorial project.

Step 02

Push your solution

Work in your own IDE. When you’re done, submit your GitHub repo. That’s the entire submission process.

Step 03

Get an engineering review

Your submission is processed by XVal, XcelCrowd’s evaluation system, across 7 engineering dimensions. You get a detailed review with scores, feedback, and where you stand, regardless of your rank.

This is what your review looks like

Every submission gets this — whether you score 92 or 43. Pass or not, you walk away knowing exactly where you stand and what to work on.

Stealth Fintech Startup

Payment Reconciliation Service

74/100
#3/17·Top 18%

Build & Test

Partial
Install DependenciesPassed8.2s
Build / CompilePassed4.1s
Run TestsFailed6.1s

6 of 8 tests passed. 2 failures in batch processing suite.

Code Quality

Readability
good
  • Variable names in BatchProcessor.ts use abbreviations (txn, rcn) that reduce scannability
  • +Consistent file structure across all service modules with clear separation of imports, types, and logic
  • +TypeScript interfaces defined close to usage rather than in a central types file — good colocation
Error Handling
good
  • Bare catch blocks in BatchProcessor.ts:92 swallow errors silently during batch retries
  • +Typed error hierarchy (ReconciliationError, GatewayTimeoutError) enables precise recovery per failure mode
  • +Gateway adapters propagate error context up the call chain cleanly
Testing
fair
  • No integration tests for concurrent batch processing — tests/ covers individual adapter units only
  • Test fixtures hardcode gateway responses instead of using factory patterns
  • +Unit tests cover core reconciliation logic with good edge case coverage for individual adapters

Design Quality

Architecture
good
  • BatchProcessor imports concrete adapter classes — no dependency injection
  • +Clean bounded contexts between reconciliation, gateway, and discrepancy domains
  • +Adapter pattern in src/types/GatewayAdapter.ts enables zero-downtime provider rotation
Abstractions
fair
  • Retry logic duplicated across StripeAdapter.ts:61, PayPalAdapter.ts:44, SquareAdapter.ts:52
  • Configuration values scattered across files instead of centralized env config
  • +Gateway adapter interface is well-abstracted with clear contract boundaries
Data & API Design
excellent
  • +Compound unique indexes in src/models/Transaction.ts prevent duplicate reconciliation entries across restarts
  • +API routes follow RESTful conventions with proper HTTP semantics
  • +Database schema normalizes gateway-specific fields without over-engineering the shared model
Complexity Balance
good
  • DiscrepancyDetector could be simplified by using event emitter pattern instead of manual callback chain
  • +Solution complexity matches problem scope — no unnecessary abstraction layers
Test SuiteTypeScriptDocumentationCI/CD ConfigLinting Setup

Review Summary

Your code cleanly separates the reconciliation logic from the payment provider connections — that's a strong design choice. One thing to improve: when errors happen during payment processing, you're handling recovery in three separate places. Try creating a shared error handler that all three can use. This is called 'extracting middleware' — it makes debugging much easier when something breaks in production.

Strengths

  • Adapter pattern in src/types/GatewayAdapter.ts enables zero-downtime provider rotation across all payment gateways
  • Compound unique indexes in src/models/Transaction.ts prevent duplicate reconciliation entries across restarts
  • Typed error hierarchy in src/errors/ (ReconciliationError, GatewayTimeoutError) enables precise recovery per failure mode

Areas for Improvement

  • Retry logic duplicated across StripeAdapter.ts:61, PayPalAdapter.ts:44, SquareAdapter.ts:52 — extract to shared middleware
  • No integration tests for concurrent batch processing — tests/ covers individual adapter units only
  • Hardcoded timeouts in PayPalAdapter.ts:47 and StripeAdapter.ts:83 — externalize to environment config

Key Issues

majorRetry logic with inconsistent backoff duplicated across 3 gateway adapters

src/adapters/StripeAdapter.ts:61, PayPalAdapter.ts:44, SquareAdapter.ts:52

Extract into shared withRetry() middleware with configurable exponential backoff and jitter.

At production payment companies, retry middleware is shared infrastructure. Duplicated retry logic drifts silently when one handler is updated.

majorNo test coverage for concurrent batch processing or partial gateway failure

tests/adapters/

Add integration tests simulating partial gateway failures mid-batch. Verify completed transactions survive.

Payment systems require exhaustive failure-mode testing. Partial batch failures are the production norm.

minorBatchProcessor imports concrete adapter classes — no dependency injection

src/handlers/BatchProcessor.ts:12–14

Accept adapters via constructor injection for testability and zero-downtime provider rotation.

Dependency injection is how production payment systems add new gateways without modifying handler code.

Multi-gateway reconciliation enginecore

src/services/ReconciliationEngine.ts, src/adapters/StripeAdapter.ts, PayPalAdapter.ts, SquareAdapter.ts

Complete
Real-time discrepancy detectioncore

src/services/DiscrepancyDetector.ts — event-driven flagging within reconciliation loop

Complete
Consistent error recovery across service boundariescore

Typed errors in src/errors/ but bare catch blocks in src/handlers/BatchProcessor.ts:92

Partial
Batch processing with retry semanticssecondary

src/handlers/BatchProcessor.ts — batching works but retry strategy inconsistent across adapters

Complete
API documentation & endpoint specpolish

No OpenAPI spec found — README.md covers features only

Missing
src/config/defaults.ts:12Default timeout value appears hardcoded — consider environment variable

Code Files

18

Avg Lines/File

94

Max File Lines

312

Concentration

14%

Folder Depth

4

Comment Ratio

0.06

Four builds. Four honest reviews.

This is how engineers improve on XcelCrowd.

BuildScoreRankReadabilityError HandlingArchitecture
Build 148Top 61%fairpoorfair
Build 257Top 38%goodfairfair
Build 371Top 19%goodgoodgood
Build 481Top 9%excellentgoodexcellent

Each one showed exactly what to fix. No course. No bootcamp. Just real problems and real feedback.

Open builds

Real engineering problems from real companies. Pick one and start building.

Stealth Series A Fintech

Payment Reconciliation Service

Design a service that reconciles payment records across multiple gateway providers and flags discrepancies in real time.

Node.jsPostgreSQLEvent-Driven

Stealth B2B SaaS Startup

Multi-Tenant Notification Engine

Build a notification system that supports email, SMS, and in-app channels with per-tenant rate limiting and delivery tracking.

TypeScriptRedisREST API

Stealth D2C Platform

Route Optimization API

Create an API that calculates optimal delivery routes given a set of waypoints, time windows, and vehicle constraints.

PythonFastAPIAlgorithms

Your verified build profile

Every build you complete adds to a profile that companies actually search. Not a resume. Not a certificate. Proof.

ReadabilityError HandlingTestingArchitectureAbstractionsData & APIDesignComplexityBalance

Based on 7 completed builds

Payment Reconciliation Service

Stealth Fintech Startup

74Good

Top 18%

Multi-Tenant Notification Engine

Series A SaaS Company

81Excellent

Top 9%

Route Optimization API

B2B Logistics Platform

58Fair

Top 32%

Real-Time Chat Backend

EdTech Scale-Up

79Good

Top 12%

Inventory Sync Pipeline

D2C E-Commerce Startup

72Good

Top 22%

Share it. Or let companies find you.

Your profile is searchable by stack, scores, and build history. When a hiring team needs someone who builds well in your stack, your profile shows up. You don't apply. They find you.

Hiring engineers?

Post a real engineering problem. Receive ranked candidates with full evaluation reports and GitHub proof.

Talk to us →