Software developer with more than 17 years of experience. Passionate to build great architecture and writing clean code. Goal-oriented and self-motivated till getting complete satisfaction with a product. Have startup and freelance experience. Highly flexible to the project’s intricacies and tight deadlines. I have developed management systems for a wide range of industries, including jewelry workshops, gas stations, state budgets, lumber inventories, universities, mortgage companies, and litigation firms.
As a full-stack and back-end developer, I worked with PHP, .NET, and JavaScript tech stacks
I founded a startup called PayBot, a chatbot payment system that was the first of its kind in Georgia. PayBot allowed users to pay for a variety of services, such as communal bills, mobile accounts, parking, and fines, among others. With additional features like saving service identification numbers, payment card management, notifications scheduling, and debt reminders, PayBot aimed to provide a convenient and comprehensive payment solution. I developed the system from scratch and implemented all necessary DevOps engineering to streamline development and deployment.
As the founder, I was responsible for negotiating with investors and a middle company that provided payment services. These experiences taught me valuable skills in dealing with people, navigating bureaucracy, overcoming obstacles, and managing stress. You can learn more about PayBot by watching the tutorial video (youtu.be/GRHAPfKCrvE) or by visiting our website (paybot.ge/en).
At The Giving Block, we focused on providing a platform for donating cryptocurrency to non-profit organizations. Our primary offering was a widget that could be easily integrated into any webpage to facilitate these donations. As a team, we worked on three key projects, including a client activity dashboard, the widget, and a public API for our partner companies. I was involved in all three projects, with a focus on improving and refactoring our existing codebase. Our main objective was to move away from code that simply functioned and towards best practices-based, well-structured TypeScript code with a scalable architecture that could be effectively tested with unit tests. During my tenure, we successfully achieved this objective, resulting in a cleaner, more efficient codebase that allowed us to add new features and improve existing ones more easily.