Lee Robinson Profile picture
Aug 26 2 tweets 1 min read Read on X
Grok Code is now available in Cursor! It's free for one week.

It's fast and has competitive pricing ($0.2/1M input, $1.5/1M output) Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Lee Robinson

Lee Robinson Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @leerob

May 21
So I gave the same task to Codex, Jules, and Devin

Let's see what these AI Agents are all about...

Do they actually work?
Here was the prompt:

"Migrate the site from Next.js pages router to app router. In the process, update all dependencies to the latest versions. Ensure all checks pass, including compilation, linting, and a successful `next build`"

I specifically picked an old, outdated repo.
Let's start with OpenAI Codex:

+ Objectively the best looking UI
+ I really like the git diff viewer
+ Having a mobile app (especially with live activities) is sick

At first glance, code seems mostly okay. Nothing obviously wrong. However, there's no network access? That feels like a massive hole.

You can't update dependencies, which means that I can't run a build on the PR to validate that things work. This is pretty limiting. Anyways, made a PR: github.com/vercel/hyper-s…

I noticed that it only migrated one page, so I asked in the Codex chat UI to do the rest. That took 9 minutes. But... it didn't push it to the PR I made? It made me create an entirely new PR: github.com/vercel/hyper-s…

To summarize cons:

- No network access (big blocker)
- There's no two-way sync with GitHub
- Not a bad start but feels earlyImage
Read 6 tweets
Dec 19, 2024
AI-native UX

What do apps look like when you design AI first?

Starting a thread to collect some examples I've found.
Read 13 tweets
Aug 24, 2024
So, you want to load a cat photo (i.e. the majority of the web).

This image is a high quality .jpg — 3.9mb and 3024 × 4032.

Look, I love my cat (and she thinks she's a wizard), but this is too large.

Here's how Next.js can help. A photo of my siamese cat, Fiona, sitting on a broom.
Let's start by bringing in `next/image`.

It's a small abstraction over the `<img>` tag. It's going to help us handle making the page load fast and without visual jank.

<Image src="/cat.jpg" width={3024} height={4032} />

But hmm, this doesn't look right. The photo of my cat is taking up the entire browser height and width, but it's cut off at the bottom. The cat photo is too large.
I'm getting an error in my editor because I didn't add an `alt` tag.

The `<Image>` component tries to help make the web more accessible, so adding an alt tag is required.

While it's great the image loads without layout shift, the image is way too large. Let's fix that.
Read 18 tweets
Dec 18, 2023
You have a `Request` – how do you get the visitor geolocation?

Just wrote new docs for @nextjs and wanted to share some of the interesting bits ↓
The `headers()` function allows you to read from the incoming request. For example, here we're pulling `x-forwarded-for` (or `x-real-ip`) in a function. Example code snippet reading the headers function to get the x-forwarded-for value.
The `getIp` function can then be used in any Server Component. But we want the location, not the raw IP!

P.S. in the future with Partial Prerendering, you can use Suspense to wrap the dynamic component, allowing the rest of the page to still be prerendered. Code example of using a suspense boundary to wrap an IP component, which consumes the getIp() function to show the x-forwarded-for header.
Read 7 tweets
Feb 9, 2023
2023 State of Databases for Serverless & Edge

An overview of 30+ solutions and emerging trends ↓
I'll focus primarily on transactional workloads in this thread.

Tools that pair well with serverless and edge compute – and tools that are designed to integrate with JavaScript and TypeScript codebases.

Okay, let's begin!
A new programming model is emerging. Developers want to:

◆ Abstract manual connection management
◆ Learn once and write everywhere with Web APIs
◆ Use tools that enable type-safe access to data

Complexity is shifting to be managed by the database vendor.
Read 8 tweets
Jan 29, 2023
Next.js is a free open-source framework. The creators, Vercel, fund its development.

How is this possible? Why would they give it away for free? Let's talk about funding open-source software (OSS).
2023 will be the year of hyper rationalization for how OSS is funded.

More companies are going to need to sponsor maintainers, and engineers need to do better due diligence for how projects are maintained and funded.
Behind many successful OSS projects, there's a successful business or crowdsourced funding.

In the case of Next.js, Vercel is subsidizing R&D by building a platform for developers to iterate and deploy their Next.js site.

But why?
Read 10 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(