Build a Simple App with Bubble: Step-by-Step Tutorial

Build a Simple App with Bubble: Step-by-Step Tutorial

Build a real feedback app in Bubble without code: database setup, authentication, workflows, and deployment. For indie hackers validating ideas fast.

Bubble enables you to launch a working web app in days without writing a line of code. You create UI by dragging components, define workflows with visual logic, and deploy to production with a click. This guide walks through building an MVP—a feedback collection tool—from scratch, covering database setup, user authentication, and email automation.

black Android smartphone Photo: Roman Synkevych on Unsplash

Who this is for: Solo founders who can handle technical documentation but prefer not to spend weeks coding backends. You get how apps function—databases, APIs, user sessions—but you'd rather validate ideas quickly than debate authentication libraries. You like learning by doing, not watching endless YouTube intros.

Why Bubble Still Matters in 2026

No-code platforms boomed from 2020 to 2024, yet many vanished or shifted direction. Bubble survived by focusing on rapid prototyping for non-trivial apps. You're not restricted to simple marketing sites. You can craft complex logic, integrate external APIs, and manage thousands of users.

Bubble's visual programming model compels you to think in workflows and data structures—similar to using Django or Rails. Here's the thing, you skip syntax, dependency nightmares, and deployment scripts. According to Bubble's 2025 founder survey, 64% of apps on the platform reached paying customers in 90 days. That's the key metric.

The tradeoff is that Bubble apps don't scale like custom code. When traffic spikes or microsecond API response times are needed, expect to rebuild. But for validation, customer interviews, and the first 500 users, it's quicker than any framework.

Set Up Your Bubble Workspace

Smartphone screen displays ai assistant options Photo: Zulfugar Karimov on Unsplash

Create a free account at bubble.io. The free tier offers hosting, SSL, and all core features. You're limited to 50 database records and Bubble branding in the URL, but you can launch a testable product.

After signing up, click New app. Name it something specific—"FeedbackLoop" or "UserVoiceCollector"—instead of "MyStartup." Bubble generates a subdomain: feedbackloop.bubbleapps.io. You can map a custom domain later for $25/month.

The editor loads with three panes:

  • Left: element tree and property inspector
  • Center: canvas for designing pages
  • Right: element styles and data sources

Toggle Responsive view in the top bar. Bubble uses a flexbox-like layout system. Elements resize based on parent containers, not fixed pixels. This matters for mobile users.

Build the Database Schema

Click Data in the left sidebar, then Data types. Define your schema—the structure of your app's stored objects.

Create a new type: Feedback. Add these fields:

  • user (type: User) — who submitted
  • message (type: text) — the feedback content
  • status (type: text) — "new", "reviewed", "closed"
  • created_date (type: date) — auto-populated
  • priority (type: number) — 1 to 5

Bubble automatically generates a User type when authentication is enabled. It includes email, password (hashed), and a unique ID. You can add custom fields like company_name or plan_tier.

Privacy rules are crucial. Click Privacy under Data. By default, data is private. Set rules:

  • Feedback: creators can view/edit their records; admin role can access all
  • User: users can only view their profiles

Without these, your app will show "You don't have permission" errors when loading data.

Design the Feedback Submission Page

On the canvas, remove default text elements. Add:

  1. Input (multiline) — for feedback text
  2. Dropdown — for priority (1–5)
  3. Button — labeled "Submit"

Select the input. In the property inspector, set Placeholder: "Describe your issue or idea." Check Auto-bind for live data syncing, but for this workflow, a manual button click is used.

Select the dropdown. Click Choices > Dynamic choices. Type: 1,2,3,4,5. This creates five options. Set Default value: 3.

Define the button workflow. Click the button, then Start/Edit workflow at the bottom. This opens the workflow editor—Bubble's visual scripting canvas.

Add action: Data (Things) > Create a new thing. Choose type: Feedback. Set fields:

  • user = Current User
  • message = Input Feedback's value
  • priority = Dropdown Priority's value
  • status = "new"
  • created_date = Current date/time

Add a second action: Navigation > Go to page > thank-you. Create that page with a simple "Thanks for your feedback" message.

Test it. Click Preview in the top-right. The app opens in a new tab. Submit feedback. Check the App data tab in the editor to confirm records saved.

Add User Authentication

Click Workflows > Show reusable element. Add a Header reusable element. Inside it, add:

  • Text: "FeedbackLoop"
  • Button: "Sign Up"
  • Button: "Log In"

Each button triggers a workflow. For "Sign Up":

  1. Account > Sign the user up
  2. Fields: email (from popup input), password (from popup input)
  3. Navigation > Go to page > dashboard

For "Log In":

  1. Account > Log the user in
  2. Same fields
  3. Same redirect

Create popups for email/password inputs. Add an Input (email type), an Input (password type), and a Button ("Create Account" or "Log In"). Link button workflows to the reusable header buttons.

Bubble manages sessions. Once logged in, Current User is available in all workflows and data queries. No JWT libraries, no Redis sessions needed.

Restrict pages. On the dashboard page, go to Workflows > Page is loaded. Add condition: Current User is empty > Navigate to login page. This blocks logged-out users.

Connect an External API (Email Notifications)

Real apps send emails. Bubble includes a basic SMTP plugin, but for transactional emails, use SendGrid. They offer 100 emails/day free.

In Bubble, click Plugins > Add plugins > search SendGrid. Install it. Enter your API key (generate one in SendGrid dashboard under Settings > API Keys).

