<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sumit Datta</title>
    <description>The latest articles on DEV Community by Sumit Datta (@brainless).</description>
    <link>https://dev.to/brainless</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F382974%2F7dce4ce6-6956-4bf7-a4e9-496f35b7da48.jpg</url>
      <title>DEV Community: Sumit Datta</title>
      <link>https://dev.to/brainless</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brainless"/>
    <language>en</language>
    <item>
      <title>4 weeks, full-time vibecoding: what I can share</title>
      <dc:creator>Sumit Datta</dc:creator>
      <pubDate>Sat, 12 Jul 2025 13:03:42 +0000</pubDate>
      <link>https://dev.to/brainless/4-weeks-full-time-vibecoding-what-i-can-share-2f5</link>
      <guid>https://dev.to/brainless/4-weeks-full-time-vibecoding-what-i-can-share-2f5</guid>
      <description>&lt;p&gt;Hey folks, Sumit here from the Himalayas. It has been a little over 4 weeks. I have got a flow that is working and a few thoughts I want to share if anyone is starting off. This is a work in progress and I am trying to keep my suggestions for a wide audience but some experience in building software products, not actual programming, will help.&lt;/p&gt;

&lt;h3&gt;
  
  
  A little background
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I am an experienced software engineer&lt;/li&gt;
&lt;li&gt;I have not touched maybe more than 200 lines of code in these last few weeks&lt;/li&gt;
&lt;li&gt;Vibe code exclusively, Claude Code, Google Jules and now Gemini CLI&lt;/li&gt;
&lt;li&gt;Working full-time on my product ideas, but mostly understanding this new way to build software&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Before you start
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Make sure you have a local setup of the common tools, git, VS Code or any other editor&lt;/li&gt;
&lt;li&gt;Learn you way around your OSes terminal for Claude Code, Gemini CLI, etc.&lt;/li&gt;
&lt;li&gt;You may want to be able to run the generated code, &lt;code&gt;backend&lt;/code&gt;, &lt;code&gt;frontend&lt;/code&gt; and database on your computer&lt;/li&gt;
&lt;li&gt;For the above, you will need to install all needed software for your selected tech stack (see below)&lt;/li&gt;
&lt;li&gt;Remember that at each step of vibe coding, if you can test your software on your computer, you will have a lot of confidence&lt;/li&gt;
&lt;li&gt;Also, being able to copy/paste errors from your running application into the coding agents help a lot&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Research and documentation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A little research, use Claude.ai, Perplexity, simple web search, reading&lt;/li&gt;
&lt;li&gt;Ask chat agents what they feel should be the approach to build the solution you need&lt;/li&gt;
&lt;li&gt;Ask for high level technical stack, add your preferences if you have&lt;/li&gt;
&lt;li&gt;You can ask chat agents to write out the first couple tickets, mention you will pass these to coding agents&lt;/li&gt;
&lt;li&gt;Ask chat agents to break tickets into really small steps&lt;/li&gt;
&lt;li&gt;Read the tickets, try and understand how your solution is being converted into a technical spec&lt;/li&gt;
&lt;li&gt;Ask chat agent to create &lt;code&gt;README.md&lt;/code&gt; and &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;GEMINI.md&lt;/code&gt; (or both if you use both) - first one is high level overview for everyone, second type of files if for the coding agents, still readable by everyone&lt;/li&gt;
&lt;li&gt;I use GitHub issues for my tickets, my code already resides on GitHub&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Generating code
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It helps when you select the stack before actual vibe coding, at least language, frameworks, databases, how you will host, etc. (refer above)&lt;/li&gt;
&lt;li&gt;Start with tickets to start a simple "hello world" app for your tech stack, &lt;code&gt;frontend&lt;/code&gt;, &lt;code&gt;backend&lt;/code&gt;, API, database&lt;/li&gt;
&lt;li&gt;Test the generated app on your computer - this is important since you want to not end up with a lot of code full of problems, test at each step&lt;/li&gt;
&lt;li&gt;From here, proceed to express what you want the user experience to be, one small step at a time&lt;/li&gt;
&lt;li&gt;If you have tickets from chat agents, use them&lt;/li&gt;
&lt;li&gt;Write tickets for each step before you start, pass the ticket to coding agent (they can use GitHub client or access the issue URL for public projects)&lt;/li&gt;
&lt;li&gt;If something goes wrong, have a conversation with coding agent, paste errors, etc.&lt;/li&gt;
&lt;li&gt;Slow progress that builds software that you can actually use is better than generating a lot of useless code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is just the start of a process. The important thing to note is that this is not that different than handing over tasks to an engineer. You may still need to do some research. The main difference here is cost and time. Code will be generated a lot faster and overall the process is a lot cheaper even with subscriptions to Claude or Gemini, etc.&lt;/p&gt;

