HN user

brainless

2,484 karma

Hello stranger, I am Sumit. I live in a little Himalayan village in India.

Software engineer for 17 years, across multiple startups. Have led teams in early stage startups in the US, Germany and India. Run Curry Hostel.

I build my own products and work on a couple consulting gigs. I am bullish on harness engineering. I do not read or write code manually anymore. I am building a coding agent for tiny/small businesses to automate their entire workflow - no engineering skills needed - idea to deployed apps.

- https://github.com/brainless/nocodo

I have given up city life and hustle culture. I share my home as a co-living space, mainly for artists and digital nomads:

- https://www.instagram.com/curryhostel

Socials:

- https://meet.hn/city/in-Kolkata - https://linkedin.com/in/brainless

Posts123
Comments545
View on HN
github.com 1mo ago

An experimental coding agent for small (<10B) and tiny (<1B) LLMs

brainless
1pts3
github.com 2mo ago

A constrained approach to coding agents

brainless
5pts1
www.youtube.com 3mo ago

Arm Comes to the Framework 13

brainless
3pts1
unsloth.ai 4mo ago

Unsloth Studio

brainless
388pts82
huggingface.co 4mo ago

9B parameter coding agent model fine-tuned on top of Qwen3.5-9B

brainless
3pts0
github.com 4mo ago

Show HN: Extract (financial) data from emails with local LLM

brainless
1pts0
www.youtube.com 5mo ago

dwata: Local Financial Data Extraction from Emails with Ministral 3 3B, Ollama

brainless
2pts0
www.youtube.com 5mo ago

Leverage Coding Agents as a Builder/Engineer [video]

brainless
2pts0
github.com 5mo ago

Extracting Financial Data Using LLMs Without Reading Every Email

brainless
1pts0
news.ycombinator.com 8mo ago

I am building a collaborative coding agent

brainless
2pts0
news.ycombinator.com 10mo ago

Show HN: I am vibe coding a collaborative vibe coding tool

brainless
4pts0
www.warp.dev 10mo ago

Warp Code: the fastest way from prompt to production

brainless
52pts60
nocodo.com 11mo ago

My Playbook for full-stack MVP with Claude Code

brainless
2pts1
arxiv.org 1y ago

Faithful and Sound Reasoning on Knowledge Graphs

brainless
2pts1
www.youtube.com 2y ago

Recent Video from Liquid AI

brainless
1pts0
news.ycombinator.com 2y ago

Ask HN: What about a "Who wants funding" thread?

brainless
3pts3
old.reddit.com 2y ago

An average programmer's (me) reason to invest in Rust

brainless
33pts14
www.youtube.com 4y ago

Dubai Is A Parody Of The 21st Century [video]

brainless
32pts1
github.com 4y ago

Lumen: Alternative BEAM implementation, designed for WebAssembly

brainless
148pts19
github.com 5y ago

Draw a Win32 Window with Rust without any crate dependencies

brainless
1pts0
www.youtube.com 5y ago

Veritasium: A Physics Prof Bet Me $10k I'm Wrong

brainless
3pts1
news.ycombinator.com 5y ago

The ORM and SQL issue we have

brainless
4pts5
developer.apple.com 5y ago

Safari Web Extensions

brainless
1pts1
www.jetbrains.com 5y ago

Collaborative Development in JetBrains IDE

brainless
2pts0
github.com 5y ago

Feature-Oriented Active Modeller, v2

brainless
2pts0
docs.sqlalchemy.org 5y ago

Migrating to SQLAlchemy 2.0

brainless
198pts106
news.ycombinator.com 5y ago

Ask HN: Could software driven direct democracy work for Lebanon?

brainless
2pts1
github.com 5y ago

Open-Source Back End Server for Web, Mobile and Flutter Developers

brainless
5pts0
phys.org 5y ago

Quantum gases won't take the heat

brainless
1pts0
tinyseed.com 5y ago

Invest in TinySeed's Second Fund

brainless
4pts0

This is good and I am saying this as someone using coding agents full on.

I am a software engineer and I do use coding agents and I do believe that there can be spaces which do not encourage or allow projects built by generative AI.

Detection may become harder as time passes by but that aside, I think the massive generation abilities of multiple LLM providers will simply make it tough for code hosts. But it is also a choice - there should be spaces where people post projects that they actually write by hand (or with minimal assistance of agents).

