Some things about me:
-
I build mostly with TypeScript, React, Next.js, Node.js,
PostgreSQL, and whatever else the problem needs.
-
I have worked across frontend, backend, integrations, billing,
observability, and AI product systems.
-
I like being close to the product decision, not only the
implementation ticket.
-
I care about product clarity, debugging discipline, boring
infrastructure, and interfaces that do not make the user feel
stupid.
A few opinions I'd defend at a bar:
-
Requirements are answers. Find the question first.
-
A requirement is usually someone else's solution.
-
Treating the ask as final is how you build the wrong thing precisely.
-
If you cannot explain the trade-off, the decision is not made yet.
-
"Best practice" is not an argument.
-
If nothing got worse, you probably avoided the decision.
-
Good architecture chooses the compromise on purpose.
-
Simple is a result, not a starting point.
-
Moving work out of sight is not removing it.
-
A process can look cleaner from the desk and feel worse at the
door.
-
Simplicity is measured across the whole loop.
-
If you are not measuring, you are guessing.
-
Taste without feedback decays into preference.
-
Reality is a better reviewer than consensus.
-
If the system cannot explain what happened, it is not done.
-
AI products still have to be products.
-
Good automation removes work instead of adding a new ritual.
-
Models are capabilities, not products.
-
A smart model can still be useless in a workflow.
-
Taste is a technical advantage.
-
It helps you delete earlier.
-
It makes the useful path obvious.
-
Taste is saying no before the user has to.
-
Shipping fast is not about typing fast.
-
You learn more per unit time.
-
Reality gets a vote sooner.
Some work I keep around:
-
Planify:
household finance app with expense splitting, fixed expenses, and
an analytical dashboard.
-
Vertice:
a Brazilian credit card recommender that ranks cards by projected
12-month net return for a spending and investment profile.
-
cc-cockpit:
a local cockpit for keeping AI coding work visible and easier to
steer.
-
Scribe:
tooling for turning rough context into more durable written
artifacts.