So you want to Vibe Code An App For Farmers?

April 9, 2026

So you want to Vibe Code An App For Farmers?

Vibe coding is awesome.


Professional software developers who think its dangerous or a bad idea are already on the wrong side of history. Don't listen to the noise.

People who early adopt, barter their way west onto a boat with a questionable crew and master the seas of change will, as always, be the biggest winners.

No experience in software needed.

But with all uncharted adventures, here be dragons.


I've built software that has been used by thousands of farmers, in dozens of countries.

Becoming a craftsmen in the art of building software has been one of my primary life pursuits.

If your reading this you probably have the same story just instead as an agronomist, farmer, machine operator, researcher etc.

You now have new tools to embue your customer understanding, opinions, knoweldge and best practices etc into tools that other people can use.

The magic of Zero Marginal Cost replication of "Sofwatre as a Service", or just software if you are giving it away for free is now at your fingertips.


A list of hard won recommendations to make your life easeier and your products less shitty.


1. Dont use AWS ( Amazon Web Services ) for hosting your app.

You using AWS would be like a baby with a gun. Don't do it.

( By AWS I also mean, dont use GCP ( Google Cloud Platform) or Azure ( Microsoft ))

Unless you are already making $1m / yr in revenue form your software product OR have VERY special compliance needs ( HIPPA ( healthcare ), FedRamp, IL5 ( governemnt )) never touch it! Don't even make an account.

It will waste you dozens of hours, it will cost you more, you will have less fun, and your product will be worse.

This is a power tool made for people with BIG problems. For example Netflix lives INSIDE AWS.

Your Agent may point you in this direction. It's not hallucinating. Its just following best practices from corporate bullshit bubbling up from 20 years of training data.

The tools mentioned below are pwerful enough for people making Billions of dollars in software, i promise they will be enough for you.

Instead use:

Vercel + NextJS:

Your app almost always needs a frontend and backend. When your lucky, Nextjs ( Most populare way to build websites with Javascript ) it provides both, which is awesome, and why it is popular.

The company that makes Nextjs ( Open source software ) makes Vercel ( Servers to host the websites using Nextjs ) is easy and great for your project. You likely will not need to pay.

Now days they also sell domains so if you want a really simple path you can buy your domain from them, download their CLI or MCP, and you wont ever even need to learn how to manage a DNS cause your agent can just do it for you.

Railway:

Some of you will build things that need a different server setup for your backend.

Likely reasons are you want to use Python because of its ecosystem for AI agents or Data Processing or you just need longer running tasks ( processing data for hours ) or you didnt learn about Nextjs until after your agent already built you a FastAPI backedn in Python or something.

Railway is great because you dont even need to learn what a docker container is.

All you do is -> Connect Github ( more on this later ) => Push Code => App is live. Repeat

Your bill will be like $5/month, your app will be fast, your agent can use their MCP or CLI to debug issue for you.

In software because its cheap and simple does NOT mean its a toy. The best tech both gets better and simpler over time and the tools I recommend live that reality.

2. Don't use Firebase. Your better then that. aka Pick a good database & Authentication

Google and Agents might try to get you to use Firebase. Its a very popular product that solves lots of problems.

It also sucks.

You don't know it yet but by choosing Firebase, your going to have good Authentication ( User logins ), and shitty everything else.

Firebase primarily is a "NoSQL" database, which to you, a monkey with a magic wand, might as well not be a database, it is going to be like trying to make spreadsheets in Google Docs. Dumb.

NoSQL means No Organization.

The primary goal of almost all Software is to organize data, the simpler that is for you the better a time you are going to have.

Instead use:

A: Supabase

Supabase is for most apps going to cover your database ( Postgres ) and Authentication.

Its a great product, with a great database.

Postgres is the 4020 John Deere of databases. It can do anything. The analogy falls apart only because unlike the 4020. It can have essentially unlimited horsepower and the fundamentals of robustness and simplicity are maintainted.

This is a real database. It will not fail you.

Hint: You will make bad dataabase shape decisinos but most of them can be solved by asking your agent to use "3rd Normal Form".

Also just make your life easy and stick to magic link or password auth to start, f' setting up google auth for customers. Just lame and no one actually cares.

B: Neon + Clerk

Neon is my favorite way to use Postgres Database in 2026.

Simple, fast, cheap, great DX ( Developer experience ) but a little less "batteries included" than Supabase.

To do authentication you can use Clerk. A service jsut for managing logins. Free tier is good ( unless you want organizations which you probably do bu ti dreess )

Neon also has its own authentication service but have not yet tried it so can't recommend here. They make good stuff though so its probably pretty good.

C: Neon + BetterAuth

Where you raised by a dirt cheap farmer like me and hate adding dependencies or other software tools to your world, app, or credit card?

Then the magic combo is