I am personally and professionally very much on the "generate code" side of the situation simply because I can deliver things faster. But I know that LLMs are basically large word prediction systems that have been built on existing knowledge. They remix very well but I do not think they create brand new algorithms. For someone like me who is focused solely on building ramen-profitable products or services, LLMs are great but I know that I am not going to spend time/effort in any new research. I am not saying that every hand-written project is going to innovate but we should encourage spaces to maintain the barrier, else we may even become complacent.

It is all binary, all the way down. Code is text that passes the compiler's checks. Human language is text that has a really ambiguous compiler. And all text is still binary in the computer.

If you think about it, the transformers architecture was created to solve language translation. It works well for human language to code and other way around, already!

What we need is better tooling for this translation on either side. I started working on https://github.com/brainless/nocodo/blob/feature/praxis_agen... for this reason - how can we go from human language to code representing it.

Yes, this is how I am building my agent as well. A chain of mostly deterministic steps for every incoming prompt. Run as many tools without help of LLMs, gather errors - feed to LLMs, then go back to deterministic steps as soon as possible.

Not necessarily. I have been building client projects for the last few months only using coding agents. I use way more existing tools to handle a lot more of our digital footprint than I used to before: pdf, images, excel, ocr and many more.

As coding agents have accelerated my work, I just build tons of tooling around existing software. Or in rare cases build new ones. If we zoom out of software engineering, we will still be in the realm of files - text or binary. That does not change.

The question is - do we let agents run the tools or the "programs" call the LLMs. The OS is the new agent, but not the same sense of "agent". I want LLMs to be lightly sprinkled in a future "agent" OS, not the other way around.

This is an interesting share, thanks. Yes, that is my mental model. Use coding agents to generate more "programs" (scripts) to automate everything. Have edge case handlers - and these handlers can develop/update the original scripts.

It is not blasphemy if langgraph is trying to do that. As I understand langgraph manages orchestration in custom built agents. I usually stay away from systems which already make it seem as if building agents is a ritual.

What I am saying is the opposite - use Claude Code or whatever else - generate actual "programs". Basically scripts. We have tons of ways for "programs" to interact with each other. Then have clearly defined edge case handlers - think "try/catch". How far do you want to go down the rabbit hole in the "catch"? Do you want to re-write a new version of the "program" itself? I do not know, but this type of a system is what Unix already is, with the addition of programs themselves reaching out to LLMs in well defined edge case handlers.

I kind of have a different idea of agents. I totally believe in a deterministic scaffold but I really think that an agent should be as deterministic as possible - the more code, the better.

Think of a typical loop we may ask of Claude Code today (assume we are not using TDD): run some test suite with fail fast mode, diagnose if the failure is due to recent feature changes (pass reference to backend/frontend, github issues, PRD,...). Ask CC to decide if test failed due to feature change and then update the test. Perhaps ask CC to use sub-agent to investigate and fix (if deemed so). Commit each fix, move on to next.

I know, this has so many ways to make blunder but I am talking about the agent here, not our error-prone test maintenance. What if we had an agent that had context of your codebase, deterministically ran test suite, linter, hooks, etc. The "English" prompt would become a code loop with the LLM only brought in to decide if a test has failed because of feature change. Also, we can extract git log, JIRA and what not.

Each tool here is real code. Executable code that calls others and only prompts when they meet edge cases. Edge cases are defined but we can now accelerate the maintenance of these tools using agents themselves. But the system is built on "programs that do one thing and do it well" and then reach out to an LLM for its specific edge case. The agent is how these executables work with each other.

Yes, I know that is how it would seem in this ultra-capitalistic world. But no. I am a believer, follower of Sci-Fi and a dreamer. I see AI as way to tear down structures - "When everyone is super, no one will be".

The next 10 years of software can either centralize power, like we have done in the 10 years past. Or, we could open up for everyone - every mom and pop business can run their business with the best software - their own workflow.

I do not believe in the systems that have led us here and I see AI as a chance to rectify. I live in rural India, by choice. I am 44 and kicking. Have a farm, dream life and a chance to bring change I have dearly wanted - true empowerment. Big Cos/SaaS have brainwashed people away from what software for people could have been. Time to change that.

"company makes and distributes a specialized coding agent for CSS" - weird that you think this is a path because I think this is not as appreciated as it should be.

No-code has been in a poor state for many reasons. I agree that people want more generic software to be built and the platforms did not allow for enough variability. This is what being better enabled with LLMs.

I think coding agents, particularly Claude Code, makes people think that models are the key. Some people disagree. I disagree as well. I think small models with lots of deterministic code is the way. But this will not fill Anthropic's or OpenAI's pockets.

