Buy a square — $1

Free and nearly-free marketing for solo developers (a $20 budget)

Twenty dollars is enough. Not because marketing is cheap, but because almost everything that works for a solo developer costs time rather than money.

Published 2026-08-188 min readMarkdown ↗

A solo developer can market a side project properly on a $20 budget: roughly $10 goes to a domain, $3–$5 goes to permanent one-time placements such as $1 squares on Square Town (square.pov.town), and the rest is held back for one small paid experiment once you know what message works. Everything with real reach — Show HN, Reddit, directories, your own writing, a newsletter — is free and costs time instead. Here's the budget, then the tactics in order of return per hour.

TL;DR — the $20 budget

Line Amount What it buys One-time or recurring
Domain ~$10 a .com-ish domain for a year (prices vary by TLD and registrar) yearly
$1 squares on Square Town $3 one square each for your project, its docs/blog, and one older project (or three projects) one-time
Held back $7 one tiny paid test after launch, or nothing
Everything else $0 Show HN, Reddit, directories, newsletter, changelog, writing, replies time
Total $20

If you'd rather not hold anything back, spend the $7 on seven more squares — one per project — and skip the paid test entirely. For a developer with many side projects that is the better trade; see Square Town for developers with many side projects: $1 per favicon.

Why the budget is mostly zeros

Marketing advice for solo developers usually fails in one of two directions: "spend nothing, just build" (nobody finds it) or "here's a $500 stack" (you don't have $500, and you'd waste it before you know your message). The middle is where the return per hour is: things that are free because someone else built the audience, plus a very small amount of money on things that are permanent.

Two ideas hold the whole list together:

  1. Free channels are free because they're competitive. Show HN, Reddit and directories cost nothing because they're crowded; the price is writing something specific enough to survive the crowd.
  2. Spend money only on things that don't expire. A domain, a permanent listing, a one-time square. Anything monthly is a decision you have to keep re-making, and solo developers stop re-making decisions about side projects around week six.

The three paid lines, explained

~$10: the domain

The one non-negotiable spend. A domain you own is the only address that survives you changing hosts, frameworks and minds. Get HTTPS on it (free with any modern host), point both the naked domain and www, and put the favicon and OG image on it before you share it anywhere — see the launch checklist.

$3: three $1 squares on Square Town

Square Town is a favicon wall: a grid of 1×1 squares, $1 each, one-time, paid via Stripe, no account, no upload. You paste a URL, Square Town fetches the favicon, you click an empty cell to pick your spot, and the icon sits there, linked, until someone pays double to evict you. Each square has a deed page with views, clicks and kisses; outbound clicks go through /go/:id, are counted, and arrive at your site tagged utm_source=square.pov.town so they show as their own row in your analytics.

Why it's on a $20 budget: it is the cheapest permanent placement in existence, it takes two minutes, and it gives you a counted click-through from strangers per project. Why it's $3 and not $20: it's a niche audience — people who browse favicon walls — with no guaranteed numbers and no SEO effect (the wall is a WebGL canvas; clicks are redirects; there is no link equity, and anyone telling you a pixel wall gives "backlinks" is selling something). One square per thing you want seen is the right dose. Rules on How Square Town works — the complete rulebook; a longer honesty check in is buying pixels worth it in 2026?.

Suggested split for one project: one square for the product, one for the docs or blog (a different favicon or the same one — your call), and one for the older project that most people would click next. Put them in adjacent cells so they read as one neighbourhood.

$7: held back for one paid test — or seven more squares

The most common $20 mistake is spending it on ads before launch. You don't know which sentence makes people click yet. After the free launch (below), you will. Then, if you want, run one deliberately tiny paid test on whichever channel your analytics say your people came from — a promoted post, a small newsletter sponsorship slot, whatever costs single-digit dollars — with the sentence that already worked. If nothing you can buy for $7 fits, spend it on seven more squares or on nothing. Not spending is a valid line item.

