VentureWorld
A marketplace where businesses for sale or seeking investment are listed, reviewed and matched with investors, with AI assistance for writing the listing.
- Status
- Private, pre-launch
- Role
- Lead developer
- Year
- 2025 to 2026
- Type
- Business listings marketplace

Where it stands
Deployed at ventureworld.net behind a site password. The client has not opened it to the public, so nothing beyond the gate can be checked yet.
- History
- 226 commits over seven months
- Areas
- Public site, seller dashboard, admin console
- AI
- Listing assistant and site chatbot
The problem
Selling a business or raising investment starts with a listing that most owners find hard to write: financials, assets, reasons for sale, what is actually on offer.
The platform needed to make that listing easy to produce, keep its quality under editorial control, and stay closed to the public until the client was ready.
Goals and constraints
It had to
- A guided listing form that owners can finish.
- Editorial control: nothing reaches the marketplace, or changes on it, without review.
- AI help that suggests rather than overwrites.
- A way to run the site privately in production.
Within these limits
- The client iterated on positioning and compliance wording throughout, so content had to be cheap to change.
- Financial details in listings are sensitive and editing them needed an audit path.
My part
224 of the 226 commits in the repository are mine, from October 2025 to May 2026. The business, its positioning and its content belong to the client.
- Built the public site, listing pages, the create and edit flow, the seller dashboard and the admin console.
- Built the review workflow for new listings and for edits to approved ones.
- Built the AI listing assistant and the site chatbot behind server-side API routes.
- Added the questionnaire and matching logic, the environment-controlled password gate and maintenance mode.
What it is
Owners create a listing through a structured form covering the business, its financials and the offer. Admins review it. Once approved, later edits go through a change-request flow instead of altering the live listing directly.
Investors browse opportunities by industry, complete a profile questionnaire and receive recommended listings.
- Listing change requests
- An edit to an approved listing is stored as a proposed change and reviewed by an admin before it replaces what the public sees.
- AI listing assistant
- Suggests titles, descriptions, highlights and field-level wording from the draft so far. Suggestions appear as a preview the owner accepts or discards.
- Questionnaire and matching
- Investor and seller profile flows feed the logic that recommends listings.
- Password gate and maintenance mode
- Both are controlled by environment variables, so the production site can be closed or paused without a code change.
- Admin console
- Approvals, listing management and platform statistics.
- Mobile navigation
- A bottom navigation bar that hides on scroll, built for the way the site is used on phones.
Decisions and trade-offs
01Edits are proposals
Treating every post-approval edit as a change request keeps the public listing stable while it is being revised.
The cost. Owners wait for review on small corrections. Word limits and database constraints reduce how often that is needed.
02AI calls stay on the server
The assistant and chatbot run through API routes that hold the key and choose the provider. The same code works against OpenAI or an OpenAI-compatible router.
The cost. An extra hop per request, in exchange for keys that never reach the browser.
03Suggest, then confirm
The assistant never writes into a field directly. It shows what it would change.
The cost. One more click per suggestion. Financial listings are not a place for silent edits.
How it is built
- Next.js with the Pages Router, Supabase for auth and data, TanStack Query for client-side data.
- ImageKit for listing media, Resend for contact and inquiry email.
- Database constraints mirror the form's word limits so the rule holds whichever path writes the row.
Next.js · React 19 · TypeScript · Supabase · TanStack Query · Tailwind CSS · Framer Motion · ImageKit · Resend · OpenAI-compatible APIs
Hard problems
An upgrade to Next.js 16 left a deprecated middleware file returning 503 for the whole site.
Removed the deprecated middleware and moved the gate and maintenance checks to the supported convention.
Builds failed when environment variables were absent at build time.
Stopped the Supabase client from throwing during build and separated public build-time variables from server-only secrets.
Limits and open work
- The site is password-protected, so the link above will ask for a password.
- Marketplace figures shown on the client's site are theirs and are not repeated here.
- The repository is private.
Need something like this built?
Tell me what you are making. I will tell you how I would approach it, and whether I am the right person.
Start a conversation