๐Ÿ’ป
Developer Tools

What Tools Does Pieter Levels Use to Run a $2M+/Year Business Solo?

Pieter Levels built Nomad List, Remote OK, and Photo AI without a team. Here's the exact stack he uses โ€” and what you can actually copy.

May 15, 2026ยท6 min readยทSome links may be affiliate links

Pieter Levels, who goes by @levelsio on X, has built multiple profitable internet businesses completely alone. Nomad List, Remote OK, and Photo AI together generate over $2 million a year in revenue. No co-founder, no team, no VC money.

The question people ask constantly: what tools does he actually use?

This isn't speculation. Levels has been extremely public about his stack over the years. He's written about it, posted about it, and has talked through his setup in various interviews. Here's what he actually uses.

Programming Stack: Deliberately Boring

Levels is famous for using technology that most modern developers would call outdated:

  • PHP โ€” not Laravel, not Symfony, just plain PHP files
  • jQuery โ€” for frontend interactivity
  • Postgres โ€” for the database (SQLite on smaller projects)
  • Raw HTML and CSS โ€” no React, no Next.js, no build pipeline

His argument is straightforward: these technologies have been stable for 20+ years. They don't have breaking changes. You don't spend weekends upgrading dependencies. A site you build today will still run in 10 years without touching the codebase.

For the kind of products he builds โ€” data-heavy directories and marketplaces โ€” this stack is actually well-suited. He's not building a real-time collaborative app. He's building things that need to load fast, handle database queries, and run without constant maintenance overhead.

The lesson here isn't "use PHP." It's "use the simplest thing that works and won't need babysitting."

Hosting: One Server, Not AWS

Levels has written publicly that he runs most of his products on a single Hetzner dedicated server costing around $40-60/month. Not AWS, not microservices, not Kubernetes. One machine with Nginx in front of everything and cron jobs for background tasks.

When something breaks, there's one place to look. When capacity is needed, he upgrades the server. That's it.

For most indie projects, a $6-10/month VPS is more than enough to start. If you want something with a simpler control panel than raw SSH, Hostinger has VPS plans that are developer-friendly and include a management UI that removes most of the setup friction.

The complexity of full cloud infrastructure is overkill until you have real scale problems. By the time you have real scale problems, you'll have the revenue to hire someone to deal with it.

Payments: Stripe + Paddle

Levels uses Stripe for most transactions. It's the standard for good reason โ€” clean API, reliable webhooks, solid dashboard, and good fraud protection out of the box.

For international sales, especially to EU customers where VAT rules get complex, he's mentioned using Paddle on some products. Paddle acts as a merchant of record, meaning they handle tax collection and remittance across countries. As a solo developer, this removes a whole category of legal and accounting burden that would otherwise require dedicated attention.

If you're selling a SaaS product globally and don't want to deal with VAT compliance manually, Paddle is worth evaluating alongside Stripe.

Email: Transactional + Newsletter

For transactional emails, Levels uses Postmark for reliable delivery. For newsletters and user communication, he's kept things simple rather than building out complex automations.

Most indie developers building something audience-dependent eventually end up needing a proper email tool. ConvertKit is what a lot of solo developers and creators use โ€” it's built with a clean API, sensible automation, and doesn't try to be a full CRM. For a developer who wants to add email marketing without becoming an email marketing expert, it's a practical choice.

Analytics: Simple Over Complex

Levels doesn't spend much time in analytics dashboards. He uses basic traffic counters and, famously, displays revenue numbers publicly on Nomad List and Remote OK. That public accountability is also a growth strategy โ€” it builds trust with users and gets shared constantly.

For SEO โ€” understanding what search terms to target, what competitors rank for, and where traffic is coming from โ€” most serious content sites end up needing something like Semrush or Ahrefs at some point. These aren't for beginners, but once you're treating content as a growth channel, keyword data becomes essential.

AI Tools: Now a Core Part of the Stack

More recently, Levels has been building AI-powered products with Photo AI as the main one. He's publicly mentioned:

  • Replicate โ€” for running image AI models via API without managing GPU infrastructure
  • OpenAI API โ€” for text generation tasks
  • Anthropic/Claude API โ€” has appeared in some of his public screenshots

His approach to AI products: pick APIs that handle the hard model part, wrap them in a clean interface that solves a real problem, charge for the convenience. Photo AI generates significant revenue doing exactly this.

What He Doesn't Use

As interesting as his stack is the stuff he deliberately avoids:

  • No Slack or internal communication tools โ€” no team to communicate with
  • No project management software โ€” a public todo list does the job
  • No complex CI/CD pipelines โ€” he deploys directly to the server
  • No microservices โ€” monolithic applications that are simple to reason about
  • No React or Next.js โ€” deliberately avoids JavaScript framework churn

The common theme: avoiding anything that requires ongoing maintenance, periodic upgrades, or managing other people.

The Full Stack at a Glance

Category What He Uses
Backend PHP (plain, no framework)
Frontend jQuery, HTML, CSS
Database Postgres / SQLite
Hosting Hetzner dedicated server
Payments Stripe, Paddle
Email (transactional) Postmark
AI models Replicate, OpenAI API, Anthropic API
Analytics Basic counters, public dashboards

What You Can Actually Copy From This

If you're a solo developer building a side project or indie business, here's what transfers:

  1. Use whatever language you already know well. Don't learn a new one for a side project. Ship first, optimize later.
  2. Host on a single cheap server first. Add cloud complexity only when simple breaks under real load.
  3. Use Stripe. It's the least-bad payments option for indie developers. Add Paddle when international tax becomes an actual problem.
  4. Pick one transactional email service and one newsletter tool. Move on. Don't evaluate email tools for weeks.
  5. Build in public. Levels attributes significant growth to sharing revenue numbers and progress openly. It builds credibility and gets shared without any ad spend.

The tools aren't what made him successful. He's been shipping things consistently for over a decade. The stack is boring because boring things don't need fixing while you're focused on building the actual product.

Frequently Asked Questions

Pieter Levels primarily uses PHP for his backends. He's famously anti-complexity and has said he still uses jQuery and raw PHP for most of his projects because they work and don't need maintaining.
He uses Stripe for one-time payments and subscriptions. For international tax compliance on some products, he's mentioned Paddle, which handles VAT and tax remittance automatically across countries.
Mostly a single rented server from Hetzner. He's been vocal about not using AWS or complex cloud infrastructure โ€” a single $40-60/month dedicated server handles most of his traffic.
Yes, for his newer products like Photo AI. He uses Replicate to run image AI models via API, and has publicly mentioned using OpenAI and Anthropic APIs for various tasks.

Get new articles in your inbox

Honest tool reviews and recommendations โ€” no spam, unsubscribe anytime.

Share

Looking for the best tools?

We've curated the top tools across AI, hosting, VPNs, and productivity โ€” vetted and ranked in one place.

Browse Resources โ†’