Backend developer & curious human

Hi, I’m Pouya.
I build things
that work.

Thoughtful backends. Useful tools. A healthy obsession with how things fit together.

I’m Pouya Sadeghi, a developer at Goldis, based in Tehran. I turn complicated commerce problems into systems people can rely on.

Tehran, IranPython · Systems · Open source
A delicate sapphire-blue and violet butterfly resting on a branch against a softly lit indigo background
Small details.
Endless possibilities.
A little blue butterfly. A reminder to stay curious.

An engineer.
A problem solver.
Still a student.

And away from the keyboard

I like understanding a problem all the way down — then building the smallest, clearest tool that can solve it well.

At Goldis, that means connecting marketplaces, coordinating background work, and making financial workflows behave under concurrency. In my own projects, it means turning the parts I keep rebuilding into reusable Python tools.

I’m also studying Computer Science. Algorithms, data structures, and the occasional detour into C or Rust keep me asking better questions about the layers underneath an API.

Currently
Backend developer at Goldis
Studying
B.Sc. Computer Science · 2023–2027
At home with
Python, Linux, and a good problem

Real problems.
Considered solutions.

A few systems I’ve worked on at Goldis.
The interesting part is what happens behind the interface.

Commerce infrastructure · Goldis

Many marketplaces.
One coherent system.

A synchronization and pricing engine that connects products, inventory, orders, discounts, and invoices across four marketplaces.

The work spans concurrent workers, competitor-aware pricing, product mapping, and financial reporting — with explicit limits and recovery paths when an external service misbehaves.

  • Python
  • Litestar
  • Taskiq
  • PostgreSQL
  • Redis
A closer look

Workers propagate marketplace changes asynchronously. Automatic, competitive, and takeover pricing modes share stop-loss constraints. Product mapping connects external listings to internal inventory, while a custom ORM path supports database-intensive operations.

Financial systems · Goldis

Trading with a plan for failure.

A digital gold trading backend with asynchronous supplier execution, operational fallbacks, and monitoring. RabbitMQ and Redis coordinate background work after user trades.

  • FastAPI
  • RabbitMQ
  • Redis
  • PostgreSQL

E-commerce · Goldis

Keeping a gold store in step.

Automatic inventory repricing from gold-market rates, with heuristic product categorization and administrative control. A practical mix of background jobs and algorithmic reasoning.

  • FastAPI
  • Celery
  • Redis
  • Algorithms

Things I keep
coming back to.

Small tools and bigger experiments.
Built from the problems I actually run into.

Application architecture

Papilio

A modular foundation for Python APIs. Evolved from Fastamu, it brings application structure, dependency boundaries, and reusable infrastructure together.

Explore Papilio
Background work

Papilio Tasks

Jobs and events as an independent building block, so background work has a clear home beyond the API layer.

Explore the project
Integrations

Marketplace SDK

A typed sync and async interface to Digikala, Snapp, Basalam, and Tapsi. One place to handle their differences.

Explore the project
Tools for exploration

Digikala MCP

A bridge between Digikala and MCP clients, making marketplace tools available through a familiar protocol.

Explore the project

Sometimes the right place for a fix is upstream. My contribution to Taskiq’s scheduler cleanup

The tools change.
The questions stay.

What happens under load? Where does failure go? Will the next person understand this?

01

Make the boundaries clear.

Typed interfaces, explicit dependencies, and modules that each have a job.

02

Think about the unhappy path.

Retries, cancellation, cleanup, and observability belong in the design.

03

Choose tools for the problem.

Python for most backends. PostgreSQL for persistence. Queues when work needs its own pace.

Often on my desk

Python / FastAPI / Litestar / PostgreSQL / Redis / RabbitMQ / Docker / Linux

A person,
not just a stack.

There’s more to me than what I ship.

A different kind of practice.

Boxing and calisthenics are part of life away from the screen. Different problems; the same patience with repetition.

For the fun of figuring it out.

Competitive programming, mathematical experiments, and low-level game projects. I like a challenge even when it doesn’t need a roadmap.

Find me on Quera

A soft spot for the unexpected.

The Matrix, an Arch Linux desktop, and blue butterflies. A few of the things that make this corner of the internet mine.

06 / Start a conversation

Have something
in mind?

A backend challenge, an open-source idea, or just a good conversation. I’d love to hear from you.