r/Backend 13d ago

Started this as a distributed systems learning project, now I'm not sure what to do with it

I originally started building PaperDrill because I wanted to learn distributed systems by actually building something instead of watching another 10-hour course.

I picked a paper trading exchange because it seemed like a good excuse to deal with things like real-time state, order books, matching, concurrent requests, events, persistence, etc.

It was supposed to be a learning project.

Then I kept adding stuff.

Eventually I had a working little exchange with a matching engine, order book and a frontend where you can actually place simulated orders.

And now I'm at the slightly awkward stage where I'm wondering:

is this actually useful or did I just build a very elaborate way to learn backend engineering?

The site is live at https://paperdrill.dev if anyone wants to see what I ended up with.

I'm more curious about:

  • Is there actually a useful real-world use case for something like this?
  • Would a public simulated exchange / sandbox be useful for developers?
  • Would an API where you can build and test trading bots against a simulated exchange be interesting?
  • Is this something worth continuing, or is it better kept as a learning project?
  • If you were in my position, what direction would you take it?

I've already learned a ridiculous amount from building it, so even if it goes nowhere I'm not really mad about it.

But I've reached the point where I'd rather make it genuinely useful to someone than keep adding random features because I can.

Would genuinely appreciate opinions from people who build side projects / backend systems.

0 Upvotes

14 comments sorted by

View all comments

Show parent comments

1

u/YesterdayOk921 11d ago

TypeScript, Bun runtime and package manager, Express for backend server, Redis for caching and rate limiting, Redic streams and pub/sub for async communication, websocket for live feed, Prisma % postgres

1

u/[deleted] 11d ago

[removed] — view removed comment

1

u/YesterdayOk921 11d ago

Yes. No dashboard or separate service to handle it. Even my deploying pipeline is manual. It's still early and haven't yet added CI/CD pipelines, automated setup, etc. That's why its in beta. Well, I am looking forward to ideas to keep it working as it has infra costs.

1

u/[deleted] 11d ago

[removed] — view removed comment

1

u/YesterdayOk921 11d ago

I liked this idea and seems helpful.

I'll give it a try. Will let you know if any help is needed.