I help founders and businesses turn ideas into scalable digital products. Fullstack Developer focused on building efficient, reliable and user-centered web apps

Joined February 2020
318 Photos and videos
Congratulations @elonmusk for being the World's First Trillionaire πŸ”₯ You've been a motivation to me and a constant reminder that "if you can dream it, you can do it" Congratulations πŸ‘πŸ‘
Replying to @iam_smx
*trillioniare
1
7
I assisted a colleague in building a donation website for her Parish. 1. I designed the backend API with MD5-hashed idempotency keys combining session token, amount, and timestamp to prevent duplicate charges. 2. Integrated Paystack payment gateway with kobo conversion, debugged 500 β†’ 400 β†’ success in real time. 3. Added server-side payment verification so no one bypasses the thank-you page , saved donor records to datyabase after verified payments. 4. I Secured and gatekept all API endpoints Set up ngrok/localtunnel to test webhooks locally. 5. Configured Paystack webhook for reliable background payment confirmation. Built admin dashboard to view all donation records, events scheduling and making blog posts. Deployed to Vercel with proper Express routing via vercel.json for review before switching to real paystack integration. Stack: Node.js Β· Express Β· Paystack Β· Vercel
What I get to do today as an independent contractor: 1/4 Dashboard analytics got a full redesign performance scorecards, donut charts, highlights all aligned with Meta Graph API fields so live data plugs in seamlessly. 2/4 Polished the experience: demo data fallbacks, fixed mobile scroll, added TikTok brand icons, and cleaned up the Use Cases section. Small details, big UX wins. 3/4 Built an automated resource engine for super admin script pulls precise data from the web, processes it, and posts to the dashboard daily at a scheduled time. Zero manual effort. 4/4 Also shipped RSS automation: fetch β†’ extract (title, image, read time) β†’ post via admin API. Deduped by link, capped at 2/day, powered by Vercel cron. Tested end-to-end: create, skip duplicates, enforce limits all solid. What did you do today?
1
30
1,924
Rule of thumb : Cookies : notes for the browser Sessions : notes for the server with a key given to the browser .
Replying to @CyberRacheal
A session start when a user connects to a website and ends when the user leaves, cookies store user information so the user is not treated as a new visitor when visiting the site later
2
44
Spent today fixing a "notifications won't turn on" bug. It turned out to be 6 bugs stacked on top of each other . Every fix just uncovered the next error underneath. Here's the full dig πŸ‘‡ 1. Layer 1: the FCM token wouldn't even mint. 403 PERMISSION_DENIED: Requests from referer http://localhost:8888/ are blocked Firebase's API key had an HTTP-referrer restriction that silently blocked localhost. Added the referrer, moved on. 2. Layer 2: token mints fine now β†’ saves straight into a 500. The push_subscriptions table was missing a column the code assumed existed. Classic "schema drifted from the code" gap. 3. Layer 3: added the column β†’ another 500. there is no unique or exclusion constraint matching the ON CONFLICT specification The upsert needed a UNIQUE index on fcm_token to resolve ON CONFLICT. There wasn't one. Added it. 4. Layer 4: index added β†’ still 500. This was the real boss:violates foreign key constraints "push_subscriptions_user_id_fkey" A foreign key to auth.users was rejecting every single user trying to subscribe. 5. Why would a valid, logged-in user fail a foreign key? Because these are Clerk users, they don't exist in Supabase's auth.users table. They ride on a synthetic mapped UUID. The FK never stood a chance. Dropped it. 200 OK. Notifications finally saved. βœ… 6. Then two bonus bugs from the same root cause mismatched data shapes: Clerk vs GitHub auth returned different user objects, so names rendered blank on some pages β†’ a daily_activity view the UI queried had never been created (clean 404) 8. Added skeleton skins for each page loading states The lesson: The symptom ("can't enable notifications") had nothing to do with notifications. It was an auth-model mismatch wearing a generic error message as a disguise. Read the real error; the one in the network tab and the DB logs not the one the UI hands you. Half the battle was just refusing to trust the top-level error string and digging one layer deeper, six times in a row. visit math-mentor.netlify.app today πŸ”₯
This is what I get to do today on two projects as an independent contractor. Here’s what I shipped today: 1. Completed user checklist career goals system.
– Monthly auto-archiving with cron job
– External event links job email flow 2. In progress
– Auto welcome message from the company’s official account.
– Revenue flow for 1-on-1 sessions 3. Shipping smarter personalization & task flow
– Specializations for a specific user type & sessions (filtered matching)
– Admin task creation β†’ user updates flow
– Todo endpoint for:
‒ Uncompleted tasks
‒ Growth goals nearing deadline
‒ Pending assignment submissions Stacking systems. Improving flows. Shipping daily. What did you build today?
1
2
293
What I did today as well on MathMentor πŸ₯Ή 1. I fully integrated clerk auth (dev mode) redesigned the login page with a 'last used' feature 2. implemented a sync in the general database with clerk_users independent table via uuid instead of creating extra tables across all fields 3. I improved the UI and made it more mobile friendly, 4. improved the FCM logic, though push notifications got through but pop-up stopped showing,would fix that . 5. prepping for the flutter mobile app ,, I'm using this to build my dev skills and learn more
What I get to do today as an independent contractor: 1. Admin event create/delete auto-publish. 2. Job apply flow (email external link). 3. Explorer events registration links 4. Event detail UX improvements (clear CTAs, time formats, labels). 5. Meta API application & integration process. Full-stack product work, APIs, flows, and real user experiences. Building, shipping, repeating. πŸš€ What did you ship today?
1
10
568
Same energy over here πŸ‘€ Been deep in MathMentor today: 1. I Tried building the full auth flow which worked but kept running into a race condition with GitHub login, so switched to Clerk with GitHub Google OAuth while keeping anonymous accounts with recovery keys intact. Two auth systems, one clean flow. 2. Fought with FCM push notifications all week, streak reminders, re-engagement, admin broadcasts. Getting closer to bulletproof. 3. Tightened the AI solver on Python questions. Turns out telling an LLM "don't contradict yourself" 18 different ways still isn't enough πŸ˜… I haven't pushed the recent updates yet, still fixing some edge cases, but you can check the past update via math-mentor.netlify.app Different stack. Same obsession with getting it right.
What I get to do Today as an independent contractor: 1.Built and shipped admin event creation, opened up key user systems.(connections, job listings, preferences), and improved onboarding with notifications welcome flows. 2. Implemented structured user growth features, checklists, career goal tracking, and monthly archiving systems. 3. Pushed another product to near-completion, finalized core features, and documented all endpoints with clear, accurate responses. Different products. Same focus: clarity, scalability, and shipping things that actually work. Quiet progress. Real impact. What did you ship today? Quote thisπŸ™‚β€β†”οΈ
1
2
181
Skeleton is the better choice always, it gives the user a sense of belonging, what to expect,, the spinner just makes them eager for nothing especially on a very bad network. I hope I said it well
Skeleton vs spinner πŸ‘€ would you ship- A or B πŸ€”
20
401: You don't have the right details to go in , step back 403: ooh I know you, but still step back
Bet many devs don't know: 401 vs 403 Which one got you? πŸ‘‡
21
Emmanuel itighise retweeted
Bitget Stocks 2.0 is live, and we heard your voice. More stock tokens? When 24/7 trading? Now it's time to show us your wishlist and win a share of $2,000 USDT! Which U.S. stock ticker should come to Bitget Stocks 2.0 next? Repost comment your ticker and reason with #BitgetStocksUpgrade
422
445
603
138,332
Mr Bean was pure talent πŸ˜‚
How the rest of the orchestra kept a straight face I don’t know 🀣🀣
12
fact βœ…
Jun 4
During your life, you will meet a lot of people like Raj. It is important that you ignore them.
1
13
golang πŸ₯²
1
11
npm audit
I am a Vibe coder, scare me with one word.πŸ€”
9
I mean they could use GitHub codespace naming logic πŸ₯² you'd see things like funny-bug-finder, legendary-screaming-potato πŸ˜‚πŸ˜‚πŸ˜‚πŸ€£
I wonder if our children generation will have any username left to use.
1
9
791
β€œAfter getting what you manifested, ask for discipline to keep it and wisdom to multiply it.”
I’m in love with this sentence: β€œAfter getting what you manifested, ask for discipline to keep it and wisdom to multiply it.”
1
10
not really true as he said, yeah adopting AI makes you work over redundant tasks easily while focusing on other things, so at the end you work on more tasks , the goal is to focus on more important things while the AI works on problems or redundant tasks .. more creativity, more time to work on more tasks πŸ‘Œ
5
I don't have a MacBook and work station 😌
Techies what is that one thing that many techies own that you do not own? me: i don't have or own a generator.
1
14
A good decision requires good information derived from raw facts βœ…
🐧 Day 3/30 β€” #Linux Before managing files, installing software, or administering servers, you must know how to move around the Linux filesystem. Navigation is one of the most important Linux skills every developer should master. Navigating Linux – Essential Linux Commands for Directories and Paths Linux organizes everything in a hierarchical directory structure that starts from the root directory (/). The most essential navigation commands are: β†’ pwd β€” Print the current working directory β†’ ls β€” List files and directories β†’ cd β€” Change directory β†’ mkdir β€” Create a new directory β†’ rmdir β€” Remove an empty directory Examples: β†’ pwd Displays your current location in the filesystem. β†’ ls Shows files and folders in the current directory. β†’ cd Documents Moves into the Documents directory. β†’ cd .. Moves one level up. β†’ cd ~ Returns to your home directory. Understanding Linux Paths β†’ Absolute Path Starts from the root directory. Example: /home/user/Documents β†’ Relative Path Starts from your current directory. Example: Documents/project Why This Matters: β†’ Navigate the filesystem efficiently β†’ Access files quickly β†’ Manage projects from the terminal β†’ Build confidence using the command line β†’ Prepare for advanced Linux administration tasks Mastering navigation commands is the foundation of everything you'll do in Linux. 🐧 Grab the Linux Ebook: codewithdhanian.gumroad.com/…
11
βœ…
Minimize envy. Just because someone else wins doesn’t mean you lose.
8
A 10GB file shrinks to 2GB after zipping because compression algorithms eliminate redundancy and repeated patterns rather than deleting the actual data.
Interviewer: How does a 10GB file become 2GB after zipping? 10GB β†’ 2GB Where did the other 8GB go?
51