
Short answer
Most idea lists hand you a name and a wish. This one hands you the tables you'd create first. Every idea below comes with who it's for, what to build before anything else, a data model hint, the trap that catches people and how it could charge. There are no revenue figures, because nobody can honestly promise you one.
A good web app idea passes three tests. People reach it through a link. Several people look at the same data. And nobody wants to install anything for a job they do twice a month. MDN describes the upside neatly: a progressive web app can run on many platforms from a single codebase and can still be installed on a device.
There's a catch on Apple devices. WebKit's post on web push says a web app on iPhone or iPad has to be added to the Home Screen before it can ask for push permission, and the request must follow a direct user action such as a tap. If your idea lives or dies on notifications, read our native app vs web app breakdown before you start. And if nothing below matches a problem you care about, our guide to places to find your next app idea shows where people complain in public.
| Idea | Who it is for | Difficulty | Core features |
|---|---|---|---|
| Invoice builder | Freelancers and small studios | Beginner | Line items, live preview, PDF export, client link, paid status |
| Feature voting board | Small SaaS teams | Beginner | Public board, upvotes, status labels, comments |
| Event sign-up sheet | Clubs, schools and volunteer groups | Beginner | Slots with capacity, guest sign-up without an account, CSV export |
| Job application tracker | Job seekers | Beginner | Kanban stages, notes, contacts, follow-up reminders |
| Browser-only image compressor | Bloggers and shop owners | Beginner | Drag and drop, quality slider, size comparison, download |
| Booking page | Tutors, trainers and other solo services | Intermediate | Services, weekly hours, public page, confirmation emails |
| Client portal | Small agencies and consultants | Intermediate | Project pages, file sharing, approvals, comments |
| Expense splitter | Housemates and travel groups | Intermediate | Groups by link, split rules, who-owes-whom summary |
| Inventory tracker | Market sellers and small shops | Intermediate | Products, stock changes, low-stock alerts, CSV import |
| Team request tracker | Operations teams running on spreadsheets | Intermediate | Request form, owner, statuses, history |
| Uptime monitor | Indie developers and web agencies | Advanced | Scheduled checks, alerts, public status page, incident notes |
| Live classroom quiz | Teachers, trainers and event hosts | Advanced | Join code, timed questions, live leaderboard, results |
Freelancers don't want accounting software. They want to send a bill that looks professional and see who hasn't paid. Build the single invoice form first, with a live preview, a PDF and a link the client can open without an account. Data model hint: clients, invoices, line_items, payments, with money stored as integer cents. Watch out for tax: rules differ by country, so let users type their own rate, and never reuse an invoice number. To collect payment, Stripe Checkout can redirect customers to a Stripe-hosted page, so you don't have to build a card form. How it earns: a flat monthly plan past a free invoice limit.
Plenty of small SaaS teams keep feature requests in a spreadsheet nobody reads. Start with one public board: posts, upvotes and three labels (planned, building, shipped). Data model hint: boards, posts, votes with a unique constraint on user and post, comments. The trap is duplicates: admins need to merge two posts without losing votes. How it earns: free public boards, with custom domains and private boards on a paid plan.
Group chats are a terrible place to run a volunteer rota. Build a page with slots and capacities, and let guests sign up without an account. Data model hint: events, slots, signups, with a private edit token on each signup so people can cancel. Two people can grab the last place at the same moment, so check capacity inside a database transaction. School groups need extra care: collect as little personal data as you can. How it earns: weakly. A paid organizer plan might work, but treat this one as a first project.
Build this with a prompt on Greta.sh — describe the app, Greta writes and deploys it.A Kanban board with five columns (saved, applied, interview, offer, rejected) and one follow-up date per card is the whole first version. Data model hint: applications, stages, contacts, reminders, documents. Here's the business problem: your happiest users leave the moment they get hired. How it earns: a one-off pass suits it better than a subscription.
This one needs no server, which is rare. The File API lets a page read files the user selects, and canvas toBlob exports an image at a chosen format and quality. Build one image, one slider, the before and after sizes, and a download button. Data model hint: nothing on a server; keep settings in browser storage. MDN notes that an unsupported format falls back to PNG, so check what you actually got back. Big batches eat memory, so process files one at a time. How it earns: ads or a paid batch mode, and it lives or dies on search traffic.
Start with one service, weekly hours, a public page and a confirmation email. Data model hint: services, availability_rules, bookings, customers, with times stored in UTC next to the owner's time zone. Daylight saving changes will find every shortcut you took, and only a database constraint truly stops double bookings. When you add calendar sync, Google Calendar's freeBusy query returns free and busy information for a set of calendars. How it earns: a monthly plan per provider, with deposits as an extra.
Agencies chase approvals through long email threads. Build one project page with files and two buttons: approve, or request changes. Data model hint: organizations, users, projects, files, approvals, comments, with an organization ID on every row. Permissions are the product here. Test that changing an ID in the URL can't open another client's file. How it earns: a subscription per agency workspace.
Make a group that opens by link, let anyone add an expense, and show who owes whom. Data model hint: groups, members, expenses, splits, settlements. Rounding is the trap: $10 split three ways leaves a cent over, so store integer cents and give the remainder out by a fixed rule. Store the currency on each expense too. How it earns: this is hard to charge for. Receipt scanning as a paid extra might work.
A market seller needs two things: how many are left, and when to reorder. Build products, quick add and remove buttons, and a low-stock alert. Data model hint: products, locations, suppliers and stock_movements. Don't store stock as one number you overwrite. Keep a ledger of movements and add it up, so a wrong count can be traced. How it earns: a monthly plan by location.
Purchase requests, access requests, time off: lots of teams run these in a shared sheet until the sheet breaks. Build one form, one owner per request and a short list of statuses. Data model hint: requests, status_history, users, roles. The history table is what people will end up paying for, because it answers "who approved this?" Our guide to rebuilding an Excel workflow as a web app covers the migration. How it earns: build it for one company as a paid project, then sell it per seat.
It looks easy until you need background workers. Start with one URL checked on a schedule and an email after two failures in a row. Data model hint: monitors, check_results, incidents, subscribers. One check location gives false alarms, so re-check before you alert anyone. The results table grows fast, so roll old rows into daily summaries. How it earns: a monthly plan by number of monitors, with custom-domain status pages on top.
A host screen, a join code, one timed question and a results view. That's the first version, and it's still hard. The WebSocket API opens a two-way session between browser and server, so players don't have to poll for the next question. Data model hint: quizzes, questions, sessions, players, answers. Phones will drop off the Wi-Fi, so let players rejoin without losing their score, and score on the server using server time. Skip student accounts. How it earns: hosts pay for larger rooms and saved reports.
Want to try one of these? Start on Greta.sh — no setup, no boilerplate — just a prompt.These work in any AI app builder or coding agent. Replace everything in [square brackets]. Each prompt names the tables and the hard part up front, so the model doesn't have to guess.
A good first project: public page, one form, a capacity check.
Build a web app where an organizer creates an event for [type of group, e.g. a school fundraiser] and adds time slots, each with a capacity. Share the event through one public link. Guests pick a slot and enter only a name and an email, with no account. After signing up, a guest gets a private link to change or cancel their slot. Check capacity inside a database transaction so two people can't take the last place in the same moment. The organizer can see a list of sign-ups per slot and export it as CSV. Tables: events, slots, signups. Keep the design plain and make it work well on a phone.
Start with the document, not the dashboard. Add accounts once the PDF looks right.
Build a one-page invoice builder for [type of freelancer, e.g. freelance translators]. Left side: a form with my details, the client's details, line items (description, quantity, unit price), a tax rate I type in myself, and a due date. Right side: a live preview that matches the exported PDF. Store money as integer cents. Number invoices automatically and never reuse a number. Add a public link the client can open without logging in, and a button that marks the invoice as paid. Tables: clients, invoices, line_items, payments. Currency: [currency].
Ask for time zone handling up front. It's painful to add later.
Build a booking page for a solo [type of business, e.g. math tutor]. The owner sets one service ([length] minutes) and weekly opening hours, in the time zone [time zone]. Customers see open slots in their own time zone, pick one, and enter a name and an email. Store all times in UTC and add a database constraint so one slot can't be booked twice. Send a confirmation email with a cancel link to the customer and a notification to the owner. Tables: services, availability_rules, bookings, customers. Write tests for a booking that falls on a daylight saving change.
Working in Cursor? Our Cursor prompts collection covers rules and modes. Our best practices for AI coding will help you review what comes back.
Pick the idea where you already know a person with the problem. A tutor who'll try your booking page next week is worth more than a clever idea with no first user.
Then match the difficulty to your goal. Learning? Take a beginner idea and finish it. Charging money? Look at the business tools (invoices, bookings, portals, inventory, uptime), because a company with a recurring job can justify a monthly plan. Want something for a portfolio? The live quiz shows real-time skills that a CRUD app can't. Our list of vibe coding projects that make money takes the commercial angle further.
One last filter: if the idea needs other people's data before it's useful, such as a marketplace with no sellers, drop it for now. Everything on this list helps its first user on day one.
What are good web app ideas for beginners?
Start with an event sign-up sheet, a job application tracker, a feature voting board, an invoice builder or a browser-only image compressor. Each one has a small data model and a first version that fits on one or two screens. The image compressor needs no database at all, because the browser does the work.
Which web app ideas can make money?
The ones that do a recurring job for a business have the clearest route to charging: invoices, bookings, client portals, inventory, request tracking and uptime monitoring can all sell as a monthly plan. Consumer tools such as expense splitters and job trackers are harder to charge for. This list gives no earnings figures, because they depend on your market and your execution.
Do I need a backend for a web app?
Only if data has to outlive the browser tab or be shared between people. The image compressor can run without a server. The rest of this list is built around saved or shared data, so plan on a database and some form of login or private link.
Should I build a web app or a mobile app first?
Build a web app when people should be able to use the product from a link without installing anything, or when one person shares it with others who won't install it. A progressive web app can also be installed on a device, but on iPhone and iPad, WebKit says a web app must be added to the Home Screen before it can request push notification permission. If your idea depends on that kind of device access, compare the two paths first.
How do I know a web app idea has demand?
Look for people already doing the job by hand, in a spreadsheet or a group chat, and complaining about it. Then show one of them a working first screen and ask whether they would pay for it or switch to it.
© 2026 Questera
Follow in Google