Skip to content

sterliakov/sterliakov.github.io

Repository files navigation

Hi, I'm Stanislav

I am a full-stack developer with a strong preference for backend work. I enjoy designing robust systems and appreciate having control over the entire stack --- from infrastructure to user-facing UI details.

A Few Links

Technology stack I enjoy the most

  • Backend: Python, Django (except for the somewhat limiting ORM) + DRF or FastAPI with SQLAlchemy and Alembic (more powerful, but more boilerplate).
  • Databases: PostgreSQL if we're talking SQL, DynamoDB for something less structured.
  • Frontend: JavaScript or TypeScript (depending on the size of the project) with React and Tailwind. For quick prototyping I've had some exceptional experience with shadcn/ui.
  • Infra: AWS is my favourite, with some features simply unmatched by other major providers. And Docker is the most convenient way to ship exactly what you test, with docker compose offering an instant local environment setup.
  • Tooling: pre-commit, GitHub actions, ruff, uv, biomejs (although they still lack some ESLint features), the list goes on... And, quite controversially, Jira as a project management tool.
  • Dev environment: I'm running Lubuntu on my primary laptop and use Sublime Text instead of an IDE. I also use Vim for any editing that doesn't need ten open tabs and perform a lot of tasks via CLI.
  • Rust: it doesn't clearly fall into any of categories above, but all my experience with it has been overwhelmingly positive.

My Current Role

I'm currently the CTO of Simpleem, where we are building a system that uses the power of machine learning to quantify and classify behavioral traits of video call participants.

Our platform helps sales teams improve performance by analyzing behavior and highlighting the most impactful moments of conversations. HR teams can use Simpleem to streamline candidate assessment, reduce manual screening, and identify candidates who best fit their culture and team dynamics.

We've developed a system that can predict deal outcomes with a high degree of reliability and offer actionable insights --- powered by a mix of LLM-based engine and in-house heuristics discovered by thorough review of a huge dataset.

A few implementation details

Here are a few aspects of the implementation I love the most (and was personally responsible for):

  • Fully serverless architecture: The core of the Simpleem platform is powered by AWS lambda and orchestrated by AWS Step Functions, our inference engine (Python, Torch) handles many short chunks of a video in parallel, alongside audio analysis and transcription, achieving excellent observability and reliability. Switching from GPU instances to Lambda gave us a 20x cost reduction.
  • Our backend (Python, Django, DRF) is also deployed on Lambda and connected to an RDS database. It scales effortlessly and remains extremely cost-efficient.
  • Our frontend (TypeScript + React) avoids unnecessary complexity --- no SSR, just a static site served from S3 via CloudFront. It's fast, lightweight, and easy to maintain.
  • As a side product, we ship a WebRTC-driven video pitch game. It was fun to build and probably deserves its own write-up.
  • Attention to code quality and DX pays off! Setting up a very strict set of linters for everything from main code (shout-out to ruff and biome) to "helper" files such as yaml auto-formatter or Dockerfile linter saves a lot of time spent resolving merge conflicts and catching weird bugs.
  • Time to release matters. A change, once approved, can hit staging or production in less than 30 minutes. During that time a lot of linters are trying to tear the code apart, and a comprehensive test suite with over 90% coverage ensures correctness at the next level.

Outside of Work

In my spare time I enjoy bouldering --- a form of rock climbing that focuses on short but challenging routes on low walls. I recently climbed my first 7b/+ route --- still proud of this milestone!

I'm also lucky to have a supportive family: my amazing wife, who encourages me through everything, a cheerful medium-sized dog (a mixed-breed rescue we found in Armenia --- she won us over instantly!) and two cats who seem to think 4 a.m. is the perfect time to start the day.

I studied at MIPT and was working towards a Bachelor's degree. I had to leave the programme and relocate in 2022, but the experience deeply shaped my thinking and technical foundation.

My pet projects

Python type checker: mypy

If you're unfamiliar, mypy is a static type checker for Python that brings optional typing to an inherently dynamic language. I really enjoy the ability to increase the correctness of the code and our own confidence in it without sacrificing flexibility.

Although I'm not the original author, I've contributed around 50 PRs ranging from correcting a small omission to hunting down and fixing a critical bug that affected a large number of users.

Developer tooling: mypy-issues

A small helper built with Python and GitHub actions to check mypy changes against the corpus of open project issues. It helps us keep the tracker clean and catch some regressions before the PR gets merged.

I have enjoyed building something that runs entirely via GitHub interface: open an issue, wait for the results to be reported there. Done!

Simple time tracker client: toggl

I've been using Toggl to track my work hours until they have deprecated the native Linux app and suggested using a browser extension instead. I'm allergic to browser extensions for everyday tasks, so I built a minimal Rust-based client tailored to my own needs.

The client has to deal with some unique API design: Toggl API returns time in profile timezone --- certainly the best way to handle datetimes that sure will never get out of sync.

For distribution, I packaged binary builds via NPM --- one for each platform/arch, and one meta-package to rule them all resolve them dynamically. It's a workaround, but it works!

Terraform module for ECR-based Lambda deployment

Which came first --- the chicken or the egg? AWS engineers don't know either.

If you want to deploy a docker-based Lambda function, you need an image in place. To build an image, you need a pipeline to build that image and update the function which doesn't exist yet.

I ended up studying the registry specification and publishing a module that uses curl to fetch and push a lightweight alpine image as a placeholder --- no Docker installation required.

This project was inspired by this clever StackOverflow answer.

VeChain SDK in Rust: thor-devkit.rs

Funded by the VeChain Foundation, this SDK brings core blockchain utilities to Rust, enabling developers to build dApps and tools with full support for VeChain's protocols.

While I'm cautious about the hype around crypto, I believe in its long-term potential when used right --- especially for decentralized finance, digital identity, and fair creator ecosystems.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks