Full-Stack Software Engineer
Simplicate
AWS Cloud Migration
Migration from an on-premise VPS setup — dozens of servers, each with its own configuration and no central management — to AWS with Shared Compute. The new cloud setup scales automatically with usage, without manual intervention. The impact on release velocity was significant: from one hotfix per day and one release every three weeks, to multiple releases per day when needed.
GitHub CI/CD Automation
Automated the full build, test, and deployment workflow using GitHub Actions. Quality checks that previously took 30–40 minutes now run in a fraction of that time — with more checks than before. Releases changed from a manually supervised process taking several hours to an automated process of around 30 minutes requiring no active attention.
Native Mobile App Rebuild
Rebuilt the native mobile application in TypeScript and React Native using Expo, replacing a legacy codebase. Established CI/CD pipelines and application architecture; frontend team handled UI/UX while I focused on functionality and technical implementation.
Local Development Environment Redesign
Migrated development environment from a remote VPS setup to local development due to slow SFTP synchronization. Leveraged Docker images from the AWS migration to enable faster onboarding. A new developer previously spent multiple days setting up their workstation — this has been reduced to a matter of minutes. Developers now work fully locally and independently, without reliance on shared servers or slow file synchronization.
Automated Regression Testing Stack
Established comprehensive regression testing using Playwright, enabled by running the full application landscape locally. All critical user flows are covered by automated tests. On average, a bug is caught before reaching production every three weeks. The stack runs primarily locally via CLI commands, but is also prepared to run in GitHub Actions CI/CD.
Monolithic to Microservices Migration
Refactored legacy monolithic PHP/React/jQuery application into independent services. Modernized architecture to align with current standards, simplified developer onboarding, and enabled independent development and scaling of services.
Ongoing Development of Existing Applications
Alongside architectural refactoring, I continued extending existing applications with new functionality and brought legacy code up to modern standards.