I build well-designed custom Node.js modules.
All you have to do is provide the requirements, and I'll develop one or more modules that implement them. Whether it's a library for a custom network protocol, an API client for a third-party service provider, a small utility for transforming an object, or anything else.
The modules I develop are maintainable and extremely reliable - bugs are very rare, and failing loudly is always preferred over failing quietly. This means that even if an issue exists, it can be found and fixed quickly without corrupting your data.
I specialize in solving unsolved, seemingly impossible problems.
I can develop modules for pretty much any set of requirements, whether they're simple or complex, but complex problems are the things I enjoy working on the most. A lack of documentation or prior work isn't a problem, either. You won't find copy-paste coding here!
I can work independently.
Constant meetings aren't a necessity - in most cases, I'll be able to develop your module independently, based on a single set of upfront requirements. This saves you time and money.
Of course, where it's required, I can work in teams as well.
I communicate well.
I clearly communicate what the status of a project is, and can explain how things work in simple language, without jargon. I also do tutoring, so I have a lot of experience in how to communicate things clearly, no matter someone's level of background knowledge.
Likewise, for any problem where there are multiple possible solutions, I can set out the possibilities and their tradeoffs - so that you can make an informed decision about them.
In short: I make sure that you always understand exactly what software you're running, how it behaves, and - if desired - how it works.
I'll release the resulting work as open-source.
By default, it will be dual-licensed under the CC0 and WTFPL. While I retain the copyright to the work - and I remain responsible for its maintenance - these licenses will allow you to use it for any purpose you see fit, without requiring further compensation or attribution. Every other user has the same freedoms.
Other permissive licenses, eg. MIT or BSD-3, are negotiable as well.
To incentivize this kind of open-source development, you will pay considerably less.
My rate is significantly lower than that of other freelance developers with similar experience and skills. You will also not be responsible for the ongoing maintenance of the open-source project, nor will you have to pay for it.*
Your custom module(s) will come with the following:
- A maintainable and self-evident codebase.
- A well-designed, reusable, loosely coupled API.
- Comprehensive and easy-to-understand end-user documentation. (example)
- Optionally, a comprehensive design document detailing all architectural decisions and their rationales.
- Where possible, support for frontend JavaScript code that uses Webpack or Browserify.
* While you are not responsible for funding maintenance of the open-source project, you will still have to pay for "priority development" when your requirements change. You can always open issues and pull requests without paying for the work, but they will then be handled on a best-effort basis - like those of other (non-paying) users.
Why open-source?
When code is proprietary, everybody has to reinvent the wheel over and over again - and you end up with hundreds of people solving the same problems, not being able to benefit from each other's experience.
Open-source changes that, by combining the collective experience of the Node.js ecosystem into collaboratively developed modules. It allows anybody to learn from other people's work, and to reuse battle-tested implementations of solved problems.
It doesn't have to hurt your business, either. Chances are that the license doesn't really matter; you just need something that fulfills your requirements so that you can do your work, and it doesn't matter who else can use it.
Of course, if you have any doubts about this, feel free to e-mail me - I'll happily address your concerns.
Specializations
- Application security
- Code maintainability and modularization
- Web-based applications
- Promises, map/reduce/filter, data processing
- Scraping - if it's accessible, I can scrape it
- Parsers and DSLs (Domain-Specific Languages)
- Unusual architectures and experimental technologies, with little to no third-party documentation
- Distributed and (soft) real-time architectures
Experience
- 13 years of (backend) software development; primarily PHP, Python, Node.js
- 16 years of frontend development; HTML, CSS, JS (and third-party libraries like jQuery)
- Extensive educational/technical writing experience (example)
- A wide array of open-source projects
- A number of published Node.js modules on npm
- Many other frameworks, libraries, and technologies; too many to list here.
Some (honest, unedited) reviews from customers can be found on my Node.js code review page.
Sample projects
Some examples of modules that I've built in the past:
Cost and payment
Available payment methods include PayPal, Bitcoin, and SEPA transfers. Other methods are considered on a case-by-case basis.
Commercial work | EUR 100 / hour |
---|---|
Non-commercial work | EUR 40 / hour |
Rate discounts and smaller deposits are available if you're on a tight budget - don't hesitate to ask! |
All payments must be upfront deposits, in 10 hour increments by default - after 10 hours of work, you make a deposit for the next 10 hours, and so on. You will receive an invoice for each payment. If preferred, larger deposits are possible.
Remaining hours after completion are refunded on request. Projects are rounded up to always be billed at at least one hour, even if they took less than an hour to complete.
To receive a quote for your project, simply contact me with your requirements, and I'll get back to you as soon as possible.
Contact
Don't hesitate to contact me with any questions or concerns! There are absolutely no obligations, until you explicitly agree to a quote.
E-mail (preferred): | info@ossworks.nl |
---|---|
Matrix: | @joepie91:pixie.town |
IRC: | joepie91 on Freenode |
When contacting me by e-mail, I will typically respond within 24 hours.
Address: Sven Slootweg OSS & Training Jagersingel 35 5241JW Rosmalen Netherlands KvK 70171920