Projects
During my full-time employment, I have been involved in more 10+ client-side and office-side front-end applications, 2 of which I have solo-developed and maintained. I have also developed and deployed my own full-stack applications.
Zarafza
Gold trading platform
Company: Amin Etemad Farda
Feature development: Cooperated in designing structure of new features, developing and integrating them with existing features.
Optimizations and debugging: Observed application behavior, revised various parts of code base to enhance and optimize performance and functionalities of the application. I worked with Sentry and also kept close contact with support team to get notified when a user encountered a bug and attempted to fix it.
Admin panel: Implemented data-extensive panel to enable business administrators to manage permissions, adjust market states, confirm withdraws, monitor user functionalities, etc.
API interaction optimization: Optimized Axios request/response interceptor logic to prevent unnecessary requests being sent to the server.
Code cleanup and refactor: Actively engaged in cleaning and refactoring the code base. Removed some installed packages by manual implementation of components.
Kalayadak
Auto-parts online shop
Company: Amin Etemad Farda
Full project setup and development: Solo-developed the whole client-side and office-side front-end applications by implementing clean and scalable structure, while keeping re-usability always in mind.
Admin panel: Implemented a feature-rich panel that allows business administrators to manage every detail of user's shopping flow and campaign pages.
Paykan
Bank account management app to control deposits/withdraws
Company: Amin Etemad Farda
Feature development: Cooperated in adding new features to the app.
Admin panel: Solo-developed a comprehensive administrator dashboard for business managers to be able to handle important tasks with more user-friendly controls compared to Django admin interface.
Exprezz
Fast and simple reservations
Company: Self
Date-time system design: I had no Idea about the complexities in handling date-time issues around implementing a reservations system until I began developing Exprezz.
Handling OTP authentication: I Initially used an external API to handle OTP generation and verification, but due to the service instability, I decided to handle the whole login process manually.
Manually-implemented calendar: Following my curiosity about how tools work under the hood, I was really eager to manually implement a Jalali calendar. The tricky part was to figure out, for each month, which day of the week does the first day of the month correspond to. I used a date conversion library to handle that.
MyFinBot
Personal bot for tracking life expenses
Company: Self
Categorize expenses: The bot allows users to define repositories, and then categories inside those repositories. The user can then manually store their life expenses in their defined categories.
Get reports: Users can receive a report of their expenses in a specific category of a repository (or all categories of a specific repository) within a given start date and end date, along with a detailed list of the stored expenses within the given time period.
Gibidoo
Interactive showcase of my web development skills
Company: Self
Seeking more interactivity: The prevalent style used in most portfolio websites seemed too stereotypical to me. I am always trying to develop ideas for much more interactive portfolios where I can showcase my skills through more detailed engagement rather than just scrolling up and down.