&lt;p&gt;Happy building!&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>founder</category>
      <category>products</category>
    </item>
    <item>
      <title>Vibe coding as a software engineer</title>
      <dc:creator>Sumit Datta</dc:creator>
      <pubDate>Fri, 27 Jun 2025 08:26:56 +0000</pubDate>
      <link>https://dev.to/brainless/vibe-coding-as-a-software-engineer-3dgd</link>
      <guid>https://dev.to/brainless/vibe-coding-as-a-software-engineer-3dgd</guid>
      <description>&lt;p&gt;I started vibe coding early June 2025 with the aim to write as little code myself as possible. My intent is to be a founder with a lot of time for marketing, sales and support. I have been using LLM  assisted coding since late last year. I started with GitHub Copilot, then Codeium (now Windsurf) and settled on Supermaven for a while.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's set some context:
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;I want to create fun, useful and error-free products, most of them small apps for consumers and businesses&lt;/li&gt;
&lt;li&gt;Apps can be desktop, mobile, client-server - any combination, most of them will be open source and self-host friendly&lt;/li&gt;
&lt;li&gt;Apps should integrate LLMs or other ML tools where deterministic code does not suffice&lt;/li&gt;
&lt;li&gt;As a founder, I want to focus on users. Vibe coding should help me create products/features fast, very fast&lt;/li&gt;
&lt;li&gt;I prefer to build products that face the user instead of API-first products&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Who is this for?
&lt;/h2&gt;

&lt;p&gt;I am logging my thoughts and experiences for myself but these may be helpful if you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Want to create software projects with minimal or no coding effort&lt;/li&gt;
&lt;li&gt;Are open to spend some time setting up the best practices flow for vibe coding&lt;/li&gt;
&lt;li&gt;Keep learning as vibe coding landscape changes&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Who is not not for?
&lt;/h2&gt;

&lt;p&gt;You want to learn programming by doing (which is how I learnt myself). Programming is fun so keep doing that if you want. LLM assisted programming might be more useful for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does vibe coding mean?
&lt;/h2&gt;

&lt;p&gt;I guess there are multiple definitions out there but vibe coding  generally means describing the software in simple human language and let LLM generate the code. This is different from LLM assisted coding where a software engineer is still using an editor to write the code with a pair-programmer (LLM).&lt;/p&gt;

&lt;p&gt;Vibe coding is more like delegation. I have another (LLM) engineer who I can pass tasks to. They complete it, I check and move forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  The benefits
&lt;/h2&gt;

&lt;p&gt;Without going into the debate about code quality yet, the main benefit for me is delegation. I have never been a delegation friendly person about code though. With LLMs it is a bit different, maybe it is psychological. I am happy to list out tasks and see the LLM work through them.&lt;/p&gt;

&lt;p&gt;It has been saving me a lot of time. I am sure there are gaps in the software quality but I will be able to tighten them. At this moment, I do not have to be at desk all the time and I get multiple agents to work on multiple projects if I need.&lt;/p&gt;

&lt;h2&gt;
  
  
  The process
&lt;/h2&gt;