Add this workflow after feedback submission:

  1. Plugins > Send email via SendGrid
  2. To: your admin email (hardcode for MVP)
  3. Subject: "New Feedback from [Current User's email]"
  4. Body: "Priority [Dropdown Priority's value]: [Input Feedback's value]"

No need for queue workers or background jobs. Bubble handles async plugin calls.

For advanced use—webhooks, REST APIs—click Plugins > API Connector. Paste your API endpoint, method (GET/POST), headers, and body. Bubble parses responses and makes fields available in workflows. Integrations like Stripe, Twilio, and custom internal APIs work this way. It's a bit clunky but gets the job done.

Deploy and Monitor Performance

Click Deploy > Deploy to live. Bubble pushes changes from the development environment (where you edited) to production (what users see). Rollback is one click if something breaks.

Your app is live at feedbackloop.bubbleapps.io. Share it. Collect feedback. Don't obsess over polish yet.

Performance monitoring: Bubble's Server logs tab shows API calls, workflow execution times, and errors. Database queries over 300ms are highlighted. If consistent slowdowns appear, add indexes: Data > Option sets or restructure queries.

Bubble's Achilles' heel: database queries run synchronously in workflows. Fetching 1,000 records and looping through them will freeze the page. The fix: paginate (load 20 at a time) or use Backend workflows to process data asynchronously. Backend workflows cost extra—$29/month—but they're crucial beyond 50 concurrent users.

What Nobody Tells You About Bubble

Bubble is not a code replacement. Instead, think of it as a prototyping accelerator. When you reach 10,000 users or complex business logic, you're likely to rewrite in code. Bubble workflows can become tangled at scale. There's no version control, no diff tool, no easy way to refactor 200 workflows cleanly.

Custom code is possible but painful. You can use HTML, CSS, and JavaScript in HTML elements or plugins. But debugging is tough. No console, no breakpoints. It's like console.log-ing into the void.

Plugins can be tricky. Many are outdated. Check the last update date and reviews. Days can be lost on plugins that break after Bubble updates their API. Build critical integrations yourself with the API Connector.

Security is decent, not flawless. Bubble auto-sanitizes inputs (no SQL injection). However, exposing admin endpoints or forgetting privacy rules can lead to data leaks. Test logged-out states obsessively.

Team collaboration is limited. Only one person can edit the app at a time. If two editors are open, last save wins. No merge. No branches. This was a dealbreaker when onboarding a contractor.

Common Mistakes That Kill No-Code MVPs

Over-designing the UI. You're building a skateboard, not a car. Ship ugly if functional. Founders often spend too many hours tweaking button shadows while the landing page gathers zero signups.

Ignoring database indexing. Bubble doesn't automatically index. If searching by a custom field (like status), add an index in Data > App data > All Feedbacks > Create an index. Queries will run 10x faster.

Not testing logged-out states. Half of workflows will fail if Current User is empty. Add conditionals or force login on page load.

Assuming Bubble will scale. It won't. Plan your exit to code at 5,000 users or $10K MRR. Migrate to PostgreSQL, rewrite API in Node/Python, and keep Bubble as a frontend temporarily.

Skipping backups. Bubble doesn't version your database. Export to CSV weekly (manual) or use Zapier to sync to Google Sheets. There have been instances of data loss during failed workflows.

Frequently Asked Questions

Can I export my Bubble app to code?

No. Bubble apps run on proprietary infrastructure. You can export data (CSV) and use the API Connector to mirror workflows in custom code, but there's no "export to React" button. For portability, consider using Webflow for frontend + custom backend, or bypass no-code entirely.

How much does Bubble cost after the free tier?

$29/month for custom domains and backend workflows. $119/month for higher capacity (more API calls, faster database). Enterprise plans reach $500+/month. For most MVPs, $29/month suffices until generating revenue.

Is Bubble fast enough for real-time apps?

No. Latency is around 200–500ms per workflow step. Fine for CRUD apps (feedback tools, directories, booking systems). Not suitable for chat, multiplayer games, or financial dashboards. Use Firebase or Socket.io for real-time needs.

Can I hire Bubble developers?

Yes, but quality varies. Bubble's agency directory lists vetted agencies. Expect $75–$150/hour. Cheaper options exist on Upwork, but often deliver subpar results. Learning Bubble yourself might be more efficient than managing an ineffective contractor.

Next Step: Ship and Validate

Build your MVP in Bubble this week. Not a clone of Linear or Notion—something small and practical. A tool you'd personally use. Feedback collector. Waitlist manager. Simple booking form.

Set a deadline: seven days. On day eight, send the link to ten people. Ask them: "Does this solve a problem you have?" If no, scrap it. If yes, ask: "Would you pay $10/month?" That's validation, not just traffic.

Bubble is a tool, not a business model. Use it to test ideas swiftly, then decide whether to rebuild in code or stick with no-code based on traction. The founders who succeed are those who ship quickly and iterate, not those who debate tech stacks for half a year.

For more insights on project management tools, check out our comparison of Trello vs. ClickUp for Solo Projects: The Truth and explore the Best Content Creation Tools for Indie Hackers in 2026 to enhance your productivity.


Editorial note: This article was produced with AI assistance and reviewed by Javier Valencia. Verified facts are distinguished from editorial opinion throughout the text. External sources linked are independent of NewsTide.

Sources

  1. black Android smartphone
  2. Roman Synkevych
  3. Bubble's 2025 founder survey
  4. Smartphone screen displays ai assistant options
  5. Zulfugar Karimov

More in Indie Hacking

🇪🇸 Also available in Spanish: Leer en español

𝕏in