Using an LSP, for example is recent in coding agents. But if you think about it, we should have started with that. Most agents expect LLMs to know too broadly. I would instead create 40 (random number) agents - one for each language and part of the stack. This is why your CSS example is interesting. I create just an agent for the ORM related code in a Rust/Diesel based coding agent. It worked with a 4B parameter model!

People will fight over "worked" but basically what I did was create deterministic code generator for the ORM layer - schema, model and model accessor or mutator functions and then asked the tiny model to fill in the code with lots of code example straight from the official docs. It played well for many different kinds of prompts - all focused only on model related changes.

What if we create many layers of this - a higher level agent breaks human prompts into an intermediate language and then tech-stack focused agents write the code within deterministic tooling. Agents cannot read or write any file they want - they are specific to that part of the stack, linter, compiler, etc. kick in automatically.

You get the idea.

I am not sure if you mean good, bad or ugly but yeah this username is perhaps with me since 1998. I used to hang around in MIT, Stanford and many other Uni IRC rooms. I was this odd username from a far away city. Tim Berners-Lee once asked me about the real person behind the username. I almost shat my pants but somehow I answered.

I am sure you have a great story for your username and the blank HN profile too.

The key word is "already". I myself absolutely expect world changing results. But that will need time. I can only say what I know. My own experiments in building nocodo, a coding agent are 12-13 years old. Pre-LLM. I used template based code generation and related ideas. Template processors and what not. nocodo.com is with me since 2013 maybe, you can verify.

I am a software engineer, most of my experiments are on GitHub. I would not have ventured into building the UI framework before LLMs.

And this is what bothers me - people are not looking at the generated software. Indies like us are experimenting like crazy. I live far outside the tech scene, in a small Himalayan village. But I resonate so much with the experiments, the methods, harness engineering and so many other topics. I see the benefits in how ambitious my projects are becoming.

I teach an online course on coding agents as a co-mentor. 600 young professionals join each month for a 2 week course. The joy of people, who did not know much technology, when they create a simple project management software by just typing English does not lie.

We used to write software in a very different manner. The entire mental paradigm has shifted. Many of my friends and acquaintances are on the fence, still! Some are internally giving up - unable to cope with this change. But the change is happening - the tooling is only going to get better.

Give it time. That is the opinion I hold.

A lot of those products are from big companies who seem to be struggling the most. Software does not solve bureaucracy. As an indie engineer, I have absolutely no doubt what I am doing myself.

But that change does not mean my products will become popular. That is a lot beyond software. Also, the tooling is just barely 1.5 years old and people are already asking for world-changing results. All the while totally ignoring what indies are saying.

"Anthropic is actively campaigning to end software engineering" - good but are they the only ones? I do not like Anthropic after their recent locking mechanisms. I use opencode with GLM, Mimo, Qwen, and what not. I use Codex as well.

Anthropic does not need to tell me that much of software engineering is being re-written. In my opinion, the costs have crashed. I build commercial projects at 1/3rd my earlier costs. I started build everything I can in Rust and I am still doing that. My projects have only gotten more ambitious, latest being https://github.com/brainless/akar - a WIP, please don't scream at me.

Many folks have publicly said they want to keep AI agents away from their works. Good for them. I want to accelerate software engineering, something I have done passionately for 20 years, with all the agents I can use. And I make my own agents, constantly experimenting to push local llm based agents.

If engineers want to stay behind, good for them. Not everyone does. Andrew Kelly's post read like an attack, IMHO. But why care about me? I am just a farmer (https://www.instagram.com/curryhostel) who uses AI to now build ambitious software.

For those outside India and/or non-active users of UPI - it drives so many transactions that even for an engineer, I forget how often I use it:

  - Payments between family members
  - Payments for every tiny/small item - a bag a chips or a cup of tea for example
  - Payments for car mechanic, plumber, or other services
  - Payments for online shopping or services - yes web apps show the UPI QR code and I can pay from my phone by scanning. Mobile apps will simply open the UPI app's payment screen
  - Buses, flights, trams, taxis, trains - online or on road
On an average day in a city like Kolkata, me and my partner make up to 20-30 transactions. I live in a small Himalayan village most of the year and I still make roughly 6-8 transactions a day.

I get the point of this demo but if instructions are clear, tech stack related resources are available, then the models do not differ as much.

I use different models all the time. And mostly lower cost ones. I do not know how people write software these days, but I have clean instructions, usually in Epics and they have Tasks.

