Rachael Adeyemi (@_raebuilds) header
Rachael Adeyemi (@_raebuilds) profile picture

Backend Developer | Chess ♟️ | System Design | Learning, thinking, and growing daily.

Nigeria
Joined February 2023
Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)Photo by Rachael Adeyemi (@_raebuilds)
Rachael Adeyemi retweeted
Heads up: JWT is not authentication. It's a signed note. Authentication already happened before the JWT was issued. Think about it. A user enters their email and password. Your application verifies the credentials. That verification step is authentication. Only after that does your server generate a JWT. The JWT is simply a signed statement saying: "I already authenticated this user." Later, when the user makes another request, the server verifies the token's signature and trusts the claims inside it. The JWT didn't authenticate the user. Your application did. The JWT is just carrying proof that authentication happened at some point in the past. This distinction matters because many engineers treat JWT as a security solution. It's not. It's a transport mechanism for identity claims. You still need to think about: • Token expiration • Revocation • Refresh tokens • Authorization • Session invalidation A valid JWT only tells you: "Someone successfully authenticated at some point, and this token hasn't been tampered with." Whether that user should be allowed to act right now is an entirely different question.
5
6
3
56
2,686
Rachael Adeyemi retweeted
The Day 3 Career Fair brought together industry leaders, recruiters, and hiring professionals to connect fellows with valuable career opportunities and insights across different sectors. Our fellows had the opportunity to engage with: ✨ Ogbleba Moses – HR/Operations Lead, AXON ANALYTICS LTD ✨ Bright Williams – Founder/CEO, Willoid PBS (HR Consulting) ✨ Amy Oloo – Associate, KPMG East Africa ✨ Steve Soo – Senior Technology Risk Consultant, KPMG East Africa ✨ Omolara Norman – Head of Talent Acquisition, Wema Bank ✨ Omotola Oloyede – Infinion Technologies ✨ Joannapaul Ibiabor – Head Talent Acquisition & Recruitment, U-Connect From networking opportunities to career conversations and recruitment insights, the session created meaningful connections for fellows preparing for the future of work.
1
1
77
Rachael Adeyemi retweeted
DAY 1 is here! The Women Techsters Fellowship Career Week 2026 officially begins today under the theme: *Learn. Earn. Thrive: Women Building Digital Futures Now.* Today’s Opening & Capstone Showcase brings together an incredible lineup of speakers, recruiters, industry leaders, and hiring professionals shaping the future of work and opportunities in tech.
1
2
3
209
Rachael Adeyemi retweeted
Backend Engineers throw Redis into every architecture nowadays like it’s a compulsory tech stack. Meanwhile, some applications genuinely do not need Redis at all. So, when exactly should Redis actually be used? Real practical scenarios where Redis makes sense?
41
61
10
860
136,101
the fastest way to learn in tech is to build something you actually need. tutorials won't save you. documentation will humble you. but shipping something real? that changes how your brain works. stop consuming and start building.
13
13
1
82
1,535
Impostor syndrome hits different when the person doubting you is you.
5
4
13
291
When you delete records from your database with a hard DELETE and something goes wrong, that data is gone. No undo. No recovery. No "just check the database." In production, users accidentally delete things. Admins make mistakes. You will make mistakes. Soft deletes exist for this reason: Instead of removing the row, you add a deleted_at timestamp column. UPDATE users SET deleted_at = NOW() WHERE id = ? The record still exists. You just filter it out of normal queries: WHERE deleted_at IS NULL When someone needs it back, you clear the column. When you need an audit trail, it's there. Hard deletes have their place...GDPR/NDPR right-to-erasure requests, for example. But that should be a deliberate choice, not the default. Default to soft deletes. You will thank yourself the first time something gets deleted that shouldn't have been.
1
5
30
1,482
When you store user passwords as plain text because "it's just a side project," I need you to understand what you are actually doing. You are storing your users' passwords. Most people reuse passwords. If your database leaks and databases leak you have not just compromised your app. You have handed an attacker the keys to your users' email, their bank app, their everything. What you must do: • Never store plain text passwords. Ever. • Never use MD5 or SHA-256 alone, these are fast hashing algorithms. Fast and crackable. • Use bcrypt, argon2, or scrypt, they are slow by design In Node: const hash = await bcrypt.hash(password, 12) That second argument is the salt rounds. 12 is the current safe minimum. This is not an advanced security topic. It is the baseline. If your users trust you with a password, the minimum you owe them is not storing it like it's a to-do list.
3
2
22
1,244
When you integrate Paystack and you're not verifying webhook signatures, you are not building a payment system. You are building a vulnerability. Here is what happens when someone hits your /webhook endpoint with a fake payload: • Order marked as paid • Product ships or credits added • No money received • You find out during end-of-month reconciliation Paystack sends an X-Paystack-Signature header with every webhook. It is an HMAC-SHA512 hash of the raw request body using your secret key. If you are not: 1. Extracting that header 2. Hashing the raw body yourself 3. Comparing both before processing anything Then anyone can send you a fake "payment successful" event. This has happened to Nigerian startups. It is not theoretical. Verify every webhook. No exceptions.
18
42
9
269
17,903
Rachael Adeyemi retweeted
If you want deep research with sources, use Perplexity. If you want well organized explanations, use Gemini. If you want conversation and reasoning, use ChatGPT. If you want long form thinking and coding assistant, use Claude. If you want autonomous task execution, use Manus. If you want search driven answers, use Bing AI. If you want marketing focused writing, use Jasper. If you want fast blog and ad copy, use Writesonic. If you want writing inside your workspace, use Notion AI. If you want short form copy and ideas, use Copyai If you want design plus text generation, use Canva AI. If you want AI video editing and effects, use Runway. If you want high quality AI art, use Midjourney. If you want image generation from prompts, use DALL·E. If you want grammar and clarity fixes, use Grammarly. If you want coding help inside your editor, use Blackbox. If you want an AI pair programmer, use GitHub Copilot. If you want meeting summaries and highlights, use Fathom. If you want AI generated music, use Suno. If you want quick visuals and diagrams from ideas, use Napkin AI. If you want project planning with AI, use Taskade. If you want writing that adapts to your voice, use HyperWrite. If you want automatic video clipping for social media, use Vizard. If you want deep code reviews, use Qodo. If you want small focused productivity helpers, use Goblin Tools. Which did I miss?
7
7
1
46
3,233
Rachael Adeyemi retweeted
Which number did you start the year with, and which number do you wish to end the year with?
72
4
3
57
5,701
Rachael Adeyemi retweeted
Prisma + Zod 4 = automatic validation 🚀 Your TypeScript types don't exist at runtime. API requests aren’t validated. Form submissions aren’t either. Zod fixes that. Prisma Client extensions make it automatic. Every create, every update, validated.
17
33
9
426
26,969
Rachael Adeyemi retweeted
Level up your database performance with Prisma's powerful index configuration ⚡ Configure sort order, set custom names, and optimize your queries with just a few lines in your schema.
1
3
1
20
2,191
DevFest Lagos was honestly one for the books, and we’re still soaking in all the moments. But we’re not done. Hear from our partners at @Bitnob_official, @btrustteam and @alat_ng as they share what DevFest Lagos 2025 meant to them, the products they’re building, and why they joined us this year. And with #DevFestLagos 2026 already on the horizon, let’s build something even bigger together. Let’s partner. 💙✨
7
21
1,682
Rachael Adeyemi retweeted
🚀 Cohort 9 Applications Are Now Open! This isn’t just an internship, it’s a career accelerator for tech talents ready to level up. If you already have some experience in your field and a serious drive to grow, this is your chance to gain hands-on skills, mentorship,
1
1
4
249
Rachael Adeyemi retweeted
Most of your growth won’t come from tutorials. It’ll come from bugs you fix at 1am, projects you ship even when they feel small, and the confidence you build showing up daily.
17
29
2
258
9,361
Rachael Adeyemi retweeted
Calling all girl bosses! Share your business with us! What products do you offer? What services do you provide?
304
42
14
353
39,882