Omid Armat

Full-stack web developer

Skills

I personally prefer to implement UI-related features manually instead of adding a new package to the project and bloating the application bundle size. However, if doing so takes too much time, then I would use the proper package and add it to the project. Nevertheless, I have hands-on experience with useful prevalent frameworks, libraries and tools used in both back-end and front-end application development.

Filters

Skill category
Skill field

TypeScript

full-stack
language

I have gone deep into JavaScript internals. I understand the preference of TypeScript over JavaScript espcially in large scale applications as it plays a vital role in project development and developer experience, and also making projects more bug-proof. I can implement proper type declarations to make components and functions much easier to use.

Python

general
language

I have learned Python language because of my own curiosity and also to be able to communicate better with Python developers when working in a team.

React

front-end
framework

I have explored behind the scenes of React in order to understand components lifecycle and how hooks work. I can confidently use React hooks such as useContext, useEffect, useReducer, useTransition, useMemo and useCallback. I can also effectively design custom hooks to be used thourghout any project.

Next

front-end
framework

I have developed and maintained 5+ projects using the Next framework. I can confidently use Next App Router to utilize its server-side rendering (SSR) for performance improvements. I can also implement SEO-critical websites such as blogs and landing pages by creating and inserting json-ld SEO schemas (based on schema.org documents) in to the HTML document right from the server.

Svelte

front-end
framework

I learned Svelte because of my own curiosity since the framwork is famous for its output bundle size and performance. I have developed a practice portfolio project using SvelteKit and its SSR. I always look forward to learn new front-end frameworks.

Axios

full-stack
library

I can efficiently use Axios and its interceptors to handle outgoing requests and incoming responses in both front-end and back-end applications.

Tanstack React Query

front-end
library

I regularly use Tanstack React Query library to handle queries, mutations and caching in front-end applications.

Material UI (MUI)

front-end
library

I have implemented multiple data-extensive front-end applications as admin panels using Material UI components.

Ant Design (AntD)

front-end
library

I have 2 data-extensive front-end applications as admin panels using Ant design components.

Express

back-end
framework

I develop my backend applications using Node.js Express framework. Express is really flexible in terms of allowing the developer follow their own design and structure, in contrast to something like Nest which imposes a strict structure and design pattern to the developer.

Tailwind

front-end
library

I can use Tailwind to quickly convert Figma designs into full-responsiveweb UIs with pretty fine precision. I never lose hand on writing pure CSS when required.

TipTap

front-end
library

I have hands-on experience in implementing HTML editors using TipTap library and its various plugins which is extremely useful for admin panels of different businesses and blog applications.

Zustand

front-end
library

I can use Zustand to handle complex state management applicaion-wide since it is kind of a mix of useReducer and useContext and it can simplify state-related jobs much easier.

React Hook Form

front-end
library

I have used React Hook Form in almost all of the applications that I have been involved with. I can use it to implement and handle complex forms where the form flow might change based on user input.

Zod

full-stack
library

I can confidently use Zod library to define schemas and use them invalidating inputs or any received data structure in both front-end and back-end applications. I can also integrate Zod into other libraries like React Hook Form where validation is involved as a crucial step.

React Router

front-end
library

I can use React Router library to implement efficient and performant routing in front-end applications to make them more snappy and improving the sense of native applications while using them.

Open Layers Map

front-end
library

I have hands-on experience in working with the Open Layers library to handle user interaction with Map components to receive their input coordinates and convert them into addresses using GeoCoding APIs.

Recharts

front-end
library

I can use the library to visually represent huge application data in different chart forms which is pretty useful in admin panels.

Framer Motion

front-end
library

I have used Framer Motion to implement simple UI animations for various UI components like modals, bottomsheets, popups, etc.

GSAP

front-end
library

I can use GSAP to implement more complex UI animations since it provides access to a lot more configuration props compared to something like Framer Motion.

Three.js

front-end
library

I am currently learning Three to be able to design and implement interactive 3D elements in front-end applications where interaction level is supposed to be much higher than regular websites and apps.

PostgreSQL

back-end
database

I have used PostgreSQL database in 5+ projects and I can write raw SQL queries. I can implement database security measures such as creating different users with different levels of access and privileges.

Vitest

full-stack
library

I can confidently use Vitest library to implement unit tests and integration tests in both front-end and back-end applications. I can also handle DOM-related tests where user interactions need to be simulated in order to be able to test application flows.

SQLite

back-end
database

I have hands-on experience in using SQLite for some demo project in which a fully fledged database setup was not reuquired.

Drizzle ORM

back-end
database

I can confidently use Drizzle ORM to handle database schema and data migrations.

Telegraf

back-end
framework

I have used the library to develop Telegram (and Bale) bots for my personal use.

Docker

deployment
tools

I use Docker to deploy my freelance full-stack projects on remote servers. I can write efficient Dockerfile and can also implement docker-compose.yaml files. I can use Docker CLI commands to manage Docker images and containers.

Nginx

deployment
tools

I learned Nginx and used it a few times, mostly in front-end application deployments when reverse proxying was required.

About
Projects
Skills