Skip to content
View Abdullahi-abdiaziz's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report Abdullahi-abdiaziz

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Abdullahi-abdiaziz/README.md
█████╗ ██████╗ ██████╗  █████╗ ██╗     ██╗      ██╗  ██╗
██╔══██╗██╔══██╗██╔══██╗██╔══██╗██║     ██║      ██║  ██║
███████║██████╔╝██║  ██║███████║██║     ██║      ███████║
██╔══██║██╔══██╗██║  ██║██╔══██║██║     ██║      ██╔══██║
██║  ██║██████╔╝██████╔╝██║  ██║███████╗███████╗ ██║  ██║
╚═╝  ╚═╝╚═════╝ ╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝╚═╝  ╚═╝

Full-Stack Engineer · Mobile Developer · Systems Thinker

Building scalable systems — from pixel-perfect mobile UIs to distributed backends

Portfolio LinkedIn Twitter Email


🧠 About Me

I'm a software engineer who cares deeply about how software is designed, not just that it works. My work sits at the intersection of mobile, web, and systems — with a growing obsession for clean architecture, domain-driven thinking, and robust backend design.

  • 🏗️ Currently building SafarGo — an inter-region transportation app for Somalia, built with React Native + Expo
  • 🦫 Exploring Go for high-performance backend services
  • ✍️ Writing about dev topics at KawTech Blog
  • 🎯 Deep interest in Software Architecture, Design Patterns, and Multi-tenant Systems

🚧 Featured Project — SafarGo

Inter-region transportation platform for Somalia A mobile-first app connecting passengers with inter-city travel across Somali regions.

Stack:  React Native · Expo Router · Reanimated · Go (backend) · PostgreSQL
Arch:   Clean Architecture · Repository Pattern · Multi-tenant Design
Status: 🔨 Active Development

🏫 Current Build — Multi-Tenant School Management System

A SaaS platform where multiple schools operate in complete isolation under a single deployment.

Architecture Overview

┌──────────────────────────────────────────────────────────┐
│                    API Gateway / Router                   │
│              (Tenant Resolution by subdomain)            │
└────────────┬──────────────────┬────────────────┬─────────┘
             │                  │                │
      ┌──────▼──────┐   ┌──────▼──────┐  ┌──────▼──────┐
      │  School A   │   │  School B   │  │  School C   │
      │  Tenant     │   │  Tenant     │  │  Tenant     │
      └──────┬──────┘   └──────┬──────┘  └──────┬──────┘
             │                  │                │
      ┌──────▼──────────────────▼────────────────▼──────┐
      │            Shared Application Layer              │
      │    Auth · RBAC · Billing · Notifications        │
      └──────────────────┬───────────────────────────────┘
                         │
      ┌──────────────────▼───────────────────────────────┐
      │         Database (Schema-per-Tenant)             │
      │    tenant_a.* │ tenant_b.* │ tenant_c.*          │
      └──────────────────────────────────────────────────┘

Design Principles Applied

Principle Application
SOLID Each module has one responsibility; interfaces over concrete types
DRY Shared services via DI container; tenant config drives behavior
Dependency Inversion Core domain has zero infra dependencies
Separation of Concerns Domain / Application / Infrastructure / Presentation layers
Twelve-Factor App Config from env, stateless processes, backing services

Design Patterns Used

// Repository Pattern — abstracts data access per tenant
type StudentRepository interface {
    FindByID(ctx context.Context, tenantID, studentID string) (*Student, error)
    ListByClass(ctx context.Context, tenantID, classID string) ([]*Student, error)
    Save(ctx context.Context, student *Student) error
}

// Factory Pattern — creates tenant-scoped services
type TenantServiceFactory struct {
    db     *sql.DB
    cache  CacheProvider
    mailer MailProvider
}

func (f *TenantServiceFactory) StudentService(tenantID string) StudentService {
    repo := NewPgStudentRepo(f.db, tenantID)
    return NewStudentService(repo, f.cache, f.mailer)
}

// Observer Pattern — event-driven notifications
type EnrollmentObserver interface {
    OnStudentEnrolled(event EnrollmentEvent)
}

🛠️ Tech Stack

Mobile

React Native Expo Reanimated

Frontend

TypeScript React Next.js Tailwind CSS

Backend & Systems

Go Node.js PostgreSQL Prisma

Architecture & Patterns

Clean Architecture DDD SOLID

Tooling

Git GitHub Docker Zod


🏗️ Software Design Philosophy

"Make it work, make it right, make it fast — in that order."

I think about software in layers:

Presentation  ──▶  What the user sees & touches
Application   ──▶  Use cases & orchestration
Domain        ──▶  Business rules, entities, pure logic  ← the core
Infrastructure──▶  DB, HTTP, file system, 3rd parties

This separation means the domain layer never knows about React, Go, or PostgreSQL — it's just pure logic. Everything else adapts around it.


📈 GitHub Stats

GitHub Stats

GitHub Streak

Top Languages


📫 Let's Connect

I'm always open to discussing architecture decisions, interesting problems, or potential collaborations — especially around mobile apps, transportation tech, or anything being built for the Somali market.

Find me on LinkedIn · Twitter · Email


Built with intention · Designed to scale · Refined over time

Pinned Loading

  1. mfa-auth-system mfa-auth-system Public

    A secure Multi-Factor Authentication (MFA) system built using React, Node.js, Express, and MongoDB. This app enhances security by integrating MFA with Passport.js for authentication and Speakeasy f…

    JavaScript 1

  2. developer-roadmap developer-roadmap Public

    Forked from nilbuild/developer-roadmap

    Interactive roadmaps, guides and other educational content to help developers grow in their careers.

    TypeScript 1

  3. notion-blog notion-blog Public

    This is a Notion-based tech blog for developers, featuring dynamic content, code syntax highlighting, and responsive design. Built with Next.js, it integrates Notion's API for easy content management.

    TypeScript 1