End of 6/90 or maybe it's 7/90-day challenge already.
The midnight has passed.
Published the first chapter of my graphic novel on my website.
Excited, would love to know your thoughts.
Nobody says this out loud, but AI is changing my life.
It’s Day 4 of my 90-day challenge, and last night I was up till 2AM.
Creating my first graphic novel.
In the past few days, we’ve generated 500+ dreamy portraits with friends & family.
Now we’re going public.
Use code first50 for early access 👉 dreamyfilter .com/?promo=first50
That’s why @rofldoodledo and I built dreamyfilter .com
Not to make masterpieces.
But to give people a glimpse of what could be—
Soft, sweet, a little uncanny.
Just enough to make someone want to create for real.
After advising 50+ consumer companies over the last year, the one thing that separates those who can execute and those who can't:
Having a full-time designer in the room at all times
I've met with countless companies that have raised millions—and even one that has raised billions—that do not even have a designer on payroll.
This makes product development broken:
1/ You simply cannot have constructive conversations about ideas without visualizing them in real-time
2/ Your experiments will frequently have inconclusive results because users cannot discover features or they misunderstand how they work
3/ There is no one who can galvanize the team with a vision of what the product could look and feel like
And to be abundantly clear: I'm not referring to visual UI or graphics. I'm talking about someone who can think through the fundamental building blocks of product comprehension—like navigation, interaction and copywriting—and is technically savvy enough to visualize those components in high resolution.
There can certainly be exceptions to not having a designer, like where the CEO is an exceptional visual thinker, but that does not scale beyond a small team.
At the end of day, products live and die in the pixels: it's what the users see and tap. And without someone shepherding that process, you are effectively wandering the desert blind.
When I was CEOing at Twitch one of the thing I’d do every batch of interns was a very short presentation on the origins of the company and then a Q&A. One of the questions was always, “Where should I work and what job should I get, or should I start a company?”
Hi folks - the team at Swish (10 minute food delivery app) is hiring for a few roles in BLR:
1x Backend Eng (Typescript, Golang, Redis, PostgreSQL)
1x Frontend Eng (React / React Native)
1x Product Designer
1x Graphics Designer
Note:
(a) Location: BLR
(b) Work exp: 1-2 or more YOE
(c) Pretty much a "founding team" journey at this stage.
Founders are good people + dedicated to making the biz a success (they did deliveries + cooked food themselves for over a month to figure out Ops)
More details + link to apply ⤵️
@chinmay185 It's mainly because of Microsoft's enterprise suite bundling and the substantial credit pack they offer. We ourselves are planning to transition to it for the same reason
I ended my time at @Meta as a director.
But I started as an engineer on FB Chat.
Everything about it was broken — we had to rewrite it.
And while the effort to fix it is one the projects that led to @reactjs, the most important fix was far simpler...
Here’s the full story:
—
I worked on Facebook Chat for several years, both on the front end and the infrastructure.
Before the major effort to redo the UI, FB Chat was super broken and we had no idea why.
We got tons of bug reports about Chat being broken every day, but we noticed an odd pattern in the data: the volume of reports didn’t match the volume of usage. It was time-shifted from the peaks we’d see in the US.
We didn’t know what was wrong, but we knew the code was a mess.
We set about rewriting both the front-end and the back-end in an effort to fix it.
The front-end rewrite pulled in a whole team of amazing engineers and became one of the big threads that led to @reactjs
In the public eye, we portrayed this project as the one that ultimately fixed Chat.
And the way I’ve usually told it, fixing Facebook Chat and the birth of React are the same story.
But no framework was going to fix the worst problem with Chat.
—
During the time we were working on the Chat rewrite, we were also replacing the original Erlang backend with one written in C++.
This was probably a good move, but the problem wasn’t with Erlang either.
Our initial spec for the new backend didn’t say much about observability, but it was an important feature, and the rewrite forced us to rebuild it.
Little did we know this would lead us to the root cause of our problems…
When we finally gained insight into our deliverability data, we were able to cut it by region.
We noticed Chat was really popular in India. This was before WhatsApp, at a time when SMS wasn’t reliable.
Eventually we pinpointed a region in India where one specific DNS provider was giving out the wrong IP addresses for our Chat servers.
So when people went to use Chat, they would sometimes get a notification that they had a message, and then it would disappear.
Or they’d send a message and it would get lost. All because they were connecting to the wrong IP address.
That was it!
None of the sexy new tech we were working on was going to solve that problem.
Ever.
—
Instead, the solution was to build observability that allowed us to track end-to-end message delivery.
In the end, we could start with a broad cut of our data by country or web browser, and then zoom all the way in to look at what happened to a specific message for a specific user.
Once we pinpointed that the problem was with a DNS server, the matter was resolved with a quick phone call. I don’t know what they did, but I imagine it was something like turning it off and turning it on again.
We sometimes talk about observability as if it’s enough to buy a product like Datadog and just look at the pretty graphs.
Sure, that’s a start.
But true observability is a feature that needs to be built— painstakingly, iteratively, by-definition starting with a shot in the dark.
—
These days, it has become fashionable to poo-poo the idea of being data-driven.
People point out that measurement can distort the phenomenon that is being observed.
They want to make processes “data-informed.”
But this seems like silly backlash against the only rigorous standard in all of software engineering:
That we hold ourselves to an objective standard.
We measure how long things take, how many errors we encounter, how often a process successfully runs to completion.
So here’s what this experience taught me about observability:
When an issue happens in production, time-box the investigation.
Sure, take a few hours to try and figure it out by looking in the logs and inspecting the code.
But if you’re coming to the end of the day and you still don’t have a fix, then push a PR that adds logging.
The first one may be just a guess, but it will begin a process that leads to the truth.
And that is what we should all ultimately be striving for.
—
For more engineering tips and stories, follow me @dmwlff
9 weeks ago on the 16th October this photo landed in my messages of a street dog carrying a huge tumor at the end of his life.
Nobody could have predicted Shaq would have a Christmas Day like today… (1/5) 🧵
Navigating "corporate speak" isn't easy.
Here's a helpful guide I put together:
"Let me check with my team" = No
"Possibly" = No
"On my roadmap" = Not happening
"This will be done in Q4" = This will be done in Q2 next year
"Disagree and commit" = I hate you
"Per my last email" = Try reading, for once in your life
"Challenging landscape" = We're going out of business, quickly
"Digital transformation" = We're going out of business, slowly
"Let's circle back" = We'll never speak of this again
"Take it offline" = We'll never speak of this again
"30,000 foot view" = I don't know what I'm saying
"Low hanging fruit" = Easy promotion
"Open up the kimono" = HR violation
"We use AI" = We don't use AI
"We use machine learning" = We don't use machine learning
"All hands on deck" = Let's actually try for once, please
In 2008, Google Maps launched in India.
But we quickly ran into a problem:
Nobody used street names.
And street names were the foundation of Google Maps.
The team had to make some big adaptations.
15 years later, the changes have stood the test of time.
Here's how the team came up with creative solutions to adapt Google Maps to work in India:
–––
When Google Maps launched in India, turn by turn directions were unusable.
Because there were no road names, directions looked like this:
This was before real time, accurate GPS in phones had become mainstream.
In short, directions were pretty much useless in India.
–––
We could have left the product as it was.
We could have assumed it was good enough, would get better over time, or that eventually people would adapt.
But India was a massive potential market and we wanted the product to thrive.
The solution wasn’t just a case of acquiring and cataloging street names.
Many streets either didn’t have names, had multiple names, or weren’t known by their official names.
So we had to find an alternative.
We already knew that many communities around the world relied on landmarks (rather than street names) for navigating.
e.g. “Turn left at the park, head towards the water”
We knew this was also true in India.
But we had to confirm landmark based navigation would work.
And if it did, how we could make it work.
–––
So we dove in.
We started to explore how Google Maps could work if it oriented around landmarks.
But we needed to understand 2 key questions:
1. How did people use landmarks to navigate in India?
2. What types of landmarks were good for navigating?
This is where user research came in.
At the time, Google had robust support for user research.
There were research labs on campus with eye tracking technology and one-way mirrors.
There was a team dedicated to recruiting research participants.
But in this case, my friend and researcher extraordinaire, Olga (@okhroust) simply focused on how she could best answer these key questions.
She put together a creative and scrappy research plan.
And then she and Janet, the designer, hopped on a plane to India.
–––
What followed was nimble, on the ground field research to understand, first-hand, the answers to these questions.
They creatively explored various approaches including:
• Calling businesses and asking them for directions to their stores
• Asking people to draw diagrams of routes to familiar places
• Following people around as they navigated unfamiliar places
• Recruiting people to keep track of directions they gave or received + later interviewing them on their experiences
• Sharing early designs of landmark based directions and asking for feedback
Rather than relying on sophisticated technologies or being bounded by formal research methods, they creatively tried several different tactics to understand how locals navigated their way through India.
Olga and Janet found that people used landmarks to navigate in a few key ways:
• Orientation: “Head towards the water”
• Description of a turn: “Turn just past the Big Bazaar”
• Confirmation of the right path: “You'll see a petrol station on the right”
• Error correction: “If you get to the roundabout, you've gone too far”
Landmarks that were used for navigating included parks, monuments, shopping centers, notable buildings, stores, petrol stations, roundabouts, etc — basically anything that anyone would notice while on the road.
And so the team reworked turn-by-turn street directions to include navigational landmarks to help orient people, signal turns, confirm direction, and error correct.
The team worked through several iterations before landing on a final solution that emphasized landmarks, but also subtly included road names (when available):
–––
The research drove the product changes that helped transform Google Maps into the dominant navigational product for India.
A lot has changed in the last 15 years with the pervasiveness of location-enabled mobile phones, cheap mobile data, and generally how locals navigate in India.
But the use of landmarks to help people navigate through India has stood the test of time.
–––
What I love about this story and my 2 biggest takeaways are:
1. Research is a critical tool for ensuring you’re building a good product
2. Research can be as simple as just talking to people to answer your questions
tl;dr: If you are looking for answers, go talk to people.
For more on design + tips for early stage founders, follow @elizlaraki