eSimy.io – E-Commerce Platform
The Problem
A startup needed to launch an eSIM marketplace with SEO as the primary acquisition channel. The challenge was achieving sub-2s LCP while rendering dynamic pricing and availability data.
Constraints
- SEO is the primary traffic driver – must score 90+ on Lighthouse
- Dynamic pricing from 3rd-party API with 200ms SLA
- Support 190+ countries with localized content
- Stripe integration for payments
My Role
Full-Stack Developer
Architecture
Angular SSR with prerendered country pages → .NET Core API → PostgreSQL. ISR-like pattern with stale-while-revalidate caching. Structured data (JSON-LD) for rich search results.
Key Decisions
Angular Universal SSR over Static Site Generator
Used Angular Universal for server-side rendering instead of a JAMstack approach.
Pricing data changes hourly. Static generation would show stale prices. SSR with edge caching gave us fresh data with fast TTFB.
JSON-LD Structured Data Strategy
Implemented Product, Offer, and FAQ structured data across all plan pages.
Rich snippets in search results showing prices and ratings increased CTR by 40% compared to plain listings.
Highlights
- Achieved 95+ Lighthouse scores across all Core Web Vitals
- Built a comparison engine for side-by-side plan evaluation
- Implemented a multi-step checkout with Stripe Elements integration
Results
N/A (new)
96/100
Lighthouse Performance
0
15K monthly
Organic Traffic (6 mo)
N/A
4.2%
Conversion Rate
Lessons Learned
- SEO for SPAs requires deliberate architecture decisions from day one, not post-launch patches.
- Structured data is the highest-ROI SEO investment for e-commerce.
What I'd Do Differently
- Would explore Edge SSR (Cloudflare Workers) for better global latency.
- Would implement A/B testing for checkout flow optimization.