&lt;p&gt;I started off with Claude Code with API based usage. It was a joy to see some simple refactor produced only by describing what I thought should be improved in a couple modules.&lt;/p&gt;

&lt;p&gt;Then I started a fresh project, a smart crawler. I wanted to create a desktop app that would control my browser, open URLs, crawl pages and get data as per a given objective. The objective is what I would have asked a team member to search some data on the web. I started off with having to specify the domains to crawl or fetch data from  (I would add web  search later).&lt;/p&gt;

&lt;p&gt;I also started a travel planner app (full-stack) and a self-journal app (native app only, local storage).&lt;/p&gt;

&lt;p&gt;I want to focus on the crawler for the rest of this post. I have written some crawlers before but I did not specify any in-depth programming logic, just a basic prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Please create a crawler and scraper in Rust. You can use any crates you want. The crawler will be given an objective and list of domains via command prompt. Objective may ask for existence of some information or list of extracted data or similar. The crawler should find the sitemap for any domain and ask Claude which URLs make most sense to crawl for the given objective. The crawler should be conservative in   crawling and try to use Claude to reach results fast.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This produced a working crawler with a CLI app. But it failed on sites which did not have a sitemap. So I share my second prompt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If a sitemap file is not found for a domain, can you generate a SiteMap from the links hierarchy found from the homepage or other pages? Then refer to this SiteMap as you continue crawling and base your decisions on it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This did not work well, the way Claude wrote the code was to first crawl a bunch of URLs to generate a possible sitemap. It does not work, not sure why but it would also defeat the goal of a conservative crawl. To be honest, at this point I should have reverted the changes in this (second) prompt and restarted. Instead I started some of my technical thoughts in my prompts. I do not want to focus on them in this post since I want to focus on what is already good.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bad
&lt;/h2&gt;

&lt;p&gt;At some point, in any project that grows in complexity, we will need our prompts to get more and more detailed, if not technical. But this is still something many builders/founders do not need to worry about for a large variety of small apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  The good
&lt;/h2&gt;

&lt;p&gt;The first prompt could have been so much better but I was already surprised that everything worked as expected. No bugs. I did not ask for tests, which I should have. A prompt like that (may improved by Claude itself before putting into Claude Code) will be enough to describe many tiny app ideas for day to day software needs.&lt;/p&gt;

&lt;p&gt;People need ad-hoc apps for a lot of personal or business use cases. In the last few weeks, I have used vibe coding daily, created 3-4 apps (backend, UI), created GitHub CI and release workflows (binaries and installers for all major OSes). Fixing errors was easy - just copy/paste and share with Claude Code.&lt;/p&gt;

&lt;p&gt;The detail of HTML handling in the crawler when I asked for HTML cleaning or content finding improvements were just mind-blowing. Not because the code was very tough but because this is very laborious code with so many edge cases. LLMs have see tons of patterns in its learning corpus. What I am trying is basically codify them into an exhaustive HTML cleaner/parser so my LLM usage during crawling is low. This is a fascinating style of programming.&lt;/p&gt;

&lt;p&gt;Overall, I am impressed and here are the reasons why:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;With a Claude Pro account, I am practically getting code for free&lt;/li&gt;
&lt;li&gt;With basic CI, generated code quality was good - ask Claude to write CI workflows for format checks, tests, etc.&lt;/li&gt;
&lt;li&gt;I learned about and started managing &lt;code&gt;Claude.md&lt;/code&gt; - it helped setting the workflow&lt;/li&gt;
&lt;li&gt;Generated release workflow and it was easy to fix bugs happening on GitHub - just copy and paste&lt;/li&gt;
&lt;li&gt;Claude maintains my development workflow&lt;/li&gt;
&lt;li&gt;Test coverage is low, I suggest starting with TDD - again you do not need to understand the engineering side of this - just read best practices, setup &lt;code&gt;Claude.md&lt;/code&gt; and it will give you huge returns&lt;/li&gt;
&lt;li&gt;Generated one page website, user facing README&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The simple fact that I have a CLI app, website, CI/release workflows all working in a few days of vibe coding is worth many thousand of dollars.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to improve
&lt;/h2&gt;

