Chpmoreno

Programming with AI after a year without a computer

Lessons learned from using "the new AI" for just over a month

Programming with AI after a year without a computer
chpmoreno

When we started El Viaje, Daisy and I had one thing clear: we didn't want to be slaves to technology while living new adventures and exploring new worlds. That's why we decided not to bring a laptop (and I closed my Instagram). Instead, we brought an iPad with a keyboard which, in addition to managing our daily tasks, allowed us to draw, read, and watch series every now and then.

It was definitely a good decision, as we never missed the extra weight that a laptop represents. And even without that extra weight, I was able to create an initial deck for my startup and use some artificial intelligence (AI) through Gemini, ChatGPT, and Claude. I was even able to program something small with firebase studio.

In this context, I remained on the sidelines of AI for almost a year. Although I listened to podcasts to stay updated on the status of this new paradigm, and occasionally chatted with an AI to ask for recommendations or information about the places we visited, I didn't actually use any modern tools until a month ago.

I bought a Mac Mini in the United States to "stay ahead of the curve," and when I returned to Spain, I started getting up to speed. The first thing I did was install Antigravity, VS Code, and Claude Code. Immediately after, I started creating a website in React, a backend in Python with FastAPI, and a platform in Flutter for a project related to El Viaje, which you'll hear more about soon (though some things can be gathered from this post). I did this with each AI tool through vibecoding.

Vibecoding is (for me) giving instructions through the chat interface until you're satisfied with the final result. While vibecoding, I started to understand part of what AI does nowadays when it comes to programming. The first lesson was that AI asks before acting and constantly seeks feedback. The second was that it plans and follows steps with more structure. The third was that the better the context, the better the result. The fourth was that it no longer just gives you isolated scripts or autocompletes code; it sets up the entire framework, structures your project, and executes code. The fifth: you have to talk quite a bit to get something you like.

I learned these lessons through several providers and their programming plans and tools: 1) Google with its AI Pro plan and Antigravity, 2) Microsoft and the free version of Copilot in VS Code, 3) Anthropic with the Pro version using Claude Code, and 4) OpenAI with its Plus plan and Codex.

The initial prompt was as follows:

  I want to learn how to use AI. I haven't programmed in 1 year because I was traveling with my wife through Asia (9.5 months), the US (10 days), and Colombia (1.5 months). I've been reading and listening to podcasts about the evolution of AI, especially for coding and programming. I used to program in Python and I'm familiar with frameworks like React and Flutter. I am an economist and data scientist with experience in software development. I'm interested in using AI for programming. I'm planning to start a startup as the solo developer, so I really need to start learning to use AI as soon as possible. Plan out a way for me to learn how to use it. Before I start learning AI with my startup idea, I have a side project I want to work on to learn AI. The side project is creating a sort of book about the trip. I was thinking of a website where I can have a blog (for marketing) to sell the book + some resources like our budget file and book sessions with people interested in taking a similar trip. I want to learn through this project. I'd love to have a landing page (React) for marketing and the blog, plus a platform (Flutter) for the book, resources, and photos. The backend should be built in Python. I really like best practices like test-driven development, clean code, and hexagonal architecture. I like working with Python and TypeScript, using strict typing. I'll use FastAPI, UV, and Pydantic for Python. In React and Flutter (basic knowledge), use 2026 best practices. I'll use the travel project as my way of learning for the next step with my startup.

Google with Gemini 3.1 Pro, using its review-driven development approach, created an initial plan and then executed it while keeping a task list that it reviewed with me. It was almost like a project manager and a programmer at the same time. It also split the work into frontend, backend, and app, concentrating on each separately even though all three projects were loaded into the context. However, I noticed it created the most basic structure for each part, lacking substance. After iterating and asking for many changes, we finally arrived at a more interesting result: better design, backend-frontend integration, and a basic app with a coherent design. Nevertheless, just as things were improving, I ran out of tokens... for two weeks! I imagine having three projects in one consumes much more context and tokens simultaneously.

Result after several iterations using Antigravity and Gemini 3.1 Pro
Result after several iterations using Antigravity and Gemini 3.1 Pro.

