Skip to content

Get Africoders on your phone

Abdulfatai avatar

Builder Passport

Abdulfatai

@abdulfatai

Software engineer

21 posts 35 comments 3 followers 3 following Ilorin

Developer Open Open to full-time Open to contract +2 more

My name is Sakariyau Abdulfatai I’m a Full-Stack Software Developer skilled in JavaScript, TypeScript, React, Next.js, Node.js, Express.js, MongoDB, PostgreSQL, GitHub, and modern web application development.

Professional Passport

Professional Builder

Free courses and real projects strengthen your Passport.

Your journey

  1. 01 Learn

    Browse free Academy courses

  2. 02 Prove Done

    20 Certificate(s) of Completion

    20

  3. 03 Showcase Done

    2 public project(s) Β· 4 challenge(s)

    2

  4. 04 Discover Done

    Recruiter-facing Passport completeness Β· 100%

    100/100

Activity score

A living view of what they’ve been doing β€” posts, comments, projects, and learning.

370
Building momentum
Trusted Builder Β· 100%
2
Projects
0
Shipped
0
Endorsements
0
Collabs
4
Challenges
3
Followers
Project Publisher Challenge Winner

Posts

Build update 1 hour ago

If databases can store images, why do engineers upload them to S3 instead?

If databases can store images, why do engineers upload them to S3 instead? I see this question a lot: β€œIsn’t it simpler to just store the image in the database?” Technically, yes, you can. Practically, you shouldn’t β€” at least not at scale. Databases are built to store and query structured data efficiently. Rows, columns, indexes, relationships. They’re optimized for fast lookups on small, structured records. Images are large binary blobs. Storing them directly in the database (as BLOBs) works, but it comes with real costs. Here’s why engineers avoid it: Database size explodes. A few thousand images can bloat your database from megabytes to gigabytes, slowing down backups, replication, and every query that touches that table. Performance degrades. Every query scanning that table now has to skip over large binary data, even if it doesn’t need it. Indexes get heavier. Caching gets less effective. Backups become painful. Backing up a database with embedded images means backing up the images every single time, even if they never change. Scaling gets expensive. Databases are built to scale reads and writes on structured data, not to serve millions of static files efficiently. S3 (or any object storage) is purpose-built for this. It’s designed to store large files cheaply, serve them directly over HTTP, scale horizontally without effort, and integrate with CDNs for fast global delivery. So the actual pattern most engineers use: Store the image in S3. Store the URL (or key) to that image in the database. The database stays lean and fast. The file storage handles what it’s built for. So instead of asking: β€œCan the database store this?” Ask: β€œIs this the right tool to store and serve this efficiently?” The goal isn’t to use one system for everything. The goal is to let each system do what it’s designed to do. Databases aren’t bad at storing images. They’re just not the right tool for the job.

Build update 1 hour ago

URL vs URI: They’re not two competing terms.

URL vs URI: They’re not two competing terms. I see this question a lot: β€œIsn’t URL just another word for URI?” Not quite. One is a category. The other fits inside it. URI (Uniform Resource Identifier) is the umbrella term. Any string that identifies a resource β€” by location, by name, or both β€” is a URI. URL (Uniform Resource Locator) is one type of URI. It identifies a resource by where it is, and how to get there. There’s also URN (Uniform Resource Name). It identifies a resource by what it’s called, not where it lives. Example: https://example.com/paper.pdf β†’ a URL. It gives you a location and an access method. urn:isbn:0451450523 β†’ a URN. It names a book. No location involved. Both are URIs. Every URL is a URI. Not every URI is a URL. So instead of asking: β€œWhich term is correct here?” Ask: β€œAm I pointing to a location, or just naming something?” The goal isn’t to sound precise. The goal is to be precise. URI isn’t a fancier way to say URL. URL is just one shape a URI can take.

Build update 5 days ago

PostgreSQL vs MongoDB: Why neither is better than the other.

PostgreSQL vs MongoDB: Why neither is better than the other. I see this question a lot: β€œShould I use PostgreSQL or MongoDB?” And honestly, there is no universal winner. PostgreSQL is a relational database. It is a great choice when your application has structured data, relationships between entities, complex queries, transactions, and strong data consistency requirements. MongoDB is a NoSQL document database. It can be a great choice when you need flexible schemas, document-oriented data, rapid development, or your data naturally fits a JSON-like structure. For example: An e-commerce application may benefit from PostgreSQL when you have relationships between users, products, orders, payments, inventory, and reviews. But an application dealing with flexible and frequently changing document structures may be a good fit for MongoDB. So instead of asking: β€œWhich database is better?” Ask: β€œWhich database is better for my application's requirements?” The goal isn't to choose the most popular database. The goal is to choose the right tool for the problem. PostgreSQL isn't better than MongoDB. MongoDB isn't better than PostgreSQL. They are different tools designed to solve different problems. i hope you find this heplful. if yes, like comment, and share. follow for more.