&lt;p&gt;The crawler is not a simple app and I knew this. It was a challenge to see how well vibe coding is and can I continue building a non-trivial product. I am very happy with how easily I can delegate work and get results. How smooth the (generated) workflow is. How low cost this is - Claude Pro account can be used with Claude Code. I am not even using Claude Max account!&lt;/p&gt;

&lt;p&gt;I have freed up so much time to focus on marketing, share my journey (this post for example), while still moving the software development each day.&lt;/p&gt;

</description>
      <category>founder</category>
      <category>vibecoding</category>
      <category>software</category>
    </item>
    <item>
      <title>Building products after a career break</title>
      <dc:creator>Sumit Datta</dc:creator>
      <pubDate>Sat, 09 Mar 2024 03:28:59 +0000</pubDate>
      <link>https://dev.to/brainless/building-products-after-a-career-break-2op6</link>
      <guid>https://dev.to/brainless/building-products-after-a-career-break-2op6</guid>
      <description>&lt;p&gt;Hello everyone, Sumit here from the Himalayas. I have been on a career break since November 2022. I was working with Hearth Display as their software engineering lead before they cancelled the contract. I  needed lots of personal time and it was not working out well with them. I really enjoyed doing nothing much for the next many months.&lt;/p&gt;

&lt;p&gt;I had shifted to a village in Sikkim, India during the pandemic and I have been enjoying the simple and slow life since then. From November 2022 to January 2023 I had a trip booked to Hamburg, Germany and I had a nice time with friends. I got a lot of time after that (when I came back) to focus on my hostel/co-living space (which is also my home).&lt;/p&gt;

&lt;p&gt;After a few months I started to learn Rust again. I have been at it for some time now but was not able to work consistently enough to feel productive. I built a &lt;a href="https://github.com/brainless/gitplay" rel="noopener noreferrer"&gt;Git repository based learning product&lt;/a&gt;, which gave me a lot of practice in Rust. Then I tried a couple things and finally felt productive enough.&lt;/p&gt;

&lt;p&gt;Since the end of 2023, I started working on an &lt;a href="https://github.com/brainless/dwata" rel="noopener noreferrer"&gt;old product idea of mine, Dwata&lt;/a&gt;. It is a data exploration product without any technical knowledge (like SQL). I re-imagined the product with an AI based chat oriented UI this time where a user could start chat threads with any AI model and ask typical business or personal productivity questions.&lt;/p&gt;

&lt;p&gt;The user would be able to add context from existing data sources, like databases to Stripe, Shopify type APIs, Dropbox, Google Drive type sources, CSV files or even their email inbox. I will go into product details in a later post. The main point I want to share is that it took me some time to build my personal routine, which I feel is very critical while I am a solo founder.&lt;/p&gt;

&lt;p&gt;I mix my daily work with chores for the hostel. I have a few puppies (street dogs) which I take care of. And I have two cats. Chores for the hostel include some kitchen or toilet cleaning, basic maintenance. This naturally allows me a &lt;code&gt;pomodoro technique&lt;/code&gt; since I need to get up from desk multiple times for all the work I mentioned.&lt;/p&gt;

&lt;p&gt;I really enjoy software engineering and even though I am very well aware that most jobs in this field will be gone in the next few years, I write software because it is my personal space. It is part of my habit. I wanted to build a financially sustainable product instead of getting a job and have a few months of living money in the bank. I hope Dwata gets to some revenue before that. My living costs are very low here and that is a huge plus for me. Anyway, I wanted to share this as a personal note for myself and anyone else who may be on a similar boat. Thanks for reading, Cheers!&lt;/p&gt;

</description>
      <category>engineer</category>
      <category>productivity</category>
      <category>learning</category>
      <category>growth</category>
    </item>
  </channel>
</rss>
