/ tech-stacks / Best Tech Stack for a Directory Site as a Solo Developer
tech-stacks 10 min read

Best Tech Stack for a Directory Site as a Solo Developer

The best tech stack for building a directory site as a solo developer - frameworks, databases, hosting, and tools.

Hero image for Best Tech Stack for a Directory Site as a Solo Developer

Best Tech Stack for a Directory Site as a Solo Developer

Directory sites are the quiet workhorses of the internet. Product Hunt, G2, Capterra, Yelp, they're all directories at their core. For solo developers, niche directories are particularly attractive: low maintenance once built, strong SEO potential (every listing is a page Google can index), and clear monetization through featured listings or sponsored placements. The technical requirements are simple, which means you can focus on content and SEO rather than engineering.

Here's the exact stack to build one fast.

Layer Pick
Framework Astro or SvelteKit
Database PostgreSQL
Search Meilisearch
ORM Drizzle ORM
Hosting Vercel or Cloudflare Pages
Payments Stripe
Email Resend

The Open-Source Picks by the Numbers (2026)

Before committing, it helps to see how alive each open-source piece of the stack actually is. The table below shows the current package version, GitHub stars, and npm weekly downloads, all checked on 2026-05-30.

Tool Latest version GitHub stars npm weekly downloads
Astro 6.4.2 ~59,700 ~3.05M (astro)
SvelteKit 2.61.1 ~20,500 ~2.02M (@sveltejs/kit)
Drizzle ORM 0.45.2 ~34,600 ~9.72M (drizzle-orm)
Meilisearch (engine) 1.45.1 ~57,800 ~463K (meilisearch JS client)

Every one of these is shipping releases and pulling serious download volume, so you are not betting the directory on an abandoned project. See the Sources section for where each figure came from.

Frontend: Astro (Content-Heavy) or SvelteKit (Interactive)

This choice depends on how interactive your directory needs to be.

Astro is the better pick if your directory is primarily a browsable catalog with tool listings, business directories, or resource collections. Most pages are static content that changes infrequently. Astro generates fast static HTML, scores well on Core Web Vitals, and handles thousands of pages without breaking a sweat. Add interactive search with a React or Svelte island component. The project is mature and actively maintained: the astro package sits at v6.4.2, carries roughly 59,700 GitHub stars, and pulls about 3.05 million npm downloads a week as of late May 2026, so the ecosystem and adapter support are not going anywhere.

SvelteKit is the better pick if your directory has heavy user interaction such as reviews, ratings, user submissions, comparison features, saved lists, or real-time filtering. SvelteKit gives you a full-stack framework with server-side rendering, form actions, and client-side reactivity built in. The developer experience is excellent for a solo developer because Svelte's syntax is minimal and productive. @sveltejs/kit is at v2.61.1, the kit repo holds around 20,500 GitHub stars, and the package sees roughly 2.02 million npm downloads a week, which is healthy for a framework you will lean on for the whole app shell.

For SEO-focused directories where every listing should be its own indexable page, Astro has a slight edge. For directories that feel more like web apps, SvelteKit wins.

Backend: Server Routes

Both Astro and SvelteKit support server-side API routes, so you don't need a separate backend service.

Your backend handles:

  • Listing CRUD - Create and update directory entries (admin and user submissions)
  • Search - Query Meilisearch and return filtered results
  • Reviews/Ratings - Accept and display user reviews
  • Submission moderation - Queue for admin review
  • Payments - Process featured listing purchases via Stripe

Keep the backend thin. A directory's business logic is straightforward: store listings, let people find them, charge for premium placement.

Database: PostgreSQL

A directory's data model maps cleanly to relational tables for listings, categories, tags, reviews, and users. PostgreSQL with Drizzle ORM gives you type-safe queries and clean migrations. Drizzle has become the default lightweight ORM in this part of the ecosystem: drizzle-orm is at v0.45.2, the repo carries around 34,600 GitHub stars, and the package pulls roughly 9.7 million npm downloads a week as of late May 2026, which is more weekly installs than either Astro or SvelteKit and a good signal you will find answers when you get stuck.

Your core schema:

  • listings - Name, description, URL, logo, featured flag, status, created_at
  • categories - Hierarchical categories (use parent_id for nesting)
  • listing_categories - Many-to-many junction table
  • tags - Flexible tagging system
  • reviews - User ratings and text reviews
  • users - Submitters and reviewers

For directories with location data, PostgreSQL's PostGIS extension handles geographic queries (find listings within 50km of a point). But only add this if your directory genuinely needs location-based search.

Host on Neon or Supabase. Both have free tiers that comfortably cover an early directory. Neon's free plan includes 0.5 GB of storage per project, 100 compute-hours per project, and 5 GB of egress, after which the Launch and Scale plans are pay-as-you-go (roughly $0.106 per compute-hour on Launch and $0.35 per GB-month of storage) with no fixed monthly minimum. Supabase's free plan gives you a 500 MB database and two active projects but pauses a project after a week of inactivity, so it suits a directory you are actively building; the Supabase Pro plan starts at $25/month and removes the pause. Supabase also ships a friendly dashboard for data management, which is handy when you are hand-curating listings. Always check current pricing before committing, since both vendors revise these tiers regularly.

Search: Meilisearch

Directories live and die by their search experience. Users need to find what they're looking for in seconds, with filters for category, rating, price, and whatever attributes matter in your niche.

