Builder Passport
Abdulfatai
@abdulfatai
Software engineer
66 posts 97 comments 12 followers 8 following Ilorin
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
-
01 Learn
Browse free Academy courses
-
02 Prove Done
20 Certificate(s) of Completion
20
-
03 Showcase Done
3 public project(s) · 10 challenge(s)
3
-
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.
Posts
# Week 8: Bring One Africoder
# Week 8: Bring One Africoder For Week 8 of the Africoders Launch Campaign. I have referred five people to Africoders and encouraged them to join the community, complete their profiles, and participate in the platform. here is thier names: -Abdullah teslim -Eze Favour -Chiatiah Rayan Nguea -Temitope Okubule -Daniel Ogbeide I believe Africa's tech ecosystem grows stronger when developers connect, share knowledge, collaborate on projects, and support one another. My goal was not just to invite people but to help more builders discover a community where they can learn, build, and grow together. Let's keep growing Africa's builder network, one Africoder at a time.
AI can write your code. But can you debug it when it breaks?
AI can write your code. But can you debug it when it breaks? AI tools can generate components, write API endpoints, explain errors, and even help build entire applications. That's impressive. But here's something worth thinking about. Imagine AI generates a piece of code for you. It works, so you move on to the next feature. Later, a bug appears. You try asking AI to fix it, but each solution introduces another problem. Now you're stuck because you don't fully understand the code in your own application. This is why I believe developers should use AI as a tool for learning and productivity, not as a replacement for understanding. When AI generates code: - Read and understand what it does. - Test it instead of assuming it works. - Check for security issues. - Understand the decisions behind the implementation. - Be ready to maintain the code without depending entirely on AI. AI can make you faster, but understanding makes you a better developer. Let's discuss: Has AI made you a better developer, or has it sometimes made you depend on it too much?
Never trust the frontend with important decisions.
Never trust the frontend with important decisions. Imagine you're building an e-commerce application. A product costs ₦80,000. A user opens the browser's developer tools, changes the price to ₦500, and clicks Pay. If your backend accepts that ₦500 as the actual product price, you have a serious problem. Your frontend might look perfect, but that doesn't mean your application is secure. The same principle applies to other things: - Don't trust a user's role just because the frontend says they're an admin. - Don't rely on frontend validation alone. - Don't assume a hidden button prevents unauthorized actions. - Don't trust payment amounts sent by the client without verification. Frontend validation improves the user experience, but the backend must enforce the rules. Here's the important lesson: Anything controlled by the client can potentially be manipulated. Always validate and verify sensitive operations on the server. Question for developers: Have you ever discovered a security issue caused by trusting the frontend too much?
Payment integration looks simple.
Payment integration looks simple. User clicks Pay. Payment succeeds. You show: "Payment successful." But there is a common mistake developers make: Trusting the response from the frontend. A user can manipulate requests from the browser. Your backend should verify the transaction with the payment provider before marking an order as paid. For example: User pays → Payment provider processes it → Your backend verifies the transaction → Order is marked as paid. Not: User says payment succeeded → Your backend trusts it. Never let the frontend be the final authority on whether money was actually received. Payments need server-side verification.
One mistake developers make:
One mistake developers make: Trusting frontend validation too much. You add: - Required fields - Email validation - Password rules - Input limits - Disabled buttons Everything looks secure. But a user can still bypass all of that. They can send requests directly to your API without using your frontend. That means your backend still needs to validate: - Input types - Required fields - Permissions - Authentication - Data limits - Business rules Frontend validation is for a better user experience. Backend validation is what protects your application. Never assume the frontend will always send the right data.
“It works on my machine.”
“It works on my machine.” You’ve probably heard this before. I tested the application. Everything works perfectly. Then I send it to someone else. Suddenly, it doesn’t work. I check the code. Same code. So what changed? The environment. Maybe my machine has: * A different Node.js version * A different database setup * Missing environment variables * Different package versions * Different operating system settings * A dependency that behaves differently on another machine The code may be the same, but the environment running that code isn’t. This is one reason tools like Docker and proper environment configuration are useful. They help make the application run in a more predictable and consistent environment instead of depending on whatever happens to be installed on one developer’s machine. So the next time someone says: “But it works on my machine.” Don’t immediately assume the code is fine. Check the environment too. Because sometimes “it works on my machine” isn’t the end of the conversation. It’s the beginning of the debugging.
Am I the only developer who prefers building authentication myself instead of relying heavily on third-party auth libraries?
Am I the only developer who prefers building authentication myself instead of relying heavily on third-party auth libraries? I like having control over how authentication works in my application. What happens if the library has a breaking change, gets abandoned, or develops a serious issue in the future? I’m not saying third-party auth is bad. It can save time and be very useful. But for me, understanding and controlling the authentication flow feels more reliable. What’s your preference: custom authentication or third-party authentication? And why?
CORS: Why Does My API Work in Postman but Not in My Browser?
CORS: Why Does My API Work in Postman but Not in My Browser? You build your backend. You test the API in Postman. Everything works perfectly. Then you connect your React frontend… And suddenly: CORS error. What happened? Your API isn’t necessarily broken. CORS stands for Cross-Origin Resource Sharing. Browsers have security rules that control which websites are allowed to make requests to your server. For example: Your frontend: https://myapp.com Your API: https://api.myapp.com The browser sees that they’re different origins and checks whether the API allows the request. Your backend can respond with headers such as: Access-Control-Allow-Origin Basically telling the browser: “Yes, this website is allowed to access my API.” This is why something can work in Postman but fail in your browser. Postman isn’t enforcing the same browser-origin security rules. So when you see a CORS error, don’t immediately start changing random frontend code. Check: * Is the backend allowing your frontend’s origin? * Is the HTTP method allowed? * Are the required headers allowed? * Is your backend CORS configuration correct? Once you understand what CORS is actually protecting, the error becomes much less scary. Have you ever spent hours fighting a CORS error?
Wall
Leave a note for Abdulfatai. The builder and Africoders staff can moderate this wall.
Sign in to post on this wall.
Comments
Replies across Africoders — open any thread to read the full conversation.
Challenges
7 wins · 8 placed · 8 completed · 8-challenge streak
Weekly · Winner · Won 18 Oct 2026 · ₦5,000
About
Invite one new person to Africoders using your invite link. The referral counts when they complete their profile (username, headline, bio, and onboarding).
- Status
- Winner
- Date won
- 18 October 2026
- What they won
- Winner · ₦5,000
- Rewards
- 70 campaign points · Weekly recognition ₦20,000 (staff-selected)
- Rank
- #1
Weekly · Winner · Won 11 Oct 2026 · ₦6,670
About
Pair with another Africoder. Teach each other something useful, then write up what you taught, what you learned, and who you paired with.
- Status
- Winner
- Date won
- 11 October 2026
- What they won
- Winner · ₦6,670
- Rewards
- 70 campaign points · Weekly recognition ₦20,000 (staff-selected)
- Rank
- #1
Build challenge · Winner · Won 5 Oct 2026 · ₦200,000
About
Build something useful. Ship it. Get discovered.
- Status
- Winner
- Date won
- 5 October 2026
- What they won
- Winner · ₦200,000
- Rewards
- Prize pool ₦400,000 — 1st ₦200,000 · 2nd ₦120,000 · 3rd ₦50,000 · Community Choice ₦30,000. International winners are eligible; Africoders coordinates payout.
- Rank
- #1
- Score
- 86 pts
Weekly · Winner · Won 2 Oct 2026 · ₦5,000
About
Create a short video (about one minute) teaching the community one useful thing — a tip, tool, concept, or technique.
- Status
- Winner
- Date won
- 2 October 2026
- What they won
- Winner · ₦5,000
- Rewards
- 70 campaign points · Weekly recognition ₦20,000 (staff-selected)
- Rank
- #1
- Score
- 100 pts
Weekly · Winner · Won 11 Sep 2026 · ₦5,000
About
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
- Winner
- Date won
- 11 September 2026
- What they won
- Winner · ₦5,000
- Rewards
- 70 campaign points · Weekly recognition ₦20,000 (staff-selected)
- Rank
- #2
Weekly · Winner · Won 11 Sep 2026 · ₦5,000
About
Share something useful. Quality beats volume.
- Status
- Winner
- Date won
- 11 September 2026
- What they won
- Winner · ₦5,000
- Rewards
- ₦5,000 wallet prize for Community Poster of the Week. Nigeria-only; Nigerian bank account required to receive. Must post every day Mon–Fri. Quality over volume — never automatic from post count.
- Rank
- #2
Weekly · Winner · Won 4 Sep 2026 · ₦5,000
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
Weekly · Runner-up · Result 25 Sep 2026 · ₦5,000
About
Use a platform feature (Learn, Build, Community, Passport, messaging, etc.) and share honest feedback: what worked, what was confusing, what you liked, and what should improve.
- Status
- Runner-up
- Result date
- 25 September 2026
- What they won
- Runner-up · ₦5,000
- Rewards
- 70 campaign points · Weekly recognition ₦20,000 (staff-selected)
- Rank
- #2
Weekly · Submitted · Submitted 17 Sep 2026 · Up to ₦20,000
About this challenge
Share one useful tool, course, article, video, or resource. Explain what it teaches and who should use it — in simple language.
- Status
- Submitted
- Challenge ends
- 18 Sep 2026
- Prizes to win
-
- Weekly recognition · ₦20,000
- Rank
- #6
Weekly · Joined · Joined 9 Oct 2026 · Up to ₦20,000
About this challenge
Demo what you have built or learned. Show your project, skill progress, or learning journey — including your Week 1 goal if it applies.
- Status
- Joined
- Challenge ends
- 23 Oct 2026
- Prizes to win
-
- Weekly recognition · ₦20,000
Proof of work
3 projectsActivity
Challenges, projects, and profile milestones.
Skills & stack
Industries: .