name: Wilfredo Rujel
location: Lima, Peru
company: SAP
role: Senior Software Engineer
interests:
- Building scalable web applications
- Competitive programming & algorithms
- Open source contributions
currently:
- Writing technical blog posts at wrujel.com/blog
- Building developer tools & side projects|
airbnb-clone Airbnb app clone with Next.js 13, that allows you to search for properties, a... β 28 Β β’Β π΄ 12 Β β’Β |
portfolio-web-template This a project to create a web portfolio using Next.js 14, React, TypeScript... β 4 Β β’Β π΄ 0 Β β’Β |
|
tesla-landing Tesla landing with Astro and Tailwind, fully responsive design. β 3 Β β’Β π΄ 0 Β β’Β |
blog A developer blog built with Next.js 16, featuring file-based MDX content powe... β 0 Β β’Β π΄ 0 Β β’Β |
|
leetcode-ui Personal LeetCode progress dashboard built with Astro 5, React 19, and Tailwi... β 0 Β β’Β π΄ 0 Β β’Β |
portfolio Personal developer portfolio built with Next.js 16, TypeScript, and Tailwind ... β 0 Β β’Β π΄ 0 Β β’Β |
| Async Concurrency Control in Node.js: Semaphores, Throttling, and Backpressure Unbounded Promise.all is a silent OOM killer β here's how to build semaphores, tβ¦ |
π
May 30, 2026backendβ± 4 min read |
|
| The Transactional Outbox Pattern: Solving Dual-Write in Distributed Systems How the transactional outbox pattern eliminates the dual-write problem and guara⦠|
π
May 16, 2026architectureβ± 5 min read |
|
| Request Context Without Prop Drilling: AsyncLocalStorage in Node.js Use AsyncLocalStorage to propagate request-scoped context β trace IDs, user sessβ¦ |
π
May 9, 2026backendβ± 4 min read |
|
| TypeScript Branded Types: Compile-Time Domain Modeling Eliminate a whole class of runtime bugs by teaching TypeScript's type system the⦠|
π
May 2, 2026engineeringβ± 5 min read |
|
| Contract-First API Design with OpenAPI and TypeScript Stop letting your API spec drift from your implementation β define the contractβ¦ |
π
Apr 25, 2026backendβ± 4 min read |
|
3921 problems solved | 6 languages | 72 topics | 57% avg acceptance
| Difficulty | Solved | Progress |
|---|---|---|
| π’ Easy | 944/944 | ββββββββββββββββββββ 100.0% |
| π‘ Medium | 2048/2050 | ββββββββββββββββββββ 99.9% |
| π΄ Hard | 929/930 | ββββββββββββββββββββ 99.9% |
| Language | Problems | Share |
|---|---|---|
| 3456 | 88% | |
| 235 | 6% | |
| 103 | 3% | |
| 67 | 2% | |
| 56 | 1% |





