Skip to content

· 4 min read

Doing Code Review to Claude

Also on Medium

For some reason, I don’t wanna say I vibe coded an app, which I DIDN’T
Let’s say that i had my idea and POC coded (kinda) and i wanted to start using Claude in a better way, i wanted to start building stuff for me, for my own usage.

I did wanted to exercise the usage of Claude dev app like I’m using Cursor at my job, therefore i started my little thing with it, i guess right now I’m just looking for an excuse for stop paying Claude and switch to either Cursor for personal usage or Codex, i will write another blog post critizacing Claude UX experience, which i find hideous, but, their models are good i’ll give them that.

Looking for a webapp idea that combine both AI in a scalable way, that actually felt worthy of adding, Nextjs, external APIs and much more, i had this “idea” that of course is not an original one, i started building a job hunter.

Job market right now is looking like Drake Maye Super bowl game last season (ouch),

Linkedin is flooded with AI posts, X is X and in general job posts are hard to find nowadays, therefore, why not build a simple app which uses public APIs (wework remontly, himalayas, others), creates a pipeline, use Antropic API with my profile and from that pipeline, it selects the jobs that matches my skills, preferences and so on, but let’s not stop there, it can also help me tailor my cover letter, CV, and also, track the progress of the application.

Of course not everything on that process is AI hands-on, for example, reaching out to the recruiter is on my end, or, moving the application to the proper status (which probably will be ghosted lol).

So yes, I find it as a good mid-size project on which i can play with it, see more and more of Claude capabilities, not to use it as a real job hunter, but good as a POC at the end of the day.

Well, i started working with Claude on this, Sonnet 5 and let’s get rolling with it.

After multiple PRs, deploying, hosting with Vercel and token resets, bugs etc i think we landed in a pretty decent MVP, which i was very happy about, at the end, we worked it out. I even told Claude to use PostHog design as a reference since i love that 90's windows nostalgia that PostHog uses.

But the reason why i’m writing this post is because, i one of the PRs Claude did, while reviewing it, i said “this code is s***”.

I’m still the same guy that years ago, wrote this blog post , so you know me, im picky af about the code.

Currently at my company, i give extensive code reviews, i honestly deeply care about the state of the codebase, even if AI will be the main one coding on it, i don’t care, code is code and it needs to be well written but most importantly, it needs to make sense.

i stumbled across code like this

Yea, it is trying to add a “S” at the of “application” if total is greater than 1.

Again, i know what you are thinking “Jesus, are you being serious?”

Hell yea i am, Claude could’ve created a function that pluralizes any word, and take it outside of the JSX and not use that hideus inline rendering.

There are other way more important cases, for example, see over here

Oh yea, i can see a lot that we can refactor

  • Query state logic being manually managed.
  • fetching logic being used directly on the onSubmit instead of using an API utility function for a cleaner “fetchApplication” function.
  • Multiple useStates, instead of using useReducer or a single consilidated state const [formData, setFormData] = useState(…).

And there are others like Inputs lack standard accessibility and browser auto-fill attributes like required, autoComplete, and aria-invalid .

But honestly, the ones that caught my attention more are on the API utility and useStates, i believe any senior DEV will consider these good patterns, so why don’t Claude agents consider it?, is the pattern just to write as fast as it can? and consume the most amount of tokens on doing so?

The codebase is flooded of cases like these, which drives me to the conclusion: Yes, ma guy can code, but at what scale? Unless I spent an enomours time adding skills to it, rules and multiple .md files explaining how i want it to code, his code probably will be a spaghetti or an unpatterned code.

Planning is the key to all of it, last year, my team completed a BIG consolidation of stacks and codebases which took us in total, 10 months of work. We started in August 2024, the first 2–3 months we spent on planning, planning every single detail, the patterns, the folder structure, the libraries, the naming variables and so on.

That codebase is complex but simple at the same time, it can be read like a book, and that’s because of it’s foundations. This webapp I made, i will probably discard it, I won’t be using it all the time, so not much to discuss, but, how many systems right now are out there that are being used by people that had 0 review on foundations and it was almost 100% coded via AI? I think that’s kinda of a ticking bomb, so it’s better to have engineers to help the AI refactor and guide it accordingly, which again, I think AI with the proper amount of time and collaboration, it’s HUGE advantage, after the cellphone the biggest invention of our timeline.

Hopefully you guys liked this one!, I’m back at the rodeo of writing, i want to connect with this again :)

PS: this blog post was fully written by a me, a human, AI was used to review grammar since English is not my primary language 👉🏼👈🏼