Nextjs + Neon + BetterAuth

Everything I said about Neon above stays the same but you self manage your own user data completely without a service without sacrificing security with the best open source authentication framework on the market today. BetterAuth.

Betterauth knows how to set up the tables in your database, manage your login / signup flows etc, without you or your agent accidnetlly exposing something sensitive.

3. Send good emails with Resend

You can waste your life designing onboarding campaigns or you can just do it in code with Resend and let the agent do it for you.

You can also hate your weekend trying to manage Sendgrid, Postmark or a dozen other old but popular services that give you an API key and let you send email ( even if its just for reset passoword flows etc )

Resend also has a CLI MCP and created ReactEmail which means you can design your emails in code.

If you use Vercel for your domain and resend for your email, and give your agent their CLI's you can compress what used to take a day or more of bullshit ( to do a poor job ) into

"Create onboarding drip campaign"l

Agent can update DNS to configure your domain to Resend Email Api's so you dont end in spam or just not send.

The agent can create and design the emails with your logo ( put your logo somewhere obvious in codebase and ask agent to use it )

Resend sends the emails, monitors success, and has a schedule system so the agent can do stuff like "Send user email eery otehr day for two weeks after signup".

A future agent you run inthe backgroudn can optimize theses flows for you.

Your gonna have a better time with Resend.

4. Spy on your users ( And yourself ) with Posthog

Make sure to talk to people who use your software, but make sure you also watch what they do with Posthog.

Posthog takes screen recordins of your app while people use it, and gives you some of the only information you will have to turly know if somethign has gone wrong.

Secret: Even for professionals its pretty normal users cant sign up for a few days cause "No one noticed" or "Something happened on the weekend".

Posthog wil lhelp.

I also recomend using it for "logging". Literally the little messages you tell your app to write down and send to some system so you can understand whats going on. Errors, not errors etc.

Posthog these days also has bug tracking. So when your app crashes, you can get an alert.

Just tell your agent.

"Set up Posthog for user tracking in frontend,, and logging and bug tracking throughout"

Posthog Also has a good MCP / CLI so again, your agent can use it to read errors that happened in production, fix the problem, push the code, wait, test, and validate it was fixed or try again.

5. Backup your database

You are way more likely then me to accidentally delete your users data.

This stuff ACTUALLY happens.

Theres something called "3 2 1 Backup strategy" Learn its principles, Implement ATLEAST having backups turned on every 24 hrs in Supabase or Neon.

You may get lucky. You may get unlucky. This protects you on those unlucky days.

6. Use Github - Dont learn it

Github is just google docs for your code.

You dont need to learn all this "version management" or "git flow branchign strategies" or how a "merge rebase " works. F that.

What you need is tools that make making software easier to deploy.

That is Github.

Once your code is on github every tool mentioned above is just a "connect" to github away from every time your agent pushes code to Github on yoru behalf all of the new stuff is deployed and your users have new softwrae in < 5 minutes.

Doing it any other way is slower AND more complicated. Not less.

Default repos' are "public" ( People can see your code ) so if you dont want that make sure to select "Private" on creation.

Open code is great and commendable and their is less and less reason for almost any of you to actually keep your code hidden but this is just pure preference and more idealogy then anything.

7. Use Expo + React Native if you NEED a mobile app.

First thing first.

This is farming so yes mobile is preached as "mandatory" for lots of things.

But AVOID if you can!

Launching a website can be done in < 5 minutes with 0 permission and 0 dollars.

Launching an app will almost certainly take $100 in fee's or services and days if not weeks ( this is not including the building! just the waiting for permission from Google or Apple! ) and a few small percentage points off your Telomeres.

If you can't avoid. Use Expo + React Native.

React native lets you use React => the same thing as NextJS from above to write your app and let it run on both iPhone and Android.

Tons of agents and internet crap will tell you "Hybrid or Cross Platform Apps are bad or slow or etc".

They are dumb. This will work well for you and the other path will suck.

This is very "Perfect is the enemy of good".

Build an iPhone app in swift someday only if your strange product vision requires it ( it does happen ) or your making piles of money and your climbing the wall of optimization ( You are not here. )

Expo is basically the Vercel of React-Native.

8. If you need a Desktop app use Electron, if your targeting old crappy computers use Tauri.

Similar to React Native, Electron and Tauri let you build desktop apps using Web Code. One language, One Build, One deploy, for Windows, Mac, Linux, etc.

Don't build a native app. Take your website and shove it in box that runs on a users computer.

I would avoid this if you can ( Permissions from Platforms pain again. ) But if you cant this is the way.

If you thnk this is not good enough for you, Cursor, Claude Code, every "downloaded" agent you ahve ever used that is Not in the CLI runs on Electron. Its good enough for you.

Main difference about Tauri is its a little rougher around the edges but has considerably lower memory usage on your users computers, like 10 - 100x less.