Build update 6 days ago

Authentication vs Authorization β€” they are NOT the same thing. πŸ”

Authentication vs Authorization β€” they are NOT the same thing. πŸ” If you’re learning backend development, you need to understand this difference. Imagine you want to enter a company. First, the security guard asks for your ID card. If the ID proves that you are who you claim to be, you are allowed into the building. That is Authentication. πŸ‘‰ Authentication = Who are you? Now, imagine you’ve entered the company. You’re an employee, but you can’t just walk into the CEO’s office or access the company’s private database. Your role determines what you’re allowed to access. That is Authorization. πŸ‘‰ Authorization = What are you allowed to do? In a web application: Authentication Login with email/password Verify OTP Verify identity Create/manage a session or token Authorization Admin can delete users User can view their own orders Manager can access certain resources Regular users cannot access admin routes The easiest way to remember it: πŸ” Authentication β†’ Who are you? πŸ›‘οΈ Authorization β†’ What can you access? You can be authenticated but not authorized to perform a particular action. For example, you can successfully log into an admin dashboard as a normal user, but you shouldn't be able to delete another user's account. Authentication comes first. Authorization decides what happens after. If you're learning backend development, don't just memorize these terms. Understand how they work together. πŸš€

Build update 6 days ago

If you’re learning Node.js, don’t just know package.json exists. Understand why it matters. πŸ‘‡

If you’re learning Node.js, don’t just know package.json exists. Understand why it matters. πŸ‘‡ You’ve probably seen these two files in almost every JavaScript/Node.js project: πŸ“¦ package.json πŸ”’ package-lock.json But why should you care about the difference? Because understanding them helps you: βœ… Avoid dependency/version conflicts βœ… Keep your project consistent across different machines βœ… Debug package installation issues βœ… Make deployments more reliable βœ… Work better with other developers βœ… Understand how npm manages your project dependencies Think of it this way: package.json tells npm what your project needs. package-lock.json records the exact dependency versions that were installed. For example, your package.json might say: "I need Express." While the package-lock.json helps npm know: "Here is the exact version of Express and its dependency tree that was installed." These may look like small files, but understanding concepts like this is part of moving from β€œI can write code” to β€œI understand how my project actually works.” πŸš€ Don’t just learn to use tools. Learn what they are doing behind the scenes.

Build update 6 days ago

My is SAKARIYAU ABDULFATAI.

My is SAKARIYAU ABDULFATAI. A Professional web developer and full-stack software engineer based in Ilorin, Nigeria. I build beautiful, performant web applications that helps businesses grow across Ilorin, Lagos, and Nigeria.

Build update 6 days ago

Captain Black Global Services

Captain Black Global Services Marketing site for a premium catering company serving weddings, corporate events, and private dining. LInk -> https://www.captainblackglobalservice.com

Wall

Leave a note for Abdulfatai. The builder and Africoders staff can moderate this wall.

Sign in to post on this wall.

No wall posts yet

Be the first to write on this builder’s wall.

Comments

Replies across Africoders β€” open any thread to read the full conversation.

20 shown

Challenges

1 win Β· 1 completed

Week 2: Show Us What You're Building

Weekly Β· Winner Β· Won 4 Sep 2026 Β· ₦5,000

Winner

About

Post about a project you built, are building, or built before. Explain the problem, what you made, and what you learned.

Status
Winner
Date won
4 September 2026
What they won
Winner Β· ₦5,000
Rewards
70 campaign points Β· Weekly recognition ₦20,000 (staff-selected)
Rank
#2
Week 3: Builder Pitch

Weekly Β· Joined Β· Joined 3 Sep 2026 Β· Up to ₦20,000

Joined

About this challenge

Imagine you have ₦10M and a full developer team. What problem in Africa would you solve, and how? Write the problem and your solution in 250 words or fewer.

Status
Joined
Challenge ends
11 Sep 2026
Prizes to win
  • Weekly recognition Β· ₦20,000

Proof of work

Activity

Challenges, projects, and profile milestones.

  1. Abdulfatai joined challenge: Week 3: Builder Pitch

    6 days ago

    View challenge
  2. Abdulfatai joined challenge: Week 2: Show Us What You're Building

    6 days ago

    View challenge
  3. Abdulfatai unlocked the XP Collector badge

    6 days ago

    View Passport
  4. Abdulfatai submitted to AFRICODERS BUILD CHALLENGE #1

    1 week ago

    View challenge
  5. Abdulfatai submitted to AFRICODERS BUILD CHALLENGE #1

    1 week ago

    View challenge

Skills & stack

React JavaScript node js express PostgreSQL MongoDB

Industries: .

Need help with Builder Passport?

Ask Aurora

Open Help Center β†’