Amer Alghfaili

Hello, I'm

Amer Alghfaili

Software Engineer

I'm a software engineer with 5+ years of experience across fintech and legal services.

I learn slowly by design!

Depth compounds over time! leading to faster execution and better decision-making. Shortcuts compound into technical debt.

Featured Projects

Here are some of the projects I've worked on. Each one represents a unique challenge and learning experience.

Ebana

Worked as a Full-Stack Developer and led the complete revamp of the frontend application. Ebana provides digital legal services, including assembly establishment, e-voting, shareholder relationship management, and cap table management, aiming to eliminate manual paperwork and streamline corporate governance processes.

Technologies Used

Spring bootMysqlVaadinReactTypeScriptNextJSChakra UI

Elearner

Elearner is a learning focused workspace designed for structured understanding. Not just note-taking, while tools like Notion and Obsidian are powerful for general note-taking, they aren't optimized for structured learning workflows.

Elearner It combines a flexible notebook editor with flashcards, resource management, and roadmap planning to support active recall and long term retention.

Technologies Used

VercelReactTypeScriptNextJSChakra UIPrisma

Skills & Expertise

Technologies and tools I've mastered through hands-on experience and real-world projects.

🌿

Spring Framework

Experience building backend services using the Spring ecosystem, contributing to full-stack applications across multiple projects. I’ve worked with Spring Boot, Spring Security, and Spring Data to develop server-side systems.

  • REST & GraphQL APIs: Designing and implementing RESTful and GraphQL APIs with clear request/response structures and proper validation
  • Inversion of Control & Dependency Injection: Understanding and applying Spring’s IoC container to build modular and testable components
  • Data & Security: Using Spring Data for persistence and Spring Security to handle authentication and authorization concerns
⚛️

React

Next.js

Building web applications efficiently with Next.js, leveraging built-in web features such as font optimization, image optimization, caching strategies, and file-based routing.

  • Middleware: Deciding when to intercept requests and manipulate them
  • Colocation: Organizing page-level components and layouts for better structure and maintainability
  • Rendering strategies: Deciding when to render components on the server, client, or statically to optimize performance and reduce JavaScript bundle size
🅙

JavaScript

Strong foundation in JavaScript with a deep understanding of its runtime behavior.

  • Asynchronous architecture: Designing predictable async flows using Promises and async/await, managing error propagation, avoiding race conditions, and understanding the event loop (microtasks vs. macrotasks) to prevent subtle execution bugs
  • Closures & lexical scope: Deep understanding of how JavaScript captures variables, how scope chains are created at runtime, and how this impacts memory and long-lived references
  • Type coercion & evaluation model: Strong grasp of JavaScript’s implicit and explicit coercion rules, truthy/falsy evaluation, and equality semantics to prevent edge-case bugs and write defensively predictable code
📘

TypeScript

Enhanced code quality and developer experience with strong typing, interfaces, and advanced type inference.

🎨

Design System

Architecting scalable design systems that preserve brand identity while enforcing consistency across products.

  • Component architecture: Implement different kinds of reusable components that adhere to the brand’s identity and work in different contexts and viewports with rich API and controlled boundary of style customizations
  • Design tokens: Enhance development experience and visual consistency by reusing brand’s design tokens such as colors, spacings, texts and etc
🧩

CSS

Design pixel perfect web apps and able to translate design into code

  • Layout: Using Flexbox and CSS Grid to implement complex, responsive layouts that adapt seamlessly across viewport sizes
  • Positioning: Strong understanding of CSS positioning mechanics and stacking contexts to prevent visual bugs and unintended overlap
  • Box model & Containing blocks: Understanding block, inline, and inline-block elements and how containing blocks affect layout and positioning decisions
  • Utility-first: Leveraging frameworks like Tailwind CSS to accelerate development while maintaining consistency and scalability