Microsoft with Copilot developed a plan where I could modify and add comments before starting development. However, the plan didn't seem to be followed as expected. First, it chose not to develop the backend in Python, but directly in Dart. Then, it created a platform for people who have already taken a sabbatical year to sell their book, which wasn't what I specified. Finally, the design was quite generic despite instructions to adapt it to the colors seen in the Antigravity result. Overall, the experience was much worse than the previous one, so I decided not to continue. That being said, for something completely free, the result obtained—compared to what I would have done from scratch—was very good.

Result after several iterations using Copilot
Result after several iterations using Copilot.

Anthropic with Claude Code and Opus 4.8 stood out in its approach. First, it asked many more questions, but never developed complete plans for what was to be done. The positive side of this was that it didn't assume much; the negative side was that it was hard to see the big picture at first. However, this picture could be pieced together through the Claude.md files it generated—one general and one for each component: backend, frontend, and app. The result was correct, but not as incredible or fast as I expected. Nevertheless, the design improved. Another aspect to mention was that there was more focus in this case, which partly explains why the result was much more complete for the frontend; however, there was no progress on any other front.

Result after several iterations using Claude Code and Opus 4.8
Result after several iterations using Claude Code and Opus 4.8.

OpenAI with Codex and GPT-5.5 gave me the impression of producing the best result in terms of functionality and design. It was the only one that truly connected backend and frontend, explaining its decisions. Codex started by suggesting prompts for different tasks, and its first actions were to create an Agents.md and the first functional backend using TDD. The code structure was more interesting and complex, which led to questions that the model resolved very illustratively. With this model, I felt like we were deciding on the architecture together. This was quite positive because we reflected on the different objects and entities, providing more clarity on the next steps. We created a real backlog from our conversations. Additionally, we didn't move on to designing the frontend until we had a truly functional backend.

As for the frontend, the interaction dynamics were very similar. On this front, we started by creating a design system implemented as a library. We took inspiration from elements of El Viaje and even photos. Although the design failed in some aspects, it was generally well-achieved and responsive to different screen sizes. It struggled a bit to grasp the idea for the copy, but we arrived at a good initial version of the content.

However, it wasn't all roses. As we progressed, there was a visible decline in its responses and its way of acting and thinking. Even though I restarted the session and we took notes on the process, the deterioration was evident. It’s almost like a human when they start a project with high energy but, after a while, lose interest due to monotony, recurring corrections, and repetitiveness.

Result after several iterations using Codex.

As a little extra, while I was writing this text, Anthropic's Fable 5 was released. How could I not try it if, according to the media, it's the best model in history (just like every new one an AI lab releases) and is also a limited edition? Well, in this case, we didn't get to generate the frontend, but I don't think I've ever learned so much about TDD, Domain-Driven Design, Event Sourcing, CQRS, and many other software architecture principles (apologies for so many acronyms, but one has to sound pro). Additionally, considering I haven't developed hundreds of backends, I've never started one as well as this. Fable was undoubtedly the only model that understood that my mission with this project, besides developing the best side-project possible, was to learn how to use AI to build a product for my startup. Given my small use case and range of models, Fable is currently the released model that knows the most about programming. Since access to the model was suspended by US Government directives, we couldn't continue developing the frontend—the very next task. Nonetheless, I'll keep you posted on the results later on.

I am by no means an expert, neither in AI nor in software development, but I will give my verdict and conclusions as an AI apprentice. 1) In one year, AI has radically changed how code is developed worldwide. 2) Anthropic, primarily, and OpenAI a close second, are the best for programming (of those evaluated so far). 3) Context matters, a lot, but so does how we interact with the AI; that is, how we generate context files, give instructions and feedback, store memory and decisions, and establish patterns. 4) There is no better AI teacher than the AI itself. 5) If you really want to learn, you have to throw yourself into the fire and build something real. 6) Software development foundations are becoming increasingly important, relevant, and easier to implement.

If you've been feeling left behind for a while, my only recommendation is: throw yourself into the fire and actually build something. Not to do it like I did, but to find your own way.

I'll be writing more entries about my learning process and using AI for my daily tasks while I build my own company. Don't miss the journey. Until next time.

chpmoreno

Subscribe to chpmoreno to react

Subscribe

Comments

No comments yet. Be the first to comment!

Subscribe to Chpmoreno to get updates straight to your inbox