AI Coding: A Beginner's Guide

Let me walk you through how I use AI to build applications. I've learned a ton about making AI actually useful for development, and I want to share my real experiences with you - no fluff, just what worked. ![My coding setup with AI tools](/assets/content/ai-coding-guide-for-beginners/desk.png) ## Before You Start When I first started using AI with coding, I spent way too much time trying to figure out which tools to use and where to even begin. The truth is, you don't need much to get started. The key is finding real problems to solve and having a simple setup that actually works. I wasted time trying every new AI tool that came out, but what really made the difference was picking a few solid tools and sticking with them. My goal is to see how to improve my workflow and development process to production and maintenance, not learn new tools.
For beginners, I always say start with Replit - it's got everything you need built in, and you can focus on learning how AI thinks instead of setting up complicated environments. What I've learned: - Don't waste time trying every new AI tool - pick a few and master them (80/20 rule). - Try starting with [Replit](https://replit.com) - you get a browser-IDE (so no download), an AI development agent, free hosting, and all the basic tools. If Replit isn't your style, check out my [AI-IDE list](/posts/ai-ides) for alternatives. - Use [Gummy Search](https://gummy.app) or [Perplexity](https://perplexity.com) to find real problems on Reddit worth solving or build tools for yourself to start. - Progress from simple things like a one page website, to a full stack application, to a chrome extension - afterwards try different frameworks or builds. - Keep your tech stack simple: [Next.js](https://nextjs.org) + [Vercel](https://vercel.com) + [ShadCN](https://ui.shadcn.com). - Use [PostHog](https://posthog.com) to track what people actually use, preferrable to Google Analytics. - Use [V0](https://v0.dev), [Lovable](https://lovable.dev), or [Bolt New](https://bolt.new) for quick front-end prototypes and simple websites. In their current state, they are useful and effective for 0 to 1. But not for long term development and customization. You need fine control for quality. - If it's a product you're building, build a community first, then create tools they actually need so you can work backwards. Start from distribution. ![The coding process with AI](/assets/content/ai-coding-guide-for-beginners/coding.png) ## Building and Developing The thing about building with AI - is that it's not going to magically create your entire app in one shot, unless it's fairly simple. I learned this the hard way. The key is breaking everything down into small pieces and being really specific and precise with what you ask for. Computers (including AI) are dumb. They can't read our minds, we need to be very specific and precise with what we ask for a modification and provide appropriate context. I start with the backend if it's simple, then build one feature at a time before assembling the pieces.
When I'm designing, I'll make a new page and build the component there. Typically I'll assemble those components structurally and then begin designing them. To make beautiful designs I recommend following a framework similar to developin. You're not doing it all at once, you're breaking it down into steps (see image). First priming your mind by going and surfing pinterest. I'll take inspiration from Pinterest by finding five designs I like, feed those images to the AI, and tell it to modify or "develop the component like a Silicon Valley design agency would". You'd be surprised how well it works. ![Design thinking process](/assets/content/ai-coding-guide-for-beginners/designthinking.png) Other things that have worked well for design are finding my "key pieces" for the website and then building around them. But remember, AI is just a tool - your understanding of what people need through your empathy is what really matters. What I've learned: - Start with [Cursor](https://cursor.sh) in chat mode, then move to full agent mode. - Use system prompts to control and set guidelines for agentic driven development. - Use reasoning models like [DeepSeek](https://deepseek.com), O3, or O1 Pro for planning and architecture. - Build feature by feature, don't try to do everything at once. - Actually read your code. - If a model's world knowledge or pretraining data doesn't include the documentation you're using or working on - supply it with the current documentation via a link or save it as a .txt in your codebase. - When designing, find design inspiration from [Pinterest](https://pinterest.com) - feed 5 example images to AI to capture the "vibe" of the design. - You can ask V0 or other tools like CopyCoder to clone a website and then use the cloned website as design inspiration. - Tell AI to design like a Silicon Valley agency - adhere to minimalism and clean design. - If you're not good at explaining things via text/prompting, use [OpenAI Whisper](https://github.com/openai/whisper), built in dictation, or [Better Dictation](https://betterdictation.com/?via=thomas). - For serious projects, switch to Cursor, Trae AI, or VS Code with Cline. ## Final Points The biggest lesson I've learned is that debugging with AI is completely different from traditional debugging. You need to be super clear about what's wrong and give it all the context it needs. I always take screenshots, copy the exact code, and share any error messages. When I'm stuck, I use reasoning models like O1 or R1 to think through the problem step by step. And here's a pro tip - use the J, K, L shortcuts to move faster when you're working with AI. It's all about finding your flow and making the AI work for you, not the other way around. What I've learned: - Always support AI with clear context when debugging. - Use reasoning models like [DeepSeek](https://deepseek.com), O3, or O1 Pro for debugging. - Take screenshots and share exact code and error messages when you get stuck. - Ask AI "how and why" something is happening to improve debugging reasoning. - Get AI to list out all dependencies and functions that could be causing issues. - Make sure to check for duplicates or conflicting functions. - Keep building in small chunks. - O3-mini is excellent for writing your documentation for you.
--- Want to dive deeper? Check out these posts: - [Checklist - Building with AI](/posts/one-shot-apps) - [List of AI IDEs](/posts/ai-ides) - [Deep Research List](/posts/deep-research-list)