Marketplace and directory apps

Build a Job Board with a Coding Agent

See a working niche job board built on Userland. Try the live demo, copy the prompt, and adapt it for your community, directory, or listings site.

Open live demo

job-board-demo.apps.userland.fun
Loamwork demo job board with farm job listings, search, and category filters

Live demo

Open the demo at job-board-demo.apps.userland.fun. Browse farm jobs, post one of your own, then open the owner view to approve, decline, or edit it. What you add is kept apart from other visitors.

What this app does

  • Lists open jobs with pay, location, and schedule, featured jobs first
  • Filters by kind of work and schedule, with a search box for job, employer, or town
  • Gives every job its own page with the full description and how to apply
  • Takes new listings from employers through a simple form
  • Holds every new listing for the owner to approve or decline before it goes live
  • Lets the owner edit listings, feature them, keep private notes, and mark jobs as filled
  • Keeps employer contact details private to the owner

Who this is for

This app is useful for:

  • Community groups and associations running a jobs page for their members
  • Trade and industry newsletters that want a job board of their own
  • Local chambers and business networks
  • Nonprofits, schools, and training programs placing graduates
  • Anyone who wants a niche directory with submissions and review

App spec

User roles

  • Visitor who browses and applies
  • Employer who posts a job
  • Board owner who signs in to review and edit listings

Screens

  • Job board with search and filters
  • Job page with how to apply
  • Post a job form and confirmation
  • Owner review queue with status tabs and recent activity
  • Owner listing editor

Managed resources

  • Saved listings with status, dates, and review history
  • Owner sign-in with a single owner role
  • Activity log in the Userland console for every submission and review

Routes / 7

RoutePurpose
/Job board with search, kind-of-work, and schedule filters
/jobs/{id}Job page with pay, location, description, and how to apply
/postPost a job form for employers (sends the listing for review)
/post/thanksConfirmation after posting
/ownerOwner review queue, grouped by status (sign-in required)
/owner/jobs/{id}Owner listing editor (sign-in required)
/owner/jobs/{id}/statusApprove, decline, mark as filled, or put a listing back live (sign-in required)

Data model

Listing

  • id
  • title
  • employer
  • location
  • kind of work
  • schedule
  • pay
  • summary
  • description
  • how to apply (link or email)
  • contact name (owner only)
  • contact email (owner only)
  • status (waiting for review, live, declined, closed)
  • featured
  • private note (owner only)
  • history
  • time submitted
  • time published

Build it with this prompt

Paste this into your coding agent to build your own version, then ask it to change the copy, design, and data for your business.

job-board-prompt.txt
Build and publish a job board for my community on Userland.

What I need:
[Describe your board: who it's for, the kinds of jobs or listings, the filters people need, what employers fill in, and who approves new listings. For example: "Jobs at independent bike shops in Colorado. Filter by shop role and full- or part-time. Shops post for free and I approve each one."]

How to work:
1. Read https://docs.userland.fun/llms.txt first and follow the Userland docs. Don't guess how Userland works.
2. Start from the job board example at https://github.com/dwrtz/userland-public/tree/main/examples/job-board. Replace its made-up farm job board with my board and remove its demo mode.
3. If I haven't filled in "What I need", ask me first. Ask anything else you need before you build, then explain your plan in plain language: the pages, who can sign in, and what information gets saved and who can see it.
4. Build the app with its own name and look. Keep new listings off the board until I approve them, keep employer contact details private to me, and keep API keys and secrets on the server, never in the browser.
5. Publish with the Userland CLI. If you need to sign in, run userland login and I'll approve it in my browser. Then set me up as the owner so I can sign in to review listings.
6. When it's live, tell me the link, how employers and I use it, anything that needs a paid plan, and how to undo a release if something breaks. Note the app ID and release ID in the project README so you can publish updates later.

Implementation notes

Pages load as plain HTML from the server. Every page, including search and filters, works without JavaScript and loads fast on a phone. Filters and search are links and a simple form, so filtered pages can be bookmarked and shared.

Listings are saved in Userland managed data. Only the app itself can read them. Each listing carries a status (waiting for review, live, declined, or closed), so the public board and job pages only ever show approved jobs. Employer contact details and the owner’s private notes are removed before a page is rendered for visitors.

The owner pages are locked. They use Userland’s app sign-in with a single owner role, and public sign-up is turned off. Signed-out visitors are sent to the sign-in page, other accounts get a clear “can’t manage listings” message, and changes are refused unless they come from the owner.

Every listing leaves a trail. Each submission, approval, decline, and edit is written to the app’s activity log, which you can read in the Userland console alongside errors. On Starter and above, traffic analytics show visits, popular pages, and where visitors came from.

Forms are protected against common abuse. The public form checks every field on the server, limits lengths, and quietly drops submissions from bots that fill in a hidden field. Everything a visitor types is escaped before it appears on a page. Each job page also describes the job in the format search engines read, so a real board’s listings can show up in Google’s job search.

The demo runs in demo mode. The live demo is a made-up board called Loamwork. It lets you try the owner view without signing in: sample jobs come with the app, and anything you post or approve is kept apart from other visitors (anyone you share your link with sees it too) and cleared after a day. The example’s README shows how to remove the demo so your own board always requires the owner sign-in.

Variants

You can customize this app into:

  • Niche job board for one trade, industry, or region
  • Local business directory with categories and owner-approved listings
  • Creator directory where creators submit their profiles for review
  • Scholarship directory with deadlines, eligibility, and how to apply
  • Community resource directory for food banks, clinics, and support groups
  • Vendor directory for events, markets, or wedding suppliers

FAQ

What plan does this app need?

The job board runs on the Free plan, including owner sign-in and saved listings. Free covers up to 1,000 saved listings per app and 10,000 requests a month across your account. Your own domain, a named address like yourboard.apps.userland.fun, and traffic analytics (visits, top pages, and where visitors came from) need Starter or above; the board works without them. A busy board will also want Starter’s higher limits.

Who approves new listings?

You do. Every job posted through the form waits in your review queue, and nothing appears on the board until you approve it. You sign in with an owner account on your app, and anyone without that role can’t open the owner pages.

Can visitors see employers' email addresses?

No. The contact name and email an employer gives when posting are only shown to you in the owner pages. The public job page shows only the apply link or email address the employer chose to share.

How do I undo a change?

Every publish is saved as a release. Ask your coding agent to roll back, or run userland apps rollback with the app ID and an earlier release. Rolling back switches the live app to the earlier release and keeps all your listings. Free keeps your last 2 releases; Starter keeps 10.

Can I charge employers to post?

Not in this example. Your coding agent can add a payment step with a provider like Stripe, keeping the secret key on the server. Ask it to explain the plan and any costs before it builds.

Can I turn this into a directory instead of a job board?

Yes. The same pieces work for any listings site. Ask your agent to rename the fields and categories, such as business type and neighborhood for a local directory, or deadline and eligibility for scholarships.

Build yours.

Paste a prompt into your coding agent and describe how your business works. Your agent builds the app. Userland runs it.