9. Store files in R2 or Supabase

Again. Skip AWS, your agent will forsure recomment S3 ( the OG simlpe storage service ) for files. Think images your users take of sad corn. R2 is an S3 competitor by Cloudflare. Cloudflare is great. I use them alot, R2 is cheap, fast, and charges $0 for "Egress" ( Downloads ) and is vastly simpler then using AWS at all.

If you opted to use Supabase they have a Managed File Service over S3 for you that is easy.

So if you need files for your users ( pretty common but not always needed ) +1 more for you choosing supabase.

10. Set Budgets

Computers with credit cards can eat your savings in about 10 minutes.

Most services today ( particularly your servers ) have a way to set up alerts or limits completely.

Especially since you dont know what your doing you should turn these on.

Its not that hard to write a bug that consumes $1000 in an hour depending on your scaling settings. Luckily when you are on teh free tier of these apps they will just kill it.

Once your paying not so much.

The real play here, if you can, is to create a virtual debit or credit card for each service tied to a Maximum monthly value that feels right to you ( I set most at $100 so i have some flex if a product grows fast but not likely to just shut off on me if something happens )

Its probaly more than you want to do but if you start doing a lot of this over a lot of services i highly recommend getting an account with Mercury. Best Bank Ever.

11. Use OpenRouter for experimenting with models if your building an agent for your users.

Getting API Keys and signing up for services is by far the lamest part of vibe coding. Its like doing taxes at disneyland or somethign. No fun.

OpenRouter is just a servce that with one API key you can get like 200 models with all the popular ones, and at faster speeds then you can get directly.

In production you might save a few bucks going direct but not meaninful at small volume

12. Hide your f'ing API KEYS in a .env

You share your api keys your money will get stolen and your users will get hacked. Nuff said.

just say

"Make sure to gitIgnore all my API keys and sensitive stuff and check I dont have anything hardcoded thats dangerous"

Agent is good at this and will only get better.

13. Use ShadCN and Tailwind

Want your app to look not shitty and old?

This is the hack.

You know how every few years theres a new fad in clothes? Own a pair of Hey Dudes? Used to wear Buckle Jeans?

You get it.

Thats how UI or how the app "Looks and Feels" is in softtware. It changes every few yeras and you got to keep up or look old and lame.

Today that is Shadcn and Tailwind CSS.

Asking your agent to use them will make your application feel modern and good. without you having ot build an opion on if you think corner radius's should be 3xp ro 5px or ever learning what a z index is or deciding if you want to use Inter fonts.

Taste for free.

14. Use a "multi repo" vs multiple github repos. do NOT use a MonoRepo.

This is for one project

But if you have one application that has like a python backend on railway, a marketing website on vercel with nextjs and a Mobile app on Andoid and IOS this is how i d set it up.

Insted of you needing to have more reops, more .env files, learning out to properly get your agent to know stuff about multiple proejcts at once to make good decisions and work "across" the app do this.

/ web
/ mobile
/ backend
/ docs

The agent might be like "Lets set up a monorepo!" and you need to say NO. DO NOT DO THAT. STOP.

Its some advanced wizardy that has like some conceptual boost in nerd land of 10% and will cause 90% of your long term headaches.

All we want is a single github repo, thats easy for our agent to see all off, where each folder is a hosting "target" or "slice" of the app

Web -> Vercel
Mobile -> React Native
Backend -> Python on Railway
Docs -> Place to store random files, learning etc that helps you and your agent over time. For example ask the agent to do a competive analytics of the ecosystems marketing techniques and have the results stored in docs and refer to them when building your marketing page copy and drip email campaigns etc. 

This one is a bit advanced but in the end its one thing.

Your github is a folder.

Each folder is part of the project that makes sense to sit together because of how its deployed or what langauge its written in.

You want your agent to know your whole project to do good work for you.

Do not worry its too big or something.

I have successfully done this where each folder was a whole project, i had 400+ of them in one folder and the agent did great navigating and understanding.

15. Use Airtable for forms and waitlist

Airtable has a great api and great forms.

In that stage where you kinda have a website but things are crumbling on the build side but you already told your friends and you need a way to capture emails use Aritable.

Easist option is just create a table, create a form, have a button on your site nav to that link and they fill out teh form. Easy to automate to get an email sent to you when someone fills it out.

If sending people to boring form builder is cringe to you, you can have yoru agent make a nice form that still hits the airtable api and the email still comes to you. Easier then having like a "waitlist" or "forms" table in your actual thing.


GOOD LUCK OUT THERE.

ps. Feel free to reach out. And if you just want to take my opinions into your codebase so your agent uses them, just copy the text of ths blog into a file call it "carls_advice.md" and say "Follow @carls_advice" when doing stuff. It will understand :)