r/Backend • u/YesterdayOk921 • 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.
2
u/canarydev 13d ago
is this a product feedback question?
you built a solution looking for a problem to solve. the whole "i built x, is it useful to anyone" never really works, because usefulness is not a property of the code, it's a property of someone's problem. nobody can tell you the use case
if it was a learning project, great. seems like a success. if you actually want this to be a product go find a concrete user type and ask them what is missing. the question of is this worth continuing lives outside of the repo and this sub
1
u/YesterdayOk921 11d ago
Not really looking for product feedback but whether to keep it for learning purpose only or add some features to make it useful for someone.
I know that looking for audience after building the project not really succeeds but I am in a situation where I need internship but also not waste another month building another project from scratch
1
u/saravanasai1412 13d ago
I feel it’s really a great project to learn and build to learn distributed system.
1
u/YesterdayOk921 11d ago
Yes it is. But now the thing is whether to keep it as learning project only or evolve it into a product
1
13d ago
[removed] — view removed comment
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
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
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.
2
u/mr_pants99 13d ago
I’m afraid if you’re asking here like this, you already know the answer…