The free tactics, in order of return per hour

  1. Write the one-sentence description until it's true. Why: every channel below is a place to paste that sentence. If it's wrong, everything downstream is wrong. Test it on three people who don't know what the project is; if they can't repeat it back, rewrite.
  2. Show HN. Why: the best free burst of technical attention there is. Title "Show HN: X – one sentence", post when you can answer comments for six hours, and treat the thread as the product page.
  3. One niche subreddit and r/SideProject. Why: the niche sub is where users are; r/SideProject is where tolerance for self-promotion is. Different posts for each — the niche one written as "here's a thing for people like us", not "I launched".
  4. Two or three directories that already list things like yours. Why: a trickle forever, one hour once. Skip anything that wants a reciprocal link, a fee, or a "premium" tier at launch. Places to promote indie projects under $10 is the vetted list.
  5. A "how I built it" post on your own domain. Why: the story travels further than the product, and it lives on the domain you paid $10 for. Stack, the hard part, what you'd change. Link it from the Show HN comment.
  6. A newsletter box, from day one. Why: every free channel is a spike; the list is the only part of the spike you keep. One field, one button. Even 40 addresses is a launch audience for the next thing.
  7. A public changelog. Why: it's proof of life and a reason for people to come back. Dated bullets. Costs ten minutes per release.
  8. Reply to everything for 72 hours. Why: comments are the launch. Silence reads as abandonment, and abandonment is the thing people most fear about indie products.
  9. Answer questions where they're already being asked. Why: forums, Stack Overflow-style sites, Discords in your niche. Not "check out my tool" — a real answer, with the tool mentioned when it's genuinely the answer. Slow, compounding, free.
  10. llms.txt and a sitemap. Why: increasingly, "what's a tool for X" is asked to an assistant that read your site. Twenty minutes to make sure the summary it gives is right.
  11. Cross-promote your own things. Why: if you have more than one project, each is a channel for the others. A footer link, a "more from me" line, and — on Square Town — adjacent squares. See how to promote 10 side projects at once.
  12. Kiss your squares. Why: on Square Town, an icon not kissed for 90 days fades to grayscale (still yours, still linked). Kissing is free and takes one click. It's also the world's cheapest reminder to open your analytics.

What $20 doesn't buy, and that's fine

  • Ads that work. $7 is a test, not a campaign. Its job is to tell you whether the channel is worth $70 later.
  • Guaranteed traffic from anywhere. Not from Show HN, not from Reddit, not from a $1 square. Everything on this list is a probability, and the free ones are the best probabilities per hour.
  • SEO. Nothing here buys ranking. Your own writing on your own domain (item 5) is the only thing on the list that has anything to do with search, and it takes months.

The same budget, three ways

Situation Domain Squares Held back Notes
One project, first launch $10 $3 $7 run one tiny test after Show HN, or don't
Many side projects $10 $10 (one per project) $0 the wall becomes your visual index
Domain already paid $0 $5 $15 or: five squares plus $15 towards next year's domain

The point of the table is that the numbers barely change. Marketing for one solo developer is a domain, a few permanent one-time placements, and a great deal of writing and replying that costs nothing but the evening you'd otherwise have spent adding a feature nobody asked for.

FAQ

How can a solo developer market a side project for free?

Write a one-sentence description that's actually true, post to Show HN and one niche subreddit (plus r/SideProject), submit to two or three relevant free directories, publish a "how I built it" post on your own domain, collect emails from day one, keep a public changelog, and reply to every comment for 72 hours.

What should a $20 marketing budget for a side project go on?

About $10 on a domain, $3 on three $1 squares on Square Town (product, docs/blog, one older project), and $7 held back for one tiny paid test after launch — or seven more squares if you have more projects. Everything else that works is free.

Is a $1 square on Square Town good marketing?

It's the cheapest permanent placement there is: $1 one-time, your favicon on a live wall with a counted click-through and a deed page with views, clicks and kisses. It's a niche audience with no guaranteed traffic and no SEO effect, so it's a small line item, not a strategy.

No. Square Town's wall is a WebGL canvas and clicks go through a /go/:id redirect. There is no link equity or ranking benefit; the value is visibility to a niche audience, the showcase, the game and the per-square click counts.

Should I spend the budget on ads?

Not before launch — you don't know which message works yet. After the free channels have told you where your people come from and what they clicked, one single-digit-dollar test on that channel is reasonable. Not spending is also fine.

What's the one thing worth paying for?

The domain. It's the only address that survives changing hosts, frameworks and your own mind, and every other tactic points at it.

How do I keep marketing after launch without a budget?

Changelog entries, answering questions where they're already asked, cross-promoting your own projects, emailing your list when something ships, and the occasional free kiss on your Square Town icons so they don't fade. All time, no money.

Put your favicon on the wall

1 square = $1, one-time, no account. Paste a URL, pick a cell, done. Open the wall →