How to build a startup directory website with Replit
Build a startup directory in one Replit workspace, from the first message to the day readers start using it. A filterable list of companies, news articles with a page each, a funding rounds tracker whose totals stay right, and an admin where you publish all of it, with everything saved to a database set up for you and published from the same tab.
Replit
$ Build me a startup directory website: visitors browse companies and filter them by category, funding stage, amount raised and location, read news articles, and see each company’s funding rounds. Add a database for all of it, sign-in for the admins who add and publish startups, rounds and articles, and keep everything hidden until it is published.
- Database provisioned in the workspace
- Directory and admin built
- Ready for you to publish
Overview & core architecture
A startup directory is a hand-picked list of companies, equipped with filters to help you find them. It includes news updates to explain recent changes and funding data to show which startups are growing. Instead of letting companies submit their own profiles, everything is carefully managed and edited by admins to ensure quality.
Usually, if you want to build a directory like this, you have to rent a platform. Website builders charge a monthly fee, no-code platforms charge based on how many records or users you have, and database services charge per team member just to read the data. Most other products on the market use one of these restrictive pricing models.
This template is much simpler: it consists of a secure database and a website connected to it. The public website allows anyone to browse published startups, funding rounds, and news articles using handy filters. Meanwhile, a hidden admin panel is where your team can easily manage the companies, tags, categories, and content, and only authorized admins can make changes.
The biggest difference is how you pay. There are no limits on the number of listings, records, or users. Adding your hundredth company costs exactly the same as adding your first. Your only running costs are a database and hosting, which both offer generous free plans to start. The only real limitation is your own time: because this directory focuses on quality, everything is added manually by someone you trust, rather than being automatically pulled from a feed.
Simple database security
Our security setup basically enforces two things: the public can only see published content, and admins can manage everything. Because this security rule lives deep inside the database, a visual bug on the website can never accidentally show a draft to the public. The database simply won’t allow the private data to be loaded.
Curated instead of crowdsourced
Companies cannot automatically add themselves to the list. An admin has to create the profile, assign categories and tags, add funding data, and publish it when it’s perfect. This takes more effort than an open submission form, but it’s exactly what makes a specialized directory trustworthy and valuable to read.
Structured data instead of plain text
Funding details are saved as structured records (like stage, amount, date, and investors) rather than just paragraphs of text. The database automatically updates the company’s total funding whenever a round changes. This organized approach is what allows your visitors to easily filter startups by specific numbers and investment stages.
The parts every startup directory is built from
Six core blocks make up the platform. Start by building the main directory first to test your access rules. You can easily prompt any AI coding tool to build these components using simple language.
Filterable startup directory
A searchable grid of company cards with filters for category, funding stage, total raised, and location. Visitors can sort listings by newest additions or largest funding rounds and click any card to view full details, links, and history. Only active, published companies are visible.
News and articles
A dedicated blog section listing published stories with custom URLs, cover images, categories, and tags. Drafts remain completely hidden from the public until an admin publishes them.
Funding rounds tracker
Tracks every funding event with details on stage, amount, date, investors, and company valuation. The database automatically updates a company’s total funding whenever a round is added or changed, allowing visitors to filter by specific funding amounts.
Admin CMS for all public content
A central dashboard displaying key platform stats alongside simple management screens. Admins can add, edit, archive, or delete startups and articles, manage categories and tags, and switch user roles between admin and viewer in one click.
Secure image storage with limits
Organized storage folders with automatic file-type and size limits (5 MB for logos, 10 MB for covers and article graphics). Built-in security rules check user permissions before any file is saved to prevent unauthorized uploads.
Landing page and interactive demo mode
An engaging homepage highlighting key sectors and trends, paired with a safe demo mode. Visitors can explore the admin interface without creating an account because simulated changes are blocked from saving to the live database.
Own the directory or rent it by the month
Every product below rents you the shelf your directory sits on, and each one meters it differently: per site per month, per item in a content system, per record and app user, or per seat for data you may not republish. A directory you own has none of those meters, which is the thing to hold on to while you read the table.
Build your own
Own the directory outright: the companies, rounds and articles sit in a database you control, the site is a static build you can put on any host, and the only bills are a database plan and hosting that both start free. Your AI coding tool writes the publish rules, the admin and the funding arithmetic from a plain description.
- No meter on listings, items, records or seats, so the hundredth company costs what the first one did
- Your own filters, categories and stages, decided by you rather than picked from a builder’s menu
- Funding rounds as structured rows with totals the database keeps right, not a text field
- A publish switch enforced in the database, so a draft never leaks through a forgotten filter
- Your own domain, your own design and no builder badge in the footer
- The code and the records are yours outright, and can move to any host or any Postgres
Rent the software
Brilliant Directories · eDirectory · Webflow · Softr · DealroomRenting buys you a site this afternoon, with somebody else keeping the software patched and the servers up. What it costs is a recurring price that follows the size of the thing you built, and a ceiling you did not choose.
- Live today, with hosting, updates and support handled by the vendor
- Member accounts and payment features on the directory builders that this template does not have
- A monthly price per site, or per item, record or seat, that grows as the directory does
- Caps on records, items or app users that decide when the next tier is due
- Your design inside the builder’s theme system, and your data inside its export
- A data subscription lets you read funding rounds, not publish them as your own directory
The plainest version of renting the shelf: one directory, one price a month, whatever is in it. The lifetime plan is the closest any row comes to owning something, and it is still a licence to run your directory on somebody else’s software, with the page warning that the lifetime option is being withdrawn. Read this row for what a directory builder with member accounts and payments built in costs, because those are the two things this template does not have.
brilliantdirectories.com · checked September 2026
The row with the honest comparison in it. eDirectory sells the same software two ways, rented by the month with no cap on listings, or bought once as source you install yourself, and the second is the shape of what this guide builds. The one-time price is roughly what fourteen months of the entry plan cost, which is the arithmetic every rent-or-own decision on this page comes down to.
edirectory.com · checked September 2026
A general site builder where every company and every article is one item in its content system, so the meter is the item count and the tier is what raises it. The price is low for a small directory and the ceiling is generous, and what you are renting is the design tool and the host rather than a directory: filters, funding totals and an admin with roles are yours to assemble inside it. Monthly billing exists and shows different figures, which the page renders only once you toggle it.
webflow.com · checked September 2026
A no-code app builder priced by records and by the people who sign in, which is the meter closest to what a directory actually grows by. A real directory lands on Pro rather than Basic, because Basic caps app users and keeps the vendor’s branding on the site. The page does not say in its static text which billing basis those figures are, so read them as the monthly price at most and check the toggle before you budget.
softr.io · checked September 2026
The other thing a reader might rent instead of building: not the shelf but the data on it. Dealroom sells the funding rounds this template asks you to type in, by the seat and by the year, and what you buy is the right to read and export them, not to publish them as your own directory. Quoted in euros because that is the only currency the page offers. Read it for the scale of what somebody else’s data costs, and for why the funding tracker here is filled by hand.
dealroom.co · checked September 2026
Rule of thumb: if you want a directory this week and do not care whose software it runs on, rent one. Brilliant Directories or eDirectory will have you live before this guide is finished. If the directory is the product, or the thing that brings people to your newsletter, your fund or your community, the shelf is worth owning, because the meters above are exactly where a growing directory pays and a curated list of companies with their rounds is an asset you should be able to move, export and redesign at will. The honest middle case is a directory whose value is somebody else’s data. There the answer is a subscription, because you may read Dealroom’s rounds and you may not republish them.
Why build with Replit
Skip the directory software and the server engineering. Describe the companies, the news and the funding rounds you want to track, say who may edit them, and everything a visitor sees is read from a database you own without you writing server code.
Replit’s Agent handles the database, the access rules, and the hosting from one chat, in the same workspace the site ends up living in:
Describe
Tell the Agent what to build, in plain language.
Watch
It writes the code, sets up the database, and shows the app running live.
Try it
Use the real app in the preview rather than a mockup.
Publish
Take it live on Replit’s own hosting, or ask for the next change.
The build and the place it ends up running are the same workspace throughout, so there’s no separate hosting account to set up later.
One workspacebuilds, runs, and hosts it
Replit is the one tool here that also deploys what it builds. Publishing takes the same project live on Replit’s own infrastructure, with a working domain, uptime monitoring, and security scanning included.
Managed Postgres with 20GB included free
Ask the Agent to add a database and it creates the schema and wires your app to it. What you get is a real, fully-managed SQL database rather than a mocked one.
Up to 10 Agent sessions in parallel (Pro)
Core allows up to 2 parallel Agent sessions and Pro allows up to 10, so more than one part of the app can be worked on at the same time.
Pay a developer, or do it with AI
Running a directory is practically free on starter tiers (database + host). Your only real investment is the build itself: pay for developer hours or build it faster with AI.
Hire a developer
Custom build, from scratch- Developer
- ~$9.8k-$39k
- Supabase (backend)
- Free tier · $25/mo (Pro plan)*
- Hosting
- $0 free tier
- Build time
- ~195 hrs of their work
~$9.8k-$39k for the build, then from $25/mo once the directory is live
Our ~195-hour estimate, costed against the rate survey linked below, whose bands run from a $45-$75/hr global freelance average up through $100-$150+/hr for senior US developers, before the 20-40% an agency adds, which brackets the range at roughly $50/hr and $200/hr. Most of those hours go on the admin, the publish rules and the funding arithmetic, none of which shows in a screenshot of the directory.
Build it with Replit
From scratch, with Replit- Replit
- Free (daily credits) to $25/month (Core) or $100/month (Pro)
- Database (built-in Postgres)
- Free to start · 20GB included
- Hosting (Replit Deployments)
- Billed separately, on top of the plan
- Your time
- ~93 hrs
Free to try the idea, ~$25-$100/month on Core or Pro while you build a real one, then whichever plan (plus any deployment cost) you keep using
Replit’s plan price and its credit grant are the same number, not a subscription plus a separate credit purchase: Core is $25/month for $25 of monthly credits (or $20/month billed annually), Pro is $100/month for $100 of monthly credits (or $95/month annually). Once you publish, Replit bills hosting through its own Deployments separately, on top of whichever plan you’re on. Budget for it as a second line, not folded into the $25 or $100.
* On this template the free-tier lines to watch are images and the pause. The free plan includes 1 GB of file storage, and a cover or gallery image may be up to 10 MB, so a directory with a few hundred companies and their pictures reaches it. It also pauses a project after a week without activity, and a directory nobody edits for a week is normal. Pro, from $25/mo, lifts storage to 100 GB, ends the pause and keeps a daily backup for 7 days, with spend caps on by default.
Prices and rates from supabase.com, developex.com and replit.com, checked September 2026.
Decide before you build
Six key choices to make before you write any code. Two affect your site’s search engine visibility, while another determines whether you manage listings yourself or let companies submit them.
Who adds a company, you or the company?
By default, only admins can add startups. This keeps the directory carefully curated, but makes you a bottleneck. Decide early if your initial version needs a public submission form with a review queue, because open submissions require extra screens, database tables, and spam management.
Does each company get its own page?
Currently, clicking a company opens a slide-over panel on the main page, meaning individual startups don’t have unique web addresses for search engines to index. Giving each company its own dedicated URL is a major structural change, so decide your SEO strategy before building screens.
Which categories, stages and tags?
Funding stages are pre-set in the database, while categories live in an admin table. However, the sidebar filters are currently hardcoded in the layout, so new admin categories won’t appear until you update the code. Decide your taxonomy early and whether filters should pull dynamically from the database.
Where does the funding data come from?
In this template, admins enter funding rounds manually and the database calculates totals. Automated data feeds or CSV imports require extra custom development, and paid data feeds usually restrict republication. Decide whether to enter data manually, import it, or leave funding out completely.
How much of the news is yours to write?
Articles currently use simple plain text with basic image and tag support, without a built-in newsletter. If publishing is a central focus, decide if you need rich text editing, multi-author permissions, or automated email sends. A regularly updated news section deserves more than a basic text box.
How big will the directory get?
Search and filters run directly inside the visitor’s browser. This is extremely fast for hundreds of companies, but fails at scale for tens of thousands. Decide your target size early so you can move filtering logic to the database and set storage limits before performance drops.
Comparing your build options
Putting a grid of company cards on a page is fast. The hard part is everything behind it: a publish rule the database enforces, funding totals that stay right when a round changes, an admin that can add, archive and delete without leaving orphans, and images that are checked before they are stored. Here are three ways to build the exact same site.
The card grid goes up in a day. The weeks go on the parts nobody sees in a screenshot: a publish switch the database enforces rather than the screen, a total that stays right when a round is edited or deleted, an admin that can archive and delete a company without orphaning its rounds and tags, and image uploads that reject the wrong file before it costs you storage.
A kit gives you a card grid, a filter sidebar and an admin table. It has never heard of a published state, a funding round or a role, so the rules that decide what a stranger can see, the totals, and the back office that keeps the two in step start from nothing.
You ask the Agent for a piece at a time and it writes the database, the server and the screens in the same workspace that ends up hosting the finished site. The check that matters: open the published address signed out and confirm the company you left unpublished is not in the grid.
Estimate your exact build timeframe
Select the components you need to calculate your development timeline. Disabling unused features (like news or funding tracking) provides a faster, tailored estimate.
Your estimate
93 hrs
start to finish
Based on the 7 of 7 features you’ve selected, plus ~21h of groundwork. Toggle any on the left to watch the number move, and open the groundwork row to untick what you have already, such as a database that is already running or going live if you are only building a mock-up for now.
A rough estimate, not a quote. Real time depends on how much you customize and how clean your data is.
Let’s set up the tools you need
Replit runs entirely in the browser, and it’s the one tool here that also hosts what you build, so no GitHub account is required first. Before step 01: an account and a plan. A database comes later, the moment your app actually needs one, and GitHub whenever you want a copy of the code outside Replit.
Replit account
Sign up and you land in a workspace with an Agent chat, the code, and a live preview side by side, with nothing to install.
Sign up for ReplitReplit subscription
Starter’s free daily credits are enough to try an idea, not to finish one. Core is $25/month billed monthly, or $20/month billed annually, for $25 of monthly credits and up to 2 parallel Agent sessions. Pro is $100/month monthly, or $95/month annually, for $100 of monthly credits, more collaborators, and access to the strongest available models. The price you pay and the credits you get are the same number on both plans, so you have no separate subscription-plus-credits split to work out.
Compare Replit plansReplit database (Postgres)
Every Replit app includes its own managed Postgres database with 20GB of free storage. Ask the Agent to add one and it creates the schema and connects your app to it, with no separate account to create anywhere else.
Replit’s built-in database, Replit docsGitHub connection
Not needed to start, and not needed as an undo either, because Replit checkpoints the whole workspace as the Agent works. Connect a repository from the Git pane, free on every plan, and a copy of the real code lives outside Replit under your own account. Worth doing once the project is one you would hate to lose.
Using the Git pane, Replit docsThe first two are all you need to start. Everything here stays inside the one browser tab, the app included once you publish it, and the GitHub copy is the one deliberate exception.
Build your startup directory, one Agent message at a time
Nothing installs and nothing gets connected from outside. The Agent writes the files, runs the commands, and provisions the database as it goes. One thing to keep in mind throughout: the server is what knows who is asking, so every rule about drafts and admins is written against a session the server owns.
- 01
Start the app, ask for the database, and set the rules
The database comes free with the workspace, so it goes in the opening message. So do the two rules that matter most on this build.
PromptSet up the project and the databaseSet up a React 18 + Vite + TypeScript app with Tailwind, and add a Postgres database to this Repl, the one Replit provisions, not anything outside. Write a short notes file at the project root saying this is a startup directory with news and a funding tracker, fixing the vocabulary as startups, funding rounds, categories, tags, articles and admins, and recording two standing rules: nothing is public until its status is published and the database enforces that rather than the screen, and only an admin may add, change or delete anything. Keep the database connection details in Secrets rather than in the code.
The rules are worth writing into the notes file rather than a single message. Filtering drafts in the screen is a natural suggestion for any assistant, and it would show every draft to anyone who asked the server directly.
- 02
Write the tables, the trigger and the publish rule, then test it as a stranger
Ten tables, a trigger that keeps the funding totals right, and the half of the access rules that decides what the public sees. Roll back to a checkpoint if the schema goes sideways rather than unpicking it.
PromptWrite the data model and the public rulesWrite the tables for this site and show me the SQL before running it. Categories and tags with a name and slug. Startups with name, slug, short and long descriptions, a category, a funding stage from a fixed list (Seed, Series A through Series E+, IPO, Grant, Acquisition), a published or unpublished status defaulting to unpublished, an archived flag, logo and cover addresses, a gallery, team size, city and country, links, and total and latest funding columns. A startup_tags join table and a social links table. Funding rounds with stage, amount, date, lead investor, co-investors, valuations and notes, and a trigger that recalculates the startup’s total and latest raise on every change. Articles with title, slug, body, featured image, category, author, status and published date, and a news_tags join table. Turn on row-level security on every table and write the public half of the rules for a request with no session: anyone may read categories and tags, a published and unarchived startup with its rounds and links, and a published article. Seed three companies with a round each, one unpublished, and show me that a request with no session returns two.
The request with no session is the test that matters. If it returns three, the publish rule lives in the screen rather than the database, and everything after this step inherits the leak.
- 03
Add sign-in, roles and the admin gate, and tell the database who is asking
Replit’s Postgres is a plain database with no login wired into it, so the Agent writes both halves: sessions on the server, and policies the server’s identity feeds.
PromptAdd sign-in, roles and the admin rulesAdd email-and-password sign-in with logout and a server-side session, and no public sign-up screen. Add a user_roles table with admin and viewer roles, and give every new account a profile row and the viewer role. Have the server set the current user and role as a session-local setting at the start of each request, and write the admin half of every access rule against that setting so an admin may read, add, change and delete every row in every table, drafts included. Build an admin layout that sends anyone without the admin role back to sign-in. Tell me how to promote my own account to admin, and show me that a viewer sees exactly what a request with no session sees.
There is no ready-made login handing the database a user id here, so the server is what knows who is asking. Build that first and the policies have something to read.
- 04
Build the directory, the company view and the funding page
The public side. Check the preview after each change here rather than stacking several and finding out which one broke a filter.
PromptBuild the directory and the funding pageBuild the public directory page: a grid of company cards with the logo, name, one-line description, category, stage and total raised, a filter sidebar with search over name and description, categories, funding stages, a minimum and maximum amount raised and a location field, a sort menu (newest, oldest, most funded, least funded, A to Z) and a live result count with a clear-all button. A card opens a detail view with the full description, links and the rounds in date order, at an address of its own so a link can be shared. Then build the funding page: every round with its company, stage, amount, date and investors, filterable by stage and by amount, sorted by amount. Every route reads through the server, and only published, unarchived companies come back.
This is the step where checkpoints earn their keep. A filter that worked two messages ago and does not now is a one-click problem rather than an afternoon.
- 05
Build the news section, the admin and the uploads
Articles with a page each, then the back office with one screen per table, and image uploads that the server checks and stores, because this database has no bucket service attached.
PromptBuild the news section and the adminBuild the news section: a list of published articles with the featured image, title, category and date, and a page per article at /news/its-slug showing the featured image and the body with its line breaks kept. Then the admin behind the admin layout: a dashboard with counts of startups, articles and accounts, a startups screen with add and edit dialogs, add a funding round, publish or unpublish, archive, and delete a company together with its rounds, links and tags, then screens for articles, categories, tags, and users where a role is switched between admin and viewer. Add upload routes for logos, covers, gallery and article images that check the caller is a signed-in admin and the file is an image under 5 MB for a logo and 10 MB otherwise, store it where the server controls, and write its address to the record. Serve the images from the server.
Read the delete. A company that leaves the directory must take its rounds, tags and links with it, or the funding page shows rounds for a company that no longer exists.
- 06Destination
Add the landing page and the meta, then publish
Finish with the marketing page and the share cards, look at the site as a stranger, then publish, checking who the site is visible to before that first release, since Publishing is what sets it.
PromptAdd the landing page, demo mode, and publishAdd a marketing landing page with a hero, a sector section, a funding section, a trends section and a closing call to action, written as copy I can edit rather than pulled from the database. Give every public page a title and description and the card that shows when the link is shared. Add a demo mode switch on the sign-in screen that opens the admin with every write intercepted in the browser and a banner saying changes are not saved. Then help me test the whole site signed out: confirm the unpublished company is nowhere, confirm an article address opens directly, confirm the admin sends me to sign-in. When it holds up, walk me through Publishing: which deployment type fits a site read by the public and edited by a few admins, and who it should be visible to.
Protecting your site: sign-in rules and secret keys
A directory has fewer security risks than complex web apps, but three key areas still require protection: admin credentials, draft content visibility, and database access keys. Here are the security rules to apply before going live.
Self-hosted user logins
Authentication (sign-in, logout, sessions, and password resets) is managed directly on your server rather than through a third-party identity provider. Use a trusted security library instead of custom auth code, and rely on session tokens to validate every incoming user request.
Public access restricted to published records
Database security rules dictate that unauthenticated visitors can only read categories, tags, published articles, and active startups with their funding rounds. Admins retain full access. Even if a webpage forgets to filter content, drafts won’t leak because the database refuses to return them.
How security checks execute
Your server identifies the user by setting a session variable before running any database query, which Row-Level Security (RLS) policies then evaluate. This must run on every single request since database connections are shared. If a query runs without a set session variable, default policies may allow unrestricted access.
Roles managed in a dedicated table
Admin status is stored in a separate roles table rather than on user profile records. The server loads user roles into the session before running security policies. New accounts default to a viewer role with basic public permissions, making role upgrades or downgrades simple single-row database updates.
File uploads handled server-side
Without external cloud storage buckets, image uploads (logos, covers, and article media) are processed through custom backend routes. The server verifies admin permissions, checks image file types, and enforces file size limits before saving files to disk. Missing validation can quickly exhaust server storage.
Interactive demo mode without authentication
Demo mode lets visitors explore admin screens without logging in. The browser intercepts write requests locally, giving the illusion of changes without sending data to the server (where security rules would reject it anyway). Remove this feature if you prefer to keep admin screens completely private.
Remove default migrations and environment keys
The starter template includes default migration files and environment keys pointing to the original project. Delete default password reset migrations before initializing your database, replace all environment variables with your own secrets, and never hardcode credentials inside migration files.
Automated project backups
The AI agent creates automatic checkpoints for files and configurations during development, allowing easy rollbacks. Check your database hosting provider’s retention policy for Postgres backups, and set up scheduled database dumps so you don’t risk losing manual data entry.
Review the access rules (row-level security policies) on every table. For each one, tell me in simple terms who can view, add, edit, and delete records, confirm that people can only reach their own data while the right roles can reach more, and flag anything left open that shouldn’t be.
Paste this into the chat before launch so the Agent checks nobody can see data they shouldn’t.
One rule outranks everything above it: the database connection details belong in Secrets only: never in anything the browser downloads, and never in a repository. If they get out, treat them as compromised and rotate them the same day.
What speeds the build, and what slows it
Speeds the build
- One small, specific request per message, checked in the live preview before the next one
- Letting the Agent provision the database from the chat instead of wiring one up by hand
- Running two Agent sessions in parallel on unrelated parts of the app, once your plan allows it
- Rolling back to a checkpoint the moment a change goes wrong, instead of unpicking it by hand
- Reviewing what Publishing changed, meaning the domain, who can reach the app, and the machine it runs on, before the first release
Slows the build
- Asking for the whole app in one message instead of one piece at a time
- Building screens for data that isn’t in the database yet
- Running unrelated Agent sessions against the same files at the same time
- Letting several risky changes stack up before checking whether any of them actually broke something
- Publishing without checking who the app is visible to first
Connecting GitHub (Optional)
Every change in Replit is saved automatically without any technical setup. Checkpoints are the day-to-day undo. You only need to link GitHub if you want a private copy under your own control or plan to hand the codebase over to external developers.
Every milestone is already saved
Replit’s Agent creates a checkpoint automatically at key points as it works: a full snapshot of the files, the configuration, and even the AI conversation itself, not just the code.
Checkpoints and rollbacks, Replit docsRolling back restores the whole workspace
One click returns your project to an earlier checkpoint (files and configuration together, and optionally the database), which is broader than a typical code-only undo, so a rollback after real data has changed is worth a second look before you confirm it.
GitHub keeps a copy outside Replit
Connect a repository from the Git pane, free on every plan, and stage, commit, and push changes back to GitHub with a click, or pull in anything changed outside Replit.
Using the Git pane, Replit docsIt’s also how an existing project gets in
Point Replit at a public repository’s URL for a fast import, or use the guided import for a private one. Either way, Replit detects the stack and installs everything on its own.
Import from a provider, Replit docsYou rarely type git commands
The Git pane’s buttons cover staging, committing, and pushing. If you’d rather type them yourself, the workspace Shell stays in sync with whatever the pane just did.
Going live without external hosting
Skip third-party hosting and external database setup. Your database, backend, and domain live in the same Replit workspace. Just click Publish to go live.
| Host | Best for | Notes | Free tier |
|---|---|---|---|
| Autoscale | Most directories | Grows with traffic and shrinks to nothing when nobody is reading, which suits a site that is quiet most of the week and busy the morning a newsletter goes out. The server does little besides read published rows and gate the admin, so it is the cheapest shape for this build. | Metered, billed with your plan |
| Reserved VM | A site that must never wait | Dedicated compute that never sleeps, so the first visitor of the day does not wait on a cold start before the grid appears. Worth it once the directory is the front page of something people open every morning, and less urgent for a portfolio a fund updates monthly. | By machine size, billed with your plan |
| Scheduled | The weekly digest | Runs on a timer rather than answering requests, which is the right shape for a job that gathers the week’s rounds and articles into a digest draft, or rebuilds a sitemap nightly. It publishes separately from the site, and nothing in the first version needs it. | Metered, billed with your plan |
| Static | Not this site | Files only, with no server behind them. Ruled out here, because the routes that hold the session, enforce the publish rule, accept an upload and serve the images are the server, and none of them exists on a static deployment. | Metered, billed with your plan |
All four are Replit rather than a third party, so the choice is shape rather than vendor, and Autoscale suits most of these sites. Two things specific to this build: the server is small, because visitors mostly read, and the images are served by that server rather than a bucket, so a directory with many large covers is the one case where a Reserved VM earns its price. Review who the site is visible to before that first release.
Everything you add starts unpublished, so a fresh deployment with your first ten companies typed in shows an empty directory. Every new startup and article carries the unpublished status until an admin publishes it, which is the rule this whole build rests on, and the first time you see it work is the day you deploy and wonder where the companies went. Before you announce the site, publish what should be public, then open the published address in a private window to see what a stranger sees.
Your database is already part of the workspace
Nothing to connect. Startups, rounds, categories, tags and articles are small rows of text and numbers, and the images are files your server stores and serves, so the database itself is one of the least demanding in the catalogue.
| Service | Best for | Notes | Free tier |
|---|---|---|---|
| Replit Postgres | Data, built in | Managed Postgres with 20GB included free, provisioned from the same chat that builds the site, and since it is ordinary Postgres the publish rule from step 02 and the trigger that keeps the funding totals right both work exactly as they would anywhere else. What it does not include is a hosted identity service or a file bucket, which is why your own server declares the admin before any policy can act on it and stores the images itself. The rows are tiny. The images are the line to watch. | Free to start · 20GB included |
Add AI capabilities in one simple step
Securely route your AI API keys through a lightweight serverless function. Use simple prompts to automatically draft a company profile from its website, turn a funding announcement into an article and a round, tag new listings, and write the weekly digest.
Add the one function everything else goes through
The template has no AI in it and no key anywhere, which is the right starting point: one server-side function, admin-only, with the key in its secrets and a log of what each call cost. Build this first, and every prompt below is a call to it.
Add a server-side function called ai that calls my AI provider with the key held in function secrets, never in the browser. It accepts a task name and the text or fields for that task, refuses any caller who is not a signed-in admin, records every call in an ai_calls table (who, which task, tokens in and out, a cost estimate, success or failure), and returns the model’s answer as structured fields the admin screens can fill in. Add a small usage panel to the admin dashboard showing calls and estimated spend this month.
Draft a company profile from its website
Adding a startup means typing a description, picking a category and tags, and finding the location and links. Paste the website instead and let the admin correct a draft rather than write one.
In the add-startup dialog, add a “Draft from website” button that sends the company’s homepage text to the ai function and gets back a one-line and a paragraph description, a suggested category from my categories table, up to five tags, the city and country, and any social links it found. Fill the form with the results for the admin to edit, and never publish anything automatically.
Turn a funding announcement into an article and a round
A press release is an article and a funding round in one. Pasting it once and confirming two prefilled forms is the difference between a directory that is current and one that is a month behind.
Add a “From announcement” action on the news screen that sends pasted text to the ai function and gets back a draft article (title, slug, body) and, if the text describes a raise, a funding round (stage from my stage list, amount, date, lead investor, co-investors). Show both as prefilled forms for the admin to confirm, match the article to a startup by name with a confirmation step, and leave both unpublished until the admin publishes them.
Tag and categorize listings automatically
A directory is only as filterable as its tagging is consistent, and consistency slips after the fiftieth company. Let the model suggest, and keep the admin as the one who decides.
When an admin saves a startup or an article without tags, call the ai function with the description and get back a suggested category from my table and up to five tags, preferring tags that already exist. Show them as chips the admin accepts or removes before saving, and add a “Suggest tags” button on existing records so the back catalogue can be tidied a page at a time.
Write the weekly digest
The template sends no email, so the digest lands as a draft article or a block of text you paste into whatever you send with. What it saves is the hour of gathering what happened this week.
Add a “Weekly digest” button on the admin dashboard that gathers the startups, rounds and articles published in the last seven days and asks the ai function for a short digest with a headline, one paragraph, and a bullet per raise with the amount and stage. Save it as an unpublished article and offer a copy-as-text button, since this site does not send email.
A cheap model is plenty for most of the prompts above. Save Pro’s stronger models for the one or two spots where the extra reasoning actually pays for itself. Add any provider key through Replit’s own Secrets tool rather than hard-coding it, and keep every AI feature behind one server-side function so a single key covers the whole app.
Get a head start with our template
None of the steps above is compulsory, because the same directory already exists, built: the filters work, the articles publish, the rounds total up and the admin runs it. Your time goes on the companies, the categories and the name on the site.
Startup Tracker
The exact startup directory this guide builds, packaged so you can open it, point it at your own backend, and make it yours from there. A directory and news site for tracking startups, the stories about them, and the funding they raise. Visitors browse and filter companies while you manage everything from an admin panel.
The key benefits of starting with a template
The directory, the news section, the funding tracker and the admin already work, with the publish rule enforced in the database. Read the security section above before you go live, because two things in the download are there to be deleted.
Building the core from scratch
~93 hrs
Opening the template, already built
~1 hr
Pay Once, Own Forever. Build exactly what your team needs without renting a monthly SaaS subscription, paying per-seat fees, or dealing with platform lock-in.
A directory that filters, already wired
Cards, search, category, stage, funding and location filters, a sort menu and the result count, all read from your database, and a company opens in a side panel with its funding history. A page per company is the decision above, and it is the one change of shape the template leaves to you.
News with a page per story
Published articles listed, and each one at its own address with a featured image, a category and tags, with drafts hidden until an admin publishes them. Bodies are plain text with their line breaks kept, so rich text is an addition rather than a given.
Funding rounds with totals the database keeps
Rounds with stage, amount, date, investors and valuations, a trigger that recalculates the company’s total and latest raise on every change, and a funding page filterable by stage and amount.
An admin with roles and 36 access policies
Startups, rounds, tags, categories, articles and users each on their own admin screen, publish and archive as switches, a dashboard with counts, admin and viewer roles in their own table, and a server-side check on every logo upload.
Two things to remove before launch
The directory falls back to nine fictional companies when your database is empty, and one migration resets the seller’s own password to a known value. Both are in the README and both are deletions rather than builds. Do them before the first stranger opens the site.
From founders who build on our templates
Finally, a template that gives you full data ownership without subscription bloat. Its clean setup makes prompting any AI tool effortless. It saved me 100+ hours of backend setup and got my directory live in several days.
Jeevan ThomasFounder & CEO, Hado.aiCommon questions
Not as shipped. Only an admin can add a company, which is what keeps the directory curated. A public submission form with a queue an admin approves from is the first decision above, and it is a real build: a table for submissions, a screen to review them, and something that stops the form filling with spam.
No. A company opens in a side panel over the directory, so no company has an address you could share or a search engine could list. If people will search for the companies by name, give each one a page, and do it before the directory fills, because it changes how the site is shaped.
From whoever runs the admin. A round is typed in with its stage, amount, date and investors, and the database recalculates the company’s total. Nothing arrives from a feed, and the data subscriptions that sell rounds do not let you republish them, so a directory built on this is filled by hand or by an import you build.
No. The template sends no email of its own, and it keeps no subscriber list. The digest prompt in the AI section drafts the week’s news as an article or a block of text, and you send it with whatever you already use.
No. Tables, sessions, access rules and the server routes that read and write them all get written from plain-language prompts, and the database they write into is created inside this workspace when you ask. Your own job is keeping the connection details in Secrets, so they end up somewhere only your server can read.
Your Replit plan. Core starts at $25/month, or $20/month billed annually, with 20GB of database included, and Publishing is billed separately on top. The rows in a directory are tiny. The images are what grow, and on this build your server stores them, so the machine size is the line to watch as the covers accumulate.
Only an admin. The database refuses to hand a draft to a request without an admin session, whatever the screen asks for, and a startup also disappears from the public the moment it is archived. The viewer role a new account gets sees exactly what a visitor without an account sees.
Create the first account with a one-off script or a row inserted by hand, then set its role to admin in the roles table. Every admin after that is either created the same way or promoted from the users screen once they exist, and the Agent will write the script if you ask for it in step 03.
Yes, through demo mode. A visitor who switches it on can open the admin screens and click through them, and every save is intercepted in the browser and pretends to succeed. Nothing reaches the server. Turn it off, or remove it, if you would rather the back office stayed out of sight.
That is the template, not a build from this guide: it falls back to nine fictional startups when the database returns none, so the demo is never empty. If you start from the template, remove the fallback before launch as its README describes, so an empty directory shows an honest empty state.
Nothing here is proprietary. Startups, rounds, categories, tags and articles are ordinary PostgreSQL rows, and one standard dump moves all of them to any Postgres host, while the images are ordinary files on your server.
Yes. The replit.app subdomain it starts on can be replaced with your own through Publishing, HTTPS included. Do it before you announce the directory, because the address is the thing people will bookmark and share.
No. You describe what you want in the chat, and the Agent handles the rest: the code, the database, and a live version of the app right there in the workspace. The setup section above covers the account and plan you need first.
Replit hosts it. Publishing takes the same project live on a Replit domain, or your own if you connect one, with monitoring and access controls included, so you never open a separate hosting account.
Starter’s daily credits and a paid plan’s monthly grant both refill on their own schedule. Hitting either limit mid-build doesn’t touch what you’ve already made. Move up a plan for more headroom right away, or wait it out.
References
Sources checked September 2026- 01Pricing (monthly and lifetime plans), Brilliant Directories. brilliantdirectories.com
- 02Pricing (cloud plans and source licence), eDirectory. edirectory.com
- 03Pricing (site plans and CMS item limits), Webflow. webflow.com
- 04Pricing (record and app user limits), Softr. softr.io
- 05Pricing (Premium and Premium Plus, per seat), Dealroom. dealroom.co
- 06Pricing (Pro plan, pause, file storage, backups), Supabase. supabase.com
- 07Web developer hourly rates 2026 (freelance and agency benchmarks). developex.com
- 08Pricing (Starter, Core, Pro), Replit. replit.com
- 09Built-in database, Replit docs. docs.replit.com
- 10Publishing overview, Replit docs. docs.replit.com
- 11Deployment types, Replit docs. docs.replit.com
- 12Checkpoints and rollbacks, Replit docs. docs.replit.com
- 13Using the Git pane, Replit docs. docs.replit.com
- 14Import from a provider, Replit docs. docs.replit.com
- 15Secrets, Replit docs. docs.replit.com
This guide is general information. Third-party prices, plan limits and market rates are quoted from the sources above and were last checked on the date shown. Vendors change them without notice, so confirm before you budget. Build hours and the cost estimates derived from them are our own estimates, not quotes. Replit is a product of Replit, Inc. Verify current capabilities and pricing before relying on them.