Building a backend framework alone teaches you a lot.
It also makes one thing very clear:
A framework becomes better when more developers challenge its ideas.
That’s why I’m opening the door wider for developers who want to contribute to StreetJS.
StreetJS is an open-source, TypeScript-first backend framework for Node.js.
The goal is to provide a modern foundation for building APIs and backend applications while keeping the architecture predictable, strongly typed, and extensible.
But I don't want StreetJS to be shaped by only one developer.
What can you contribute?
You don't have to be a framework expert.
There are many ways to contribute:
🐛 Find and fix bugs
Use StreetJS, break things, report what you find, and help fix them.
Real-world usage is one of the best ways to discover problems that tests don't catch.
📚 Improve documentation
Good documentation can be more valuable than another feature.
If something is confusing, difficult to discover, or poorly explained, improving it is a meaningful contribution.
🧪 Write tests
Frameworks need strong test coverage.
You can contribute:
- Unit tests
- Integration tests
- Edge-case tests
- Regression tests
- Property-based tests
⚡ Improve performance
If you enjoy profiling Node.js applications, there are opportunities to investigate:
- Request performance
- Middleware execution
- Dependency injection
- Database operations
- Memory usage
- Startup time
🏗️ Work on the architecture
This is especially interesting to me.
StreetJS has several core subsystems, and I'm interested in developers who want to think deeply about their boundaries and long-term design.
For example:
What should StreetJS own?
What should remain replaceable?
Where should plugins begin and framework responsibilities end?
These are architectural questions—not just coding tasks.
🔌 Build plugins
One of the directions I'm particularly interested in is growing the StreetJS ecosystem.
Plugins can provide integrations without forcing every capability into the framework core.
That could include integrations for:
- Payments
- Storage
- Messaging
- Authentication
- Databases
- Third-party APIs
- Developer tooling
You can contribute without writing code
Open source isn't only about pull requests.
You can help by:
- Trying StreetJS
- Opening issues
- Reviewing PRs
- Improving examples
- Writing tutorials
- Sharing feedback
- Finding confusing APIs
- Suggesting architectural improvements
- Building projects with it
Even saying "I tried this and here's what confused me" can be extremely valuable.
What I'm looking for
I'm especially interested in developers who enjoy:
TypeScript
Node.js
Backend architecture
Open-source development
Performance
Testing
Developer tooling
But you don't need to know all of these.
If you're curious, that's enough to start.
One important thing
I'm not looking for contributors who will simply agree with every decision I've made.
I'd rather have someone say:
"I don't think this abstraction is going to scale."
and explain why.
Good open source needs disagreement.
It needs code reviews.
It needs alternative approaches.
It needs people willing to ask uncomfortable architectural questions.
That's how projects get better.
If you want to contribute
Start by exploring the project:
GitHub: https://github.com/hassanmubiru/StreetJS
Documentation: https://hassanmubiru.github.io/StreetJS/
npm: https://www.npmjs.com/package/streetjs
If you're a developer interested in TypeScript, Node.js, backend frameworks, or open source, I'd love to have you take a look.
You don't need to be an expert.
You don't need to make a huge contribution.
Pick an issue.
Try the framework.
Open a discussion.
Tell me what you think.
Let's build StreetJS as a community, not just a project.