Meilisearch is the best search engine for a solo developer building a directory. The engine is at v1.45.1 (released 2026-05-28) and the project holds around 57,800 GitHub stars, so it is a heavily used, actively shipped piece of infrastructure rather than a weekend toy.

  • Instant results with low-latency search responses
  • Faceted filtering so you can filter by category, tags, and ratings without custom code
  • Typo tolerance that handles misspellings gracefully
  • Easy setup via curl to install the binary, or use Meilisearch Cloud
  • Open source so you can self-host for free under the MIT license, or pay for the managed cloud

On cost, the engine itself is free to self-host. Meilisearch Cloud now runs as a 14-day free trial followed by paid plans that start around $20/month (resource-based instances begin near $23/month), so it is no longer a permanent free tier. Check current pricing before you rely on it.

Sync your PostgreSQL listings to Meilisearch whenever a listing is created or updated. The search page queries Meilisearch directly from the frontend using their official JavaScript client (the meilisearch npm package, currently v0.58.0, around 463,000 downloads a week) for instant search-as-you-type.

Don't use PostgreSQL full-text search for a directory. The UX difference between Meilisearch instant search and Postgres query-and-reload is massive.

Hosting: Vercel or Cloudflare Pages

Directories are read-heavy with mostly static content. Deploy to Vercel for zero-config deployments with SSR support, or Cloudflare Pages for edge-rendered pages globally.

Vercel's Hobby plan is free forever and fine for launching a directory; the Pro plan is $20 per user per month plus usage when you outgrow it. Cloudflare Pages has a generous free plan with 500 builds per month, one concurrent build, and unlimited bandwidth, which is genuinely hard to beat for a content-heavy directory; its Pro plan is $20/month billed annually (or $25/month billed monthly) for 5,000 builds and more concurrency. Confirm current pricing before you decide, since both change their limits over time.

If your directory has thousands of listings and you're using Astro, consider Incremental Static Regeneration. Generate pages at build time and revalidate them periodically. This gives you static performance with dynamic data freshness.

For Meilisearch, either self-host on a cheap VPS (around $5 to $7 per month on Railway or Fly.io) or use Meilisearch Cloud, which starts at roughly $20/month after the 14-day trial.

Payments: Stripe

Directory monetization typically follows one of these models:

  1. Featured listings - $50-500 one-time to boost a listing to the top
  2. Subscription tiers - Monthly fee for enhanced listing features
  3. Sponsored categories - Pay to own a category page
  4. Lead generation - Charge per click or contact

Stripe Checkout handles all of these with minimal code. For featured listings, create a one-time Checkout Session. For subscriptions, use Stripe Subscriptions with the Customer Portal. Stripe charges no monthly fee on standard pricing; the published rate for domestic online card payments in the US is 2.9% plus 30 cents per successful transaction, with extra fees for international cards and currency conversion. That means a $99 featured listing costs you about $3.17 in fees, which is comfortable margin for a solo operator.

Nice-to-Haves

  • Resend for email notifications such as new listing alerts and review notifications. Its free tier covers 3,000 emails per month capped at 100 per day, and the Pro plan starts at $20/month for 50,000 emails with no daily cap. The resend npm package is widely adopted at roughly 6.68 million downloads a week.
  • Cloudflare Turnstile for spam prevention on submission forms (free)
  • Plausible for analytics so you can track which categories get the most traffic. It offers a 30-day free trial with no card required, and paid plans start at $9/month on the Starter tier.
  • Schema.org markup for rich search results (LocalBusiness, Product, SoftwareApplication)
  • Sitemap generator for SEO (critical for directories with thousands of pages)
  • RSS feed for new listings (attracts subscribers and aggregators)
  • Screenshot API (like ScreenshotOne) for automatic listing thumbnails

Monthly Cost Breakdown

All figures below were checked on 2026-05-30. Pricing pages change often, so verify before you commit.

Service Cost
Vercel (Hobby free, Pro $20/user/mo) $0 to $20/month
Cloudflare Pages (free, Pro $20/mo annual) $0 to $20/month
Neon Postgres (free tier, then pay-as-you-go) $0+
Supabase (free tier, Pro $25/mo) $0 to $25/month
Meilisearch self-hosted on a VPS ~$5 to $7/month
Meilisearch Cloud (14-day trial, then paid) from ~$20/month
Resend (free 3,000/mo, Pro $20/mo) $0 to $20/month
Stripe 2.9% + 30c per transaction
Domain ~$1/month amortized

A directory can launch for close to nothing if you self-host search and lean on free tiers, then climbs toward $40 to $60 a month as you add paid hosting, a managed Postgres tier, and email volume. Either way the infrastructure is cheap. Most of your real cost is the time spent curating listings, not the stack.

Conclusion

The best stack for a solo developer building a directory: Astro (for SEO-heavy directories) or SvelteKit (for interactive ones), PostgreSQL with Drizzle ORM, Meilisearch for instant search, Stripe for monetization, and Vercel for hosting.

The secret to a successful directory isn't technical. It's curation and SEO. Choose a niche where existing directories are either outdated, poorly organized, or nonexistent. Build comprehensive, well-categorized listings. Optimize every page for search. The tech stack above makes the engineering part trivial so you can focus entirely on content quality and search rankings, which is where directory businesses actually win or lose.

Sources

All figures verified on 2026-05-30 from the following sources.

Built by Kevin

Like this? You'll like what I'm building too.

Two ways to support and get more of this work.

Desktop App

HEARTH

A privacy-first Life OS for your desktop. Journal, tasks, and notes that stay on your machine. Coming soon, direct download from this site.

Read more
Digital Products

MY TOOLKITS

Receipts-first toolkits for shipping after hours, building Claude agents, publishing on Amazon, and more. The exact methods I used, not theory.

Browse on Whop

Need This Built?

Kevin builds products solo, from first version to live. If you want something like this made, work with him.