Backend, cloud, and data

Building the systemsbehind the interface.

I’m Parash. I build APIs, data pipelines, and cloud infrastructure that keep working when the traffic, data, and edge cases pile up.

4+ years building microservices, real-time pipelines, and AWS infrastructure · Based in Kathmandu, Nepal

Parash SubediBackend Engineer at Grepsr
4+Years building backend systems
MillionsEvents handled every day
2025Grepsr Employee of the Year
AWSSolutions Architect, Associate

Grepsr · ScrapeSwitch

A scraping platform for pages that do not play nice.

I built ScrapeSwitch solo for Grepsr. A Rust API decides how each request should run, remembers the session, resolves a proxy, and hands browser-heavy work to a Python fetcher pool.

System mapRequest → result
Incoming requestValidate · normalize
OrchestratorRust · Axum · Tokio
Redis memorySession read / write
Strategy decisionSession · proxy · strategy
Static fetchcurl-impersonate · HTTP
Fetcher poolPython · FastAPI · Playwright · patchright
ResultAdaptive output

Static-compatible? HTTP. Browser required? Fetcher pool.

Validate and normalize the incoming request before choosing a fetch strategy.
Ownership

I owned it from idea to production

I worked through the API boundaries, strategy logic, browser pools, and deployment instead of stopping at a prototype.

Constraint

Fast when possible, browser when needed

Some pages only need a static request. Others need a full browser. ScrapeSwitch hides that choice behind one API.

Design principle

Rust decides, Python fetches

Rust keeps the control path lean. Python workers take on the slower browser work.

The API is only part of the job.

At Grepsr, I work across backend, data, and infrastructure. That makes it easier to follow a production problem to the real cause instead of passing it between teams.

Current roleBackend Engineer
GrepsrFeb 2023 to present
01

Services that are easy to run

I build Python, Go, and gRPC services, then carry them through EKS, Helm, and CI/CD so the team can ship and run them without guesswork.

  • A programming language I use to build services and process data.
  • A programming language suited to services doing many jobs at once.
  • A defined way for separate programs to ask each other for work and exchange data.
  • Amazon’s managed Kubernetes service for running applications across computers.
  • Packages the settings needed to install or update an application on Kubernetes.
02

Millions of events, every day

I work on Java, Flink, Fluentd, and Kinesis pipelines that process millions of events a day, with Temporal and AWS services keeping the workflows moving.

  • A programming language used for long-running services and large data workloads.
  • Apache Flink checks and transforms streams of data as they arrive.
  • An Amazon service that gathers streams of data for other systems to process.
  • Keeps multi-step jobs moving, including retrying failed steps after interruptions.
  • An Amazon service that runs a piece of code when triggered, without a dedicated server to manage.
03

The work around the endpoint

Auth, permissions, storage, observability, and database tuning are part of the job too. That work helped bring high-traffic API latency down from seconds to milliseconds.

  • Checks who a person is when they sign in.
  • Checks what a signed-in person is allowed to see or do.
  • A database that stores related records in tables and checks rules about that data.
  • Keeps frequently needed data close at hand so it can be read quickly.
  • An Amazon service for asking questions of data stored in S3 using database queries.
04

AI that solves a real problem

I built tools that generate data quality rules and pull CSS selectors and XPaths from crawled pages. They run inside real pipelines, not as side demos.

  • Checks whether data is complete, correct, and usable.
  • Amazon’s storage service for files, exports, and other saved data.
  • An Amazon service that runs a piece of code when triggered, without a dedicated server to manage.
  • Keeps multi-step jobs moving, including retrying failed steps after interruptions.

If I can fix it upstream, I do.

These are small, specific changes, but they now help everyone using the project.

01

Python

fivetran/great_expectations

Repository

I fixed two issues I ran into while working with Great Expectations, then sent the changes upstream.

30k+ GitHub stars
02

Swift / TypeScript

TableProApp/TablePro

Repository

I traced a DeepSeek V4 streaming failure in TablePro and fixed the chat path that was returning 400 errors.

4.8k+ GitHub stars
03

Python

D4Vinci/Scrapling

Repository

I helped fix a locale-dependent bug in Scrapling’s Cloudflare challenge handling.

Released in v0.4.15
5 Star Honors · 2025

Grepsr’s 2025 Employee of the Year.

Grepsr named me its top-performing employee of the year.

Grepsr · 2024

Hackathon Champion: CrawlGuard

I brought a cross-functional team together and we built CrawlGuard, a real-time data quality system, in 48 hours. It won the internal hackathon.

Amazon Web Services · Jun 2025

AWS Certified Solutions Architect, Associate

I earned the certification in 2025 and use the same ideas in production every day.

Parash Subedi in the hills near Kathmandu
Parash SubediParash Subedi · Kathmandu, Nepal

I like clear boundaries, plain code, and quiet on-call shifts.

I’m happiest when I can trace a request from the API through the data and into the infrastructure. I care less about clever code and more about systems that are easy to understand, change, and run.

EducationBachelor of Computer Science

Kathmandu University · 2018 to 2023

Select a technology for its definition.

Languages

  • A programming language I use to build services and process data.
  • A programming language suited to services doing many jobs at once.
  • A programming language used for long-running services and large data workloads.
  • A programming language that does the work on the computer running a website.
  • A programming language designed for speed and memory safety.

Backend and data

  • A Python tool for letting other software send requests and receive answers.
  • A defined way for separate programs to ask each other for work and exchange data.
  • A Rust tool for receiving web requests and sending responses.
  • A Rust tool that lets other tasks progress while one waits for data.
  • A system that checks and transforms streams of data as they arrive.
  • Keeps multi-step jobs moving, including retrying failed steps after interruptions.
  • Controls a real browser to open pages, click, and read what appears.

Cloud and delivery

  • Amazon Web Services provides computing, storage, and other services on demand.
  • Bundles an application with what it needs to run consistently on different machines.
  • Starts and manages packaged applications across a group of computers.
  • Packages the settings needed to install or update an application on Kubernetes.
  • Runs checks and release steps automatically when code changes.

Storage and access

  • A database that stores related records in tables and checks rules about that data.
  • A database for storing and querying related data in tables.
  • A database that stores records as flexible documents rather than fixed table rows.
  • Keeps frequently needed data close at hand so it can be read quickly.
  • Amazon’s storage service for files, exports, and other saved data.
  • Checks who a person is when they sign in.
  • Checks what a signed-in person is allowed to see or do.

Got a tricky backend problem?

Let’s figure it out.

subediparas5@gmail.com