I have been using DeepSeek V4 Flash for much of my coding in https://github.com/brainless/akar for example. Planning is mostly done by Qwen latest (in opencode) or Sonnet.

For my commercial, client work I use Claude but barely use Opus. Sonnet does most of the work. For a recent project, I went through a 35 page PRD in about 4 weeks, that includes client calls, changes, Ecpi/Task generation, a massive test suite, deployment.

I have a project on very similar lines, https://github.com/brainless/dwata, which I have not been developing for the past few months. I have been meaning to get back to it and I really like what I see on your project page.

My aim is to build a truly local app using only tiny/small models. I have had really good results from Qwen 3.5 1B, 4B, etc. Also, Gliner or similar models for different uses. SQLite + sqlite-vec + Tantivy + a tiny embedding model will stay as my go to.

In my case, coding agent is a separate product. I have https://github.com/brainless/nocodo for that. nocodo is also built for tiny/small models from the ground up. And recently I started building a wGPU based UI framework to build both these apps as native UI apps in Rust: https://github.com/brainless/akar. I also want e2e encrypted team/family sharing in my products.

Thank you for the inspiration. Would love to share notes and follow your progress.

I started building an app with similar goals but with the very different approach. I work on my own coding agent, https://github.com/brainless/nocodo, where I have been trying to build a provenance based engine that will generate or modify prompts to point to the decisions that a team has made. That work is in the branch: feature/praxis_agent_runtime

While working on this I figured what if I build a proxy for coding agents - Claude Code, opencode, Codex, etc. support a proxy. This proxy would edit prompts and tool_calls and feed context from an internal index it will maintain. That index will contain git logs, GitHub/JIRA/etc tickets/epics, PRD or other documents, tech stack setup.

It is just an idea and may not work but working at the proxy layer means this can be deployed at a team level, needs no MCP install and can re-shape prompts for everyone depending on the project. Wild idea perhaps.

I recently came across this model and I would love to try it with my coding agent soon.

I really like the idea of small models that can reason but do not have too much knowledge. Also, no emphasis on tool calls. I think the agent should do the heavy lifting and reach half way.

I use really small models, like Qwen 3.5 0.8B to 9B - no tool calling, no MCP, no skills, nothing. No multi-turn chat even. Models are given very specific tasks using a vast number of system prompts and all the response handling is done in the agent(s).

https://github.com/brainless/nocodo

I am not a language nerd but I keep on experimenting in my own ways to use the type system to generate code that is more reliable.

I build a coding agent specifically for small models, which makes everything harder. I started this chat with Claude to build the next step: https://claude.ai/share/4264e5f6-b334-426c-afe4-904d233ef946 - how can I go from PRD to a typed representation of the business logic.

The I started building as per https://github.com/brainless/nocodo/blob/feature/praxis_agen.... The praxis crate: https://github.com/brainless/nocodo/tree/feature/praxis_agen... and a sample Todo app: https://github.com/brainless/nocodo_example_todo_app

Generating unit tests for the library functions of any project would be done via a separate agent than the one coding the functions. And then use tree-sitter to statically check code to PRD (provenance graph).

Again, not a language nerd, just enjoying chasing a goal.

I have been building a coding agent for small and even tiny LLMs, local inference. I experiment with Qwen 3.5 0.8B but that is too tiny. 4B is a better one for most of my needs. I mix with 9B and then up to 20B models (not on my computer).

It builds on an opinionated tech stack - Rust (Actix Web, Diesel, SQLite) and Typescript (Solid, DaisyUI). There are multiple agents which play roles like PO, PM, Architect, Rust Engineer, Typescript Engineer and so on.

The idea is to go from user prompts to Epics/Tasks - PO/PM do this. Then to go from Tasks to YAML or similar syntax (I have not figured this out yet) and break into Rust and Typescript code dependencies.

I am focusing on the Rust side: how can small models write Model, Controller, Router, User/Permission and custom business logic in helper functions (called from Controller or BackgroundTask). Building a set of types to express business logic, for example in https://github.com/brainless/nocodo/blob/feature/praxis_agen...

Then I will use tree-sitter to build a graph of which business logic (in the helper functions) correspond with which provenance (source of truth given by user).

There is no tool calling for most of the agents, no MCP, no multi-turn chats. Most of the code writing agents one-shot the response with a lot of code reference in their prompts.

https://github.com/brainless/nocodo

This is good and terrible. The extra effort a model has taken is good but the way to do it is terrible. Tasks that can use a lot of deterministic paths and some creative (generative AI) paths are being turned into tokemaxxing strategies.

