Software For 10 People
Before LLMs, the minimum useful audience for custom software was maybe 1,000 people. Now it might be 10.
The audience needed to justify custom software is collapsing.
Startup software needed a market. SaaS needed many customers. Internal tools needed enough employees to justify the build.
A friend group, household, meetup, or single recurring workflow can be enough reason to build.
Before: not worth it. Now: maybe build it this weekend.
The real gain is not “30% faster functions.” It is that tiny friction becomes worth solving.
Setup, UI, backend, database, deployment, and maintenance often cost more than the problem.
A rough but useful version can be built fast enough that small tools become rational.
Vibe coding scales down better than it scales up.
Small apps have nearby users, reversible mistakes, simple data, and one person who can still understand the whole system.
Large systems turn generated code into coordination debt, vocabulary drift, hidden coupling, and unreadable issue queues.
The same technique has different risk at different scale.
Fun demos, throwaway prototypes, and experiments where the point is learning or taste.
Useful, low-risk software for a small group with fast feedback and manual recovery.
Dangerous unless the agent is constrained by architecture, domain language, and review.
LLMs are not only replacing code. They are replacing tiny shared spreadsheets.
For a few friends, a mini CRUD app can now be easier than maintaining a fragile sheet.
- Host it on a cheap static platform.
- Add just enough database or JSON storage.
- Give your group one clean URL.
- Keep the workflow shaped exactly like your people.
A sheet starts as coordination, then slowly admits it wants to be software.
Current LLMs are extremely good at basic software for real people you know.
Even if the whole thing is vibe-coded, the process can stay understandable.
Few screens, few users, few edge cases. You can still explain the app in one conversation.
The users are nearby. You can ask what happened, fix it manually, and delete bad ideas.
If it breaks, nobody loses money, medical data, legal rights, or production operations.
A motivated person can read the code, understand the data, and know where complexity lives.
Tiny apps do not need to become products. They can die after being useful.
A meetup series, trip, game night, habit sprint, or temporary household routine can deserve software.
No roadmap, investors, migration plan, or brand promise. If the group changes, the app can disappear.
Disposable does not mean useless.
Football score tracking moved from Google Sheets to an actual field UI.
A few hours of work created admin controls, game management, and a screen that fits the moment.
Full “not even looking at code” vibing is not there yet.
In a big greenfield PMS build, agent-written code can grow faster than anyone's shared understanding.
- Vocabulary drifts between agents, issues, and humans.
- GitHub issues become hard to read instead of clarifying work.
- Spaghetti code spreads across unclear boundaries.
- No one can disentangle complexity by hand anymore.
- LLMs need architectural constraints.
- Domain language must stay human-owned.
- Small tools tolerate mess; core systems do not.
- The human still has to manage complexity.
The danger is the gap between generated complexity and human understanding.
Personal ranking for building small software in June 2026.
Great engineers with average agents can still beat average engineers with top agents.
A better LLM helps, but it does not scale to infinity without architecture, domain judgment, and programming experience behind it.
average LLM Better decomposition, review, and domain choices.
Use boring pieces that stay visible to you and to the agent.
You probably do not need React. You might not need a database. Object storage, a JSON file, or a tiny SQLite schema may be enough.
- Small codebase
- Few dependencies
- Clear data ownership
- Easy manual fixes
Most accepted tech is optimized for larger teams than yours.
- Heavy SPA architecture for four screens
- Complex auth when a shared admin link works
- Microservices before there is one real service
- Generic platform thinking for one group
- Server-rendered pages plus small interactions
- A tiny database or object storage
- Manual admin flows for rare operations
- One repository you can still understand
Our Telegram group is already a product spec.
RSVPs, topic ideas, questions, and links are scattered across chat.
The organizer sees attendance, topic queue, and anonymous questions.
The group gets notes, links, recap, and lightweight history.
Good ideas are specific, low-risk, and annoying enough to matter.
Score sheets, timers, round history, and printable summaries for board games.
Agenda, decisions, owners, links, and follow-ups for a small recurring group.
Rotations, swaps, overdue items, and small household accountability.
Shared goals, check-ins, streaks, and weekly reflection for friends.
A clean group knowledge page linked to a bot that can save answers from chat.
Role notes, game setup, and scoring around the existing Resistance / Avalon project.
The agent can write code. You still decide what deserves to exist.
- What is actually useful?
- What should be stored?
- What should remain private?
- What can break safely?
- What should stay manual?
- When is the app overbuilt?
Match engineering effort to blast radius.
- Meetups and hobby groups
- Trip planning and book clubs
- Small community rituals
- Personal dashboards
- Payments and medical information
- Legal workflows
- Serious access control
- Safety-critical systems
Good vibe-coded projects are small enough to recover from.
- One owner can understand the whole app.
- The data model has a few obvious objects.
- Mistakes are reversible or manually fixable.
- The users are close enough to give fast feedback.
- No compliance, uptime, or security burden.
- Many teams need to coordinate around it.
- The domain language is already unclear.
- It touches shared infrastructure or core data.
- Incidents would hurt money, trust, or safety.
- Agents create issues nobody understands.
This presentation lives on Cloudflare Pages.
It is static HTML, published as a Pages, built in 2h.
Wrangler uploads the built static folder directly to the existing Pages project.
The deck is shareable at software-for-10-people.pages.dev, with preview URLs for each deployment.
Pick a tiny workflow where the users are in your chat history.
Look for a spreadsheet, pinned message, or repeated chat ritual that already acts like a database.
One workflow, one URL, one owner, and a data model you can explain without opening the code.
Use the first version to learn the real workflow. Polish only after the group actually uses it.
Not every useful app needs a market. The future is also tiny apps.