Selwin Ong is a seasoned technology leader and Chief Technology Officer with 16 years of experience building backend systems and developer-focused tooling from Jakarta. He leads engineering at Stamps, an Indonesian loyalty/CRM startup, while maintaining a long history of hands-on contributions to prominent open-source Python and Django projects. His practical expertise spans job queues, schedulers, user-agent parsing, email backends and CMS optimizations—demonstrated by substantive fixes and feature work across rq, django-rq, ua-parser, django-post_office and many Django ecosystem libraries. Selwin combines security consulting background with production engineering, enabling reliable, well-tested integrations and packaging for PyPI releases. He is comfortable deep in code—resolving cross-platform issues, automating build steps, and improving test coverage—yet also steers product-facing technical strategy. His profile reflects a pragmatic engineer-CTO who still ships meaningful open-source improvements that benefit the wider Python community.
A Django app that allows you to send email asynchronously in Django. Supports HTML email, database backed templates and logging.
Role in this project:
Back-end Developer
Contributions:11 releases, 24 reviews, 383 commits in 10 years 8 months
Contributions summary:Selwin primarily contributed to the development of a Django application focused on asynchronous email sending. Their work involved implementing an admin interface, creating management commands such as 'send_mail', and adding features like a lockfile to prevent concurrent tasks. Additionally, the user improved the overall system by adding database backed templates, support for multi backend, fixing bugs and integrating the attachment support.
Contributions:33 releases, 395 reviews, 441 commits in 10 years 10 months
Contributions summary:Selwin made several changes to the `rq/queue.py` and `rq/worker.py` files, indicating a focus on improving the core job queue and worker functionalities. These changes included enhancements to retry mechanisms, dependencies among jobs, and the addition of new features for job execution, such as the ability to handle different task states and improve logging. They also made improvements to the worker itself. The user implemented a new `Dependency` class, with allowing dependencies to be marked as failed. The changes involved both code structure and handling execution lifecycles.
pythonredisredis-streamsqueuesrq
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.