←All posts
How I Earned $1,000 in 18 Hours

December 17, 2025

How I Earned $1,000 in 18 Hours

How I won my first bounty: one reply to a tweet, a CoffeeScript app rebuilt in Next.js 16, a 6-hour mistake, and $1,000 for about 18 hours of work.

One tweet. One reply. About 18 hours of work over three days. $1,000.

That was my first bounty. No pitch deck, no proposal, no interview. Here's exactly how it happened, including the part where I wasted six hours doing it wrong.

The tweet

I was scrolling X when this showed up:

"🚨 Offering $1,000 Bounty to Rebuild This App in Next.js + shadcn/ui" @illyism

Most people liked it and kept scrolling. I replied with four words:

"I am ready for this."

I started on the evening of December 11th. By the morning of December 14th it was done.

Why I got it (and not someone better)

I wasn't the most experienced developer in that reply thread. I didn't have the biggest portfolio. What I had was simpler:

I said yes before I had a reason to say no.

Bounties reward speed and certainty. The person posting one wants it done, not discussed. Replying fast, sounding sure, and then actually shipping is most of the game.

The job: rebuild a Reddit music player

The task was to rewrite Ilias's old Reddit Music Player, a CoffeeScript app, using a modern stack:

  • From: CoffeeScript, Pug templates, years of accumulated cruft
  • To: Next.js 16 (App Router) + shadcn/ui

Sounds like a weekend port. It wasn't.

My 6-hour mistake

I tried to be clever. I pointed Cursor at the entire CoffeeScript codebase and converted everything to Next.js in one go.

Everything converted. Nothing worked properly. The app was painfully laggy, and I'd burned six hours chasing the wrong approach.

The lesson: you can't auto-convert legacy code and expect it to behave. CoffeeScript isn't just different syntax; it's a different way of structuring an app.

So I threw it away and started over properly:

  • Designed my own folder structure around App Router conventions
  • Converted one file at a time with Cursor Composer, reading and understanding the logic instead of just translating syntax
  • Deleted what Next.js already does for me, which turned out to be a lot

Rebuilding piece by piece felt slower. It was much faster than debugging a pile of auto-converted code.

What actually made it good

Server first, client only where needed

The old app did everything in the browser. I leaned on the App Router instead:

  • Server Components for everything static
  • Client Components only for the interactive player
  • Streaming so the page shows up before everything has loaded

It felt dramatically snappier than the original.

Architecture beats a quick conversion

The clean structure took longer up front, but every file after that slotted in cleanly. Good architecture is what let me finish in three days instead of three weeks.

Yes, late nights

I won't romanticize it. December 11th I started in the evening and kept going. The 12th and 13th were long nights of converting and debugging. On the 14th I did the final polish and submitted.

The stack

  • Next.js 16 (App Router, React Server Components)
  • shadcn/ui for components
  • Tailwind CSS for styling
  • GitHub + Vercel for code and hosting

The numbers

Time: ~18 hours over 3 days
Wasted on the wrong approach: ~6 hours
Paid: $1,000
Effective rate: ~$55/hour

Not bad for a project that taught me more than any tutorial.

How to win your first bounty

None of this needed luck. It needed being in the right place and being ready. If you want your first one:

  1. Be active where bounties get posted. For me that's X. Follow builders and actually engage.
  2. Keep your portfolio current. The moment you reply, people click your profile. Make it worth the click.
  3. Reply fast and sound sure. "I am ready for this" beats a paragraph of maybes.
  4. Scope it before you code. Look at the codebase and decide the approach first. My six lost hours came from skipping this.
  5. Ship early and talk while you build. Share progress so the person posting knows it's really happening.

The part nobody sees

People see "$1,000 in 18 hours" and think it was luck. What they don't see is the months of building things nobody used, the hours learning Next.js, React and TypeScript, and the projects that never launched.

The bounty didn't make me skilled. It paid me for skills I'd already built.

Next time you see a bounty tweet, don't just like it. Reply. Build. Ship.

Update: The project shipped, the client was happy, and it became my first paid bounty in the portfolio. Now go build something.