Skip to content
View swayam0322's full-sized avatar

Highlights

  • Pro

Block or report swayam0322

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
swayam0322/README.md

Hi, I'm Swayam Gupta

Software engineer in Bengaluru, open to remote. I work on browser automation, web scraping and systems code in Python, C and C++, and I contribute to open-source projects.

What I work on

  • Browser automation and scraping: Playwright, Selenium and Scrapy pipelines, session handling, and pulling structured data out of web apps
  • Systems: C/C++ performance work in storage engines, a toy compiler, reverse engineering and binary parsing
  • Backend and integrations: REST API clients, OAuth/SCIM app integrations, rate-limited batch jobs, Django

Currently learning: Rust and Apache DataFusion

Selected open-source contributions (merged)

Project Contribution
TidesDB (C storage engine) #643: faster SHA256 update/final (block-wise memcpy instead of per-byte copies) plus benchmark tests
#658: compile SHA256/HMAC code and their tests only into S3-enabled builds
Scrapy #6547: moved tool configs into pyproject.toml (14 files)
zyte-common-items #118: migrated setup.py to pyproject.toml
#115: fixed the tox command so tests report coverage
Zulip (Python/Django) #28516: stopped exposing email addresses as URL parameters on the find-account page
#28582: added a "send another email" button to find-account
#28598: send an email even when no Zulip account matches the address
GoCD integration rewrite (co-authored): moved to a webhook-plugin-based integration with richer notifications, fixtures and tests (fixes #21224)

Projects

  • Notion-Playwright: async Playwright script that logs into Notion, reuses the saved session, invites test members, and exports workspace users to JSON through Notion's web endpoints.
  • simplelang: small C++ compiler (tokenizer → recursive-descent parser → AST → assembly for a simple two-register machine), written to learn compiler basics.
  • smartlead: threaded, rate-limited Python client that finds and removes leads that never replied from completed SmartLead campaigns. Uses Polars and a GitHub Actions workflow.

Tech

Python (Playwright, Scrapy, Selenium, Django) · C · C++ · CMake · JavaScript/TypeScript · MongoDB · Firebase · SQL/MySQL · Git & GitHub Actions · Linux

Contact

LinkedIn · GitHub

Pinned Loading

  1. Notion-Playwright Notion-Playwright Public

    Async Playwright automation for Notion: session reuse, test-member invites, and workspace user export to JSON

    Python

  2. simplelang simplelang Public

    Tiny compiler in C++: tokenizer, recursive-descent parser, AST, and assembly codegen for a simple 2-register machine

    C++

  3. smartlead smartlead Public

    Threaded, rate-limited Python job that removes leads that never replied from completed SmartLead campaigns

    Python

  4. tidesdb/tidesdb tidesdb/tidesdb Public

    High-performance write & space optimized transactional storage engine.

    C 602 59