Interface with People and the World

I recently asked the question: how can I get more interesting ideas about my
project? Then I came up with this answer: find more ways to interface with the
world. Specifically, I think the easiest way is to download apps from the app
store and try to use them. I discover that these apps often enable me to
interface differently or do things slightly differently.

What I discovered is that looking at my day-to-day life, I am pretty fixed about
the ways I do things: I interface with people (there are a fixed number of social
media apps I use most often), and how I obtain new information (content
platforms, media). I would say often insights come when I find some new
experience to interface slightly differently.

This is why data mining and web development are among my top technology
list. They allow me to interface with data and people in the world. I think LLM
can potentially be even more powerful by allowing processing more data as an
individual.

Sell

Try to spend as much time selling as possible, especially if you are a technical
founder. At the beginning phase of a startup, I think the purpose of developing a
product is actually not to sell it but to teach me how to sell and understand
what's wrong with the product. The purpose of the product is purely
educational and hopefully allows me to learn from users' perspectives.

I keep telling myself that I should spend at least an equal amount of time and
effort on selling as I do on developing the product, and ideally more.

One recurring mistake I found myself making is that I spent way too much time
developing the product and way too little on selling. I often develop a product in
weeks and try to sell it in one day, only to find that no one signs up. Then, I think
the product is bad and go back to developing.

Agentic app

I recently tried to build an intelligent app to leverage LLM's increasing
intelligence. I found one of the key principle for writing an intelligent app is to
use LLM in the most flexible and dynamic way possible.

The idea is simple: to maximize the utilization of intelligence, instead of trying to
think about how to control the behavior of LLM, think about how to not get in
the way of LLM. The loose structure is almost always more intelligent than
a tighter structure because loose structure makes less assumptions about
what users' requests will be.

The more explicit rules we put on LLM, the more deterministic the behavior of
the LLM becomes, and the less intelligent it becomes. The same principle was
also used in LLM training: "just try to get out of the model's way, the model just
wants to learn." In some sense, our explicit direction and bias become the
barrier for models to reach their full potential.

This is also from the bitter lesson: focus on the most general aspect. The right
approach for training LLM is not to teach LLM explicitly, but to set up a
trajectory for LLM to succeed.

Somehow, traditionally when we program SaaS products, the user experience
was very well defined. But in intelligent apps, it's the opposite; the app's
behavior is completely non-deterministic. We need to align the results agent
delivers at the end.

Surfing the wave of technology

I think the core of business is about users, and specifically providing users what
they want.

One of my earliest mistakes was overtly focusing on technology and less on the
core of business. However, recently my mistake was overtly focusing on
the business ideas and less on understanding the technology.

I think both are important. Ideally, I want the roadmap of business development
to align with the trajectory of technology development. This is what I think surfing
the wave of technology means.

A simple example is that we know predictably that LLMs will get smarter, more
agentic, and cheaper. So it would be nice if my business logic relies on this
technology assumption, i.e., my business will get better as this technology
trajectory furthers.

I think technology fundamentally enables new and much better ways to do
business and serve customers. And this is why new companies and small
players emerge all the time in the tech space.

Great product experience wins

I often like to remind myself the importance of product experience. For me, one
great example recently is Kindle Word-Wise. Word-Wise is essentially showing a
short 4-6 words vocabulary definition above a word for difficult words. The
definition is based on context and very concise. This is extremely helpful for a
non-native speaker like myself who wants to get a better hold of what author
is saying.

I used to pirate books from the internet and send them to Kindle. It was cheap
and essentially the same as buying an original book. However, after Word-Wise,
it completely changed my behavior: I started buying original books and would
spend on average $100 per month on books (5 books per month, $20 on
average per book).

I am guessing that underlying this feature is technology like LLM, which
identifies definitions based on context and gives a very concise version of that
definition. This way of leveraging technology into a product delivers beautiful user
experience and is economically viable.

This taught me that improvement on end-to-end product experience makes a
HUGE difference on customers.

A company is an engine for innovation

I learned from Apple and NVIDIA that these companies are the sum of a group
of people, which together serve to innovate.

I think in the future, with super intelligence, there can exist one or multiple
paradigms of collaboration between human to human, human to machine, and
machine to machine. I am curious and puzzled by this question: which paradigm
is economically best for innovation?

At least, I am hopeful that the paradigm that wins out is the one where humans
and machines collaborate to drive innovation forward.

I think it's very likely that everyone, with super intelligence, will be able to create
more with this technology. Fundamentally, the goal of a company is to innovate
to serve humanity better.

The reason humans will be in the loop of innovation in a company is because
creating and building is almost an infinite pie, where everyone builds on top of
each other rather than one person building something that would take away an
opportunity for others to build. In this case, super intelligence will create some
very awesome companies. And so will the combination of humans and machines.

What machines can and will solve, I think, is the fundamental math, science, and
physics. But I think this will enable more opportunities to build more meaningful
things.

Jevon’s paradox

when efficiency goes up, consumption also goes up. In other words,
when something gets better, easier, more efficient, demand goes up.

Why does this matter? Because it explains why technology enables
better products that don’t just serve existing demand better but
also radically induce more demand.

My favorite example is TikTok. Among many other things, TikTok
improved the distribution efficiency of contents. This resulted in
increased demand and consumption of content and, as a result,
more creators and suppliers of content.

Intelligent Apps

RL is the answer to agentic flow: OpenAI's recent deep search shows this. For
developers, product dev will be less about details of implementation but more
on high-level alignment on result.

The future product dev will be the following: developer / user specifies what he
wants, agent spends available compute to execute this and deliver result. The
result is a product much more agile and flexible. User can achieve much more
with the product than the developer even intended or expected.

Today's product dev and agentic flow still focuses on controllability and cost reduction.
But over time, the cost of compute will drop, and because developer's time is more
expensive, development will increasingly rely on smart agents to figure out
action.

Launch ASAP

The best metrics for how fast product is improving is how long it takes from dev
to launch.

Launching ASAP is one of those things extremely easy to say by everyone but
rarely done. The reason is because we developers most times feel embarrassed
and not willing to launch 'imperfect' product, and get rejection from users.

Whereas in reality, even rejection from users is very useful. And it's much better
to get rejection ASAP.

Launching early forces us and users to focus on what problem the product
actually solve. Otherwise it's easy to get into the trap of wishful thinking of a
much more complicated product that doesn't actually solve any problem.

If the product solve any problem at all, real users will tolerate using it.

Focus on what people want

The key of business is creating or providing what people want (and are able and
willing to pay for).

Ideally, people don't know how to get it themselves and thus have to rely on us
making it for them.