krishnasinghdev's profile picture. Full-stack dev from India | Next.js, TypeScript, PostgreSQL, MERN | Building fast web apps | Open to remote gigs  🌱

Krishna Singh

@krishnasinghdev

Full-stack dev from India | Next.js, TypeScript, PostgreSQL, MERN | Building fast web apps | Open to remote gigs 🌱

Hey @grishka11, thanks for NearDrop bridging the Android-Mac gap! 🙌 It works seamlessly for quick file sharing. I've been using it for a while; everyone should check it out and support it on @github. @GithubProjects

Released a new version of NearDrop that adds support for sending files using QR codes. github.com/grishka/NearDr…



#Monorepo or separate repos for different services in a microservices architecture?


Fixed a tricky @typescript issue in our codebase today. We were using 'any' types in several places, which defeated the purpose of using TS. Replaced them with proper type definitions and caught 6 actual bugs in the process. - Type safety isn't just for show - it catches…


The most important skill for a developer isn't coding - it's #communication. - I've seen brilliant coders fail because they couldn't explain their ideas, and I've seen average coders succeed because they could collaborate effectively. - Writing clear comments, documentation,…


Sunday thought: Code comments should explain WHY, not WHAT. Bad comment: // Increment the counter counter++; Good comment: // Must increment before validation due to legacy API requirements counter++; The code already shows what you're doing. Comments should explain the…


The 'return early' pattern has made my functions so much cleaner: - Reduces nesting and makes edge cases obvious. - It's a simple change that makes code much more readable. Do you prefer early returns or other patterns?

krishnasinghdev's tweet image. The 'return early'  pattern has made my functions so much cleaner:

- Reduces nesting and makes edge cases obvious.
- It's a simple change that makes code much more readable.

Do you prefer early returns or other patterns?

A @React performance tip I wish I'd known earlier: Use the React DevTools Profiler tab to find components that re-render too often. - It shows which components were rendered and why, with timing info. - I found that a deeply nested component was causing our entire app to…


Local storage vs. cookies vs. session storage - when to use each: 🍪 Cookies: When you need data on both client & server or need to set expiration policies 📦 Local Storage: For larger client-only data that should persist between sessions ⏱️ Session Storage: For temporary data…


#React state management in 2025: I've gone full circle. - Started with plain useState - Then moved to Redux | Zustand for everything - Then tried Context API + useReducer - Then tried various libraries - Now? Back to useState for most components Global state is overused. Most…


The most important thing I've learned about web performance: Measure first, optimize second. So many times I've guessed what made a page slow, only to discover I was optimizing the wrong thing. Lighthouse in Chrome DevTools gives you a breakdown of what's actually slowing…


#JavaScript Array methods I use almost every day: - map(): Transform items - filter(): Keep only certain items - reduce(): Combine items into a result - find(): Get the first match - some(): Check if any match - every(): Check if all match These let you write clear, functional…


Browser #DevTools feature I wish I'd known years ago: - You can edit and re-run any request in the Network tab. - Right click → Edit and Resend lets you modify headers, body, etc. and see how the API responds. - Perfect for testing different params without writing code or…


Here's a @React problem I see all the time: re-renders caused by new object references in props. This component re-renders on EVERY parent render: Or use useMemo() if the object needs to be dynamic. Small change, big performance win.

krishnasinghdev's tweet image. Here's a @React problem I see all the time: re-renders caused by new object references in props.

This component re-renders on EVERY parent render:

Or use useMemo() if the object needs to be dynamic. Small change, big performance win.

I've been asked a few times about #JavaScript closures lately. Here's my simplest explanation: A closure is just a function that remembers the variables around it, even when that function runs elsewhere. The inner function 'closes over' and remembers the count. That's it!…

krishnasinghdev's tweet image. I've been asked a few times about #JavaScript closures lately. Here's my simplest explanation:

A closure is just a function that remembers the variables around it, even when that function runs elsewhere.

The inner function 'closes over' and remembers the count. That's it!…

I've noticed a lot of #devs struggling with JavaScript Promises lately. Here's how I think about them: What Promise patterns do you use most often?

krishnasinghdev's tweet image. I've noticed a lot of #devs struggling with JavaScript Promises lately.
Here's how I think about them:

What Promise patterns do you use most often?

health fuels work, relationships fuel motivation


The Progressive Loading Pattern - Better UX Benefits: 1. Smooth loading experience 2. Better perceived performance 3. No UI blocking 4. Great for large lists #follow for more fun insights! 🌱

krishnasinghdev's tweet image. The Progressive Loading Pattern - Better UX

Benefits:
1. Smooth loading experience
2. Better perceived performance
3. No UI blocking
4. Great for large lists

#follow for more fun insights! 🌱

The Selector Pattern - Efficient State Access Why it's efficient: 1. Memoized selections 2. Prevents unnecessary updates 3. Better performance 4. Clean state access #follow for more fun insights! 🌱

krishnasinghdev's tweet image. The Selector Pattern - Efficient State Access

Why it's efficient:
1. Memoized selections
2. Prevents unnecessary updates
3. Better performance
4. Clean state access

#follow for more fun insights! 🌱

The Middleware Pattern - Extensible Operations Benefits: 1. Extensible pipeline 2. Pluggable operations 3. Clean composition 4. Easy to test #follow for more fun insights! 🌱

krishnasinghdev's tweet image. The Middleware Pattern - Extensible Operations

Benefits:
1. Extensible pipeline
2. Pluggable operations
3. Clean composition
4. Easy to test

#follow for more fun insights! 🌱

The Event Source Pattern - Track State Changes Why it's amazing: 1. Complete audit trail 2. Time travel debugging 3. Event replay capability 4. Perfect for complex state #follow for more fun insights! 🌱

krishnasinghdev's tweet image. The Event Source Pattern - Track State Changes

Why it's amazing:
1. Complete audit trail
2. Time travel debugging
3. Event replay capability
4. Perfect for complex state

#follow for more fun insights! 🌱

United States เทรนด์

Loading...

Something went wrong.


Something went wrong.