Browser automation, code comprehension, git management, code change, running commands - everything has simpler tooling that we could have built instead of a model first approach. A deterministic loop with thousands of catches and effective use of generative AI would also look "proactive". Instead we let the model run the tools, where tools have no context themselves.

That is why companies are creating bigger models and thinner deterministic agents to create awe and earn $ when we could go the other way and make much of these possible on local inference even.

I believe we can build a "proactive" but much, much more deterministic system with smaller models. I hope I am not the only one chasing this, here is my approach: https://github.com/brainless/nocodo

I agree with the core idea. I am building a coding agent for non-engineers on small/local LLMs only.

Commits are great but for an agent that works for the non-engineers (what I am building), commits cannot be represent the chain of thought since that chain has happened before - in English and has lots of debate/discussion with agents.

Zed is focused on engineers. I am focused on everyone else but I came to similar conclusions since my situation is tighter. Software has to be defined by humans, then codified (in development) by agents and then tested by humans. Deployment, rollbacks, etc. also has to come into the scene.

I have been breaking down the conversation into agents playing roles like PO, PM, Architect, etc. Then taking outputs from those into structured inputs for Rust engineer, Typescript engineer and so on. It is all WIP but holding on to this chain of "chats" is key in my opinion. That is where the software is made.

https://github.com/brainless/nocodo

Hey folks, I have been experimenting on something that I am still not sure will work but it just might!

I started off building a generic coding agent but focused on small/medium models, like GPT OSS 120B or 20B or models in between. I felt the early days of LLMs, where we would share example input/output may work if the prompt and context was very specific. This led me to experiment with local models. I have tried up to 9B models on my M4 Mac Mini 16GB and currently I am trying with Qwen 3.5 0.8B.

The idea is that a specific agent only focuses on a specific part of a typical full-stack CRUD app - say the model layer of MVC. I am using Diesel with Rust, so an agent specific to that handles the prompt to model struct, Diesel schema and function blocks for the Rust impl. The agent actually has separate modes with separate prompts for each of these 3 parts. It is given examples from official docs and creating new examples is trivial.

Here is an example: https://github.com/brainless/nocodo/blob/main/agents/src/rus...

The Rust engineer agent with Diesel modes works and there is deterministic code to glue all the generated code together. The next step would be to run Rust/cargo format, compiler or other tools deterministically. If there are errors, there would be specific agents, perhaps using slightly bigger models (<10B) to pass errors and code as a prompt. Again, we can supply lots of contextual examples from official docs.

I do not know if this setup will scale to accommodate all parts of typical MVC, routing, frontend (Solid state/context, forms, views), design (Tailwind based components) but it just might. This is a passion project that is going on slowly. I thought there is enough work done to share.

Please feel free to look through the code. Again, it is a WIP. Eventually this will be a desktop app working with llama.cpp.

Cheers!

Thank you! I am not a researcher, I am a software engineer and I have been chasing better harness for quite some time now.

I firmly believe that we can bring down the costs for much of our productivity needs by a huge factor if there are guardrails. This is how I am building my coding agent: https://github.com/brainless/nocodo

There is so much we can do if we create tools that do more heavy lifting. Your example of ToolResolutionError is something I have not thought of. Again, I am coming at this from software engineering background, I still do not understand much of the inner working of models or their inference layer but I am sure I will slowly create a coding agent that performs really well for majority of people/business use cases (not enterprise) with small models and big harness.

If coding is such a big part of LLM agents' usage at the moment, I do not understand how far the best models will continue to shine and take the largest chunk of revenue. I am far away from tech hubs but I think better harness will utilize smaller models for more constrained, efficient and reliable coding agents.

In a way this is like distilling (but it is not) but you can make better harness (tackle more edge cases, better tool/function definitions, sandbox handling, bash management, DB management, deployment management, etc.) but extracting what LLMs know into code.

Maybe I am wrong but I would like to see custom software for the last mile (tiny/small businesses) becoming a reality. AI would eat the world of software but costs would go down since you can extract value upstream from the LLMs and spread downstream through tighter coding agents.

I am building a coding agent that will not be small - it will be a lot of code, carefully mixed roles (mimic a software dev shop) with separate tools available to different roles. And all this code is generated by other coding agents. https://github.com/brainless/nocodo

I am a nobody from nowhere with 18 years of software engineering behind me. I do not care about revenue. I just want to see a regular business owner's workflow going live on their own VPS.