Its already 3 years I have been in the tech space it's been great, confusing full of bugs and errors, trying to be the best of both worlds,
My journey has been fun but sometimes frustrating 😫🧵
Thread 🧵
be honest with me
what's the thing you keep meaning to learn properly
but keep putting off because it's not immediately urgent
for me it was testing for way too long
and the day I finally sat down and learned it properly
I was annoyed at myself for waiting
what's yours
there was a moment early in my career
where I realized I was solving the same types of problems
faster than I used to
not because I was smarter
but because I'd seen enough variations of the problem
to recognize the pattern immediately
experience is just pattern recognition built from problems you've already survived
most developers checking for unused npm dependencies
are either doing it manually
or not doing it at all
Depcheck scans your project and tells you exactly which installed packages you're not actually using
one command
clean output
no configuration needed
the kind of codebase hygiene tool that takes two minutes to run
and immediately tells you things about your project you probably didn't know
the version of building in public I started with
was sharing finished things
the version that actually grew my network
was sharing things I was figuring out in real time
finished things get likes
unfinished honest things get conversations
and conversations are where opportunities actually come from
most developers building multi tenant SaaS applications
are either using complex row level security policies
or separate databases per tenant
neither of which is easy to implement correctly from scratch
Nile is a Postgres platform built specifically for multi tenant SaaS
tenant isolation, per tenant backups, tenant aware connection pooling
built into the database layer
not bolted on at the application layer
the infrastructure complexity that usually takes weeks to implement correctly
handled at the platform level
the React developers who understand the event loop
write significantly better async code
than the ones who know how to use async await
without understanding what's happening underneath
async await is syntax
the event loop is understanding
you can use the syntax without the understanding
but the bugs you produce will be the kind
that take three hours to debug
because you don't know what you're looking for
most developers working with AI APIs
are making raw fetch calls to the API
handling streaming manually
managing conversation history themselves
building retry logic from scratch
Vercel AI SDK abstracts all of that
streaming responses, tool calls, structured outputs, multi step agents
all handled with clean abstractions that work with any AI provider
not just OpenAI
the developers building AI features without it
are writing significantly more code for the same result
your app's empty state is a conversation
most products treat it like a design afterthought
the empty dashboard with no data
the inbox with no messages
the list with nothing in it
those states are the moments where new users decide
whether they understand how to get value from your product
or whether they leave and don't come back
design your empty states like they're the most important states
because for new users they are
the developers building things nobody asked them to build
on weekends and evenings
are not workaholics
they are people who found the thing
that doesn't feel like work when they're doing it
that is the luckiest thing that can happen to a career
and also entirely intentional if you go looking for it
one of the most expensive problems in product development
is the communication gap between people who build things
and people who decide what to build
developers speak in systems
founders and clients speak in outcomes
and the translation between those two languages
costs more time than most teams account for
the right tools close that gap dramatically
Excalidraw
free open source virtual whiteboard
produces hand drawn style diagrams that feel like sketches not specifications
which matters because sketchy diagrams invite feedback
polished diagrams make people afraid to suggest changes
for architecture discussions, user flow mapping, and early stage planning
the informal aesthetic is a feature not a limitation
https://t.co/ysXNH5v4ni has a feature most people miss
you can write code and it generates the diagram
describe a system architecture in text
and Eraser draws it
the reverse of what most diagram tools do
for developers who think in code
this is the fastest way to produce a diagram that communicates clearly
Whimsical for user flow mapping specifically
the flowchart tool built for product thinking
faster than Figma for flows
more structured than Excalidraw for complex processes
the sweet spot for mapping out how a product works
before deciding how to build it
Mermaid.js for diagrams in documentation
write diagrams as text in markdown
they render automatically in GitHub, Notion, and most documentation platforms
for developers maintaining technical documentation
diagrams that live next to the code
and update as easily as the code does
Tldraw for quick collaborative sketching
similar to Excalidraw but with more flexibility
the remote whiteboard that doesn't feel like a video call afterthought
the common thread is that these tools
remove the friction between having an idea in your head
and making it visible to someone else
that friction is where miscommunication lives
prefetching is one of those things
that feels like a small detail
and produces a disproportionately large improvement in perceived performance
when a user hovers over a link
you can start loading the next page before they click
by the time they click
the page is already loading
or already loaded
the experience feels instant
not because it is instant
but because you started before they asked
the founders who are most dangerous to compete with
are not the ones with the most funding
they are the ones closest to their customers
who update fastest based on what they hear
speed of learning beats size of budget
in the early stages of almost every market
most developers building eCommerce or marketplace products
are implementing search with basic database queries
or paying for an expensive search service
Typesense is an open source search engine
fast enough to return results in milliseconds
tolerant of typos by default
self hostable with no usage based pricing
the search experience that used to require Algolia's pricing
available for the cost of a VPS
the client feedback that comes in at 11pm on a Friday
is a test of character disguised as a notification
the answer is always the same
read it
acknowledge it
deal with it Monday
protect your weekend like it's part of your performance
because it is
the most powerful marketing tool most businesses have
is their existing customers
not their ad budget
not their content strategy
their existing customers
a referral from someone who already trusts you
lands differently than any ad you could write
and it costs you nothing except delivering an experience worth talking about
I've been thinking about the products I use every single day
versus the products I've tried and stopped using
and the difference is almost never about features
the products I stay in
are the products where my work lives
not where my work gets saved
where it gets done
there's a difference between a product you export from
and a product you work inside
export products get opened when you need to get something out
work products get opened first thing every day
the stickiest products are work products
and the thing that turns an export product into a work product
is almost always collaboration
when other people's work is also in the product
leaving becomes a team decision instead of a personal one
and team decisions are dramatically harder to make
Notion became indispensable for teams not when it got better features
but when teams started using it together
the individual user's value was moderate
the team user's value was enormous
because leaving meant losing the shared context
Figma became the design standard not because it was better than Sketch in every way
but because it was the first design tool that multiple people could be in simultaneously
the collaboration made it irreplaceable before the features did
the question for founders building products right now
is not what features should I build next
it is how do I make this the place where my users' work happens
not just the place where they come to get something
real time collaboration, shared workspaces, team features, multiplayer anything
these are not nice to have upgrades
they are retention infrastructure
the products building them are the ones users stay in
the products that don't build them
are the ones users eventually replace with one that does
the most underappreciated thing about server side rendering
is not the initial load performance
it's the SEO
a page that renders on the server sends complete HTML to search engine crawlers
a client side rendered page sends an empty shell
and asks the crawler to execute JavaScript to see the content
some crawlers do this well
some don't
and the rankings difference between those two approaches
on a content or product page that needs to be found
is not theoretical
the difference between a founder who raised money
and a founder who built a business
is not ambition
it is the decision about which milestone matters first
a business that generates revenue validates the idea
with money not with investor conviction
and money is more honest feedback than any pitch meeting
most developers building Next.js apps with complex routing
are managing breadcrumbs, active states, and
navigation logic manually
next-intl is well known for internationalization
but its routing layer is one of the cleanest solutions for managing complex navigation state in Next.js
type safe routing, middleware integration, locale aware paths
the combination most developers are building themselves
in a way that's less complete and harder to maintain