# case · 04 / 04 · 2023
● live · pre-launchb2bmarketplacelaravelco-founder
TradesLynk — B2B trade across 82 countries without the intermediaries.
role
co-founder · lead engineer
stack
laravel 12 · php 8.2 · tailwind 4
timeline
q3 2023 — present
status
pre-launch · onboarding exporters
#01 · the problem
// brief
International trade still runs through layers of middlemen with opaque pricing and zero trust signals.
Small manufacturers in emerging markets can't access global buyers directly. Existing B2B directories are outdated, unverified, and charge recurring fees for basic visibility.
TradesLynk removes the broker layer — verified exporter profiles, direct RFQ flow, tiered trust signals.
// what was built
- rfq matchingscoring engine matches buyer requests to relevant exporters
- verification tiersunverified → business → premium → trade
- trust scoreTrustScoreService calculates seller reputation
- 3d globethree.js globe visualizes buyer/exporter locations
- blog + cmstrix editor · scheduled publishing · seo slugs
#02 · system design
Laravel monolith. Right tool for the build stage.
public surface
· 126+ blade templates
· 4 route files
· seo · sitemap · robots
eloquent orm
domain
· 35 eloquent models
· 58 migrations
· rfqmatchingservice
trust engine
· trustscoreservice
· verificationservice
· locationservice
queue · cache
infrastructure
· mysql production
· sqlite local dev
· smtp transactional
admin
· user suspension
· category crud
· content moderation
feature · 01
rfq system
Buyers post RFQs and an RFQMatchingService scoring engine matches them to relevant exporters by category, country, and verification tier.
feature · 02
inquiry lifecycle
Direct buyer→exporter inquiries with full status pipeline: pending → viewed → replied → closed. Transactional emails at every state change.
feature · 03
profile strength
SVG ring gauge + checklist widget shows exporters how complete their profile is. Completeness directly affects search ranking position.
#03 · authentication · seo
Passwordless OTP. Database-driven redirects.
1// passwordless 4-digit email OTP
2public function send(Request $request) {
3 $otp = str_pad(rand(1000,9999), 4, '0');
4 Cache::put("otp:{$email}", $otp, 300);
5 Mail::to($email)->send(new OtpMail($otp));
6 return back()->with('sent', true);
7}
// seo surface
dynamic sitemap
Auto-generated sitemap.xml covering product listings, exporter profiles, and category pages — updated on every publish.
db-driven redirects
URL redirect management in the database — marketing can move pages without a deploy. No broken links during restructuring.
per-page meta
Each product, exporter, and category page carries unique title, description, and og: tags derived from the database record.
#04 · scale · what was built
82
supported countries
35
eloquent models
126+
blade templates
58
db migrations
