In my projects I used some of web frameworks like Express,
Restify and HapiJS.
I am trying to have a good
starter
template
for services using HapiJS that should have all basic required features....
In my projects I used some of web frameworks like Express, Restify and HapiJS. My choice will be HapiJS as this framework has a great ecosystem, is very easy to use and extend and is also very safe. Its default security parameters are always the most restrictive and the modules/libraries that can be used to extend the basic functionality of this framework are also great. The test coverage for this framework and its modules is always 100%. I am trying to have a good starter template (WIP) for services using HapiJS that should all basic required features.
Working as contractor since 2010.
As a full-stack engineer, I'm dedicated to creating robust and scalable software solutions that meet the needs of both users and stakeholders. With a broad range of experience in front-end and back-end development, I have a deep understanding of the technical considerations and design choices that are critical for building successful applications.
Collaboration is at the heart of my approach to software development. I thrive in team environments where everyone's skills and perspectives are valued, and I strongly believe in agile methodologies and iterative development. I'm always looking for ways to improve processes and workflows to deliver high-quality products efficiently and effectively.
In addition to my professional work, I'm passionate about personal projects and experimentation. I'm always seeking out new frameworks and technologies to expand my skills and knowledge. I believe that continued learning is crucial for staying at the forefront of the field and producing innovative, cutting-edge solutions.
Overall, I'm excited about the challenges and opportunities that come with full-stack development, and I'm eager to work with like-minded individuals and organizations to bring great ideas to life.
Your HR Github Seneca JS
This is an e-learning project with clients including districts and schools in USA but also private customers that can access the application for annual fee. The project started at the end of 2014 and was in production since early 2016.
From the start I was the only developer for backend and my tasks includes implementing API for Angular/React frontend, aggregating data for reports, email notification/reports and integration with third party systems/services like Clever, Sendgrid, GiftBit. I was also involved in deploying and maintaining dev & production environments. The application used:
- RabbitMQ - for notifications and events and asynchronous operations.
- Mongo DB - document database.
- Clever - used for synchronizing district/school data and also for allowing users to authenticate in the application directly from Clever system.
- Sendgrid - for sending emails using static templates.
- Others
This project was developed for one of the top providers for retailer loyalty solutions. This was the second project for this client. Project started in Nov 2018 and ended when was deployed in production and the maintenance phase started.
During this project I was part of the backend client team developing the API for frontend applications according with project specifications.
As part of the project I was also involved in specifications meetings and discussed different issues with client team members.
The project developed for this US based client was a reporting application that was intended to help management of the company to evaluate the current costs and issues for different categories of services provided by the company The system allows also client to extract data that can help for future decisions in the company strategy.
For this application the data had two different sources, one was the database that was accessed using Looker and the other one was the management system that used Airtable.
Application was React front-end and NodeJS backend. This was a small project, the team had 1 developer on frontend, 1 developer on backend (me), one developer on data source management (mainly involved in writing queries in Looker) and the project manager.
The project I worked on for this client was aimed at creating a comprehensive starting template for future projects within the company. As a full-stack developer, my role was to design and implement key features that are present in most of the company's projects, such as multi-tenancy, tenant management, user management per tenant, and user authentication and authorization.
One of the main goals was to establish a micro-services based architecture, which allowed us to update the platform project services independently of the custom project team. Additionally, I was responsible for managing the application access to secrets, including application configuration credentials and other sensitive data that was not saved in the database (using Vault).
I also contributed to the React client, fixing bugs and adding new features. To ensure that this project could be adopted by other teams within the company, I created technical documentation and provided support for other teams. This involved conducting technical meetings and presentations to demonstrate the features I implemented and to answer any questions that the team had. Overall, I am proud to have been a key contributor to this project, which will serve as a foundation for future projects at the company.
This client is one of the top providers for retailer loyalty solutions. The project was developed for one of the company's retailer clients. As part of this project I was assigned to the backend team which developed the API used by the frontend applications.
The project uses the micro-services architecture and I was involved from early specification discussions until the project was deployed in production. One of the components of this project was a Facebook Messenger bot that offer support for retailer's customers.
NodalCast was a project providing content management and also end-to-end solution including ingestion of content, monetization, support, user management and payment integration solution. The project had 2 frontend applications, one for customers and one for user and content management and internal reports. I was part of the backend team and I was involved in developing the API for frontend applications and reports data computing.
I was part of this project from the first specifications meetings until the project was deployed in production.
During this time interval I was involved in developing Seneca framework, working on main project or help developing some of its plugins. Some of the Seneca plugins developed by me (or where I helped) are: I was also part of teams that implemented other open source projects like:
I was assigned to the backend side for KarbonStream tablet project. The tablet was supposed to collect data from students in a very simple way. Student uses ordinary paper and pen and placing the paper on the tablet enables us to collect all required data in order to make possible to score correctly the student's test. The Java backend was receiving all data and was able to compute score/reports and all data required for teacher. Also it exposes API for both KarbonPad (the tablet) and for frontend.
Personal Project
Streamline your HR operations with a user-friendly, all-in-one platform designed for small and medium-sized businesses.
Give your employees the ability to manage their own HR-related tasks and information, reducing the workload on your HR team and empowering your employees to take ownership of their own HR experience.
Make a great first impression with a streamlined onboarding process that welcomes new hires and sets them up for success.
Ensure a smooth transition when employees leave your organization with a streamlined offboarding process that protects your business and your brand.
Make it easy for employees to find and connect with each other with a searchable directory that includes photos, contact information, and more.
Give your employees the ability to request time off and view their time off balances, while providing your HR team with the tools to approve and track time off.
Give your employees the ability to view and manage their benefits information, while providing your HR team with the tools to manage and track benefits.
Give your employees the ability to view and manage their 1:1s information, while providing your HR team with the tools to manage and track 1:1s.
I took charge of enhancing the application's efficiency and user experience through strategic and technical interventions. My primary focus was on optimizing asynchronous task computation for the application using Google Cloud Tasks and Scheduled tasks.
This initiative not only streamlined task execution but also contributed to a more responsive and scalable system.
To improve the user experience, I extended job search filters, offering a more tailored job discovery process. Simultaneously, I revamped email management with ChatGPT, enhancing email type detection for streamlined communication.
At Datacamp, I worked on a team that developed and maintained an e-learning platform designed to help users develop data skills at their own pace.
This platform covers a range of topics, from non-coding essentials to data science and machine learning, and is accessible to users of all experience levels.
Throughout the project, I worked closely with the team to ensure that the platform met the needs of our users. As a full-stack engineer, I played a key role in the project. This included implementing front-end features, integration with other services, implementing required API and monitor production environment.
This is an e-learning project with clients including districts and schools in USA but also private customers that can access the application for an annual fee. The project started at the end of 2014 and was in production since early 2016...Read More
Urbantz is the world's most advanced delivery management platform for enterprises. Our cloud-based platform allows retailers and logistics companies to plan, optimize, orchestrate and execute their last mile deliveries. Whether using internal or external fleets, using Urbantz will result in a most eco-friendly and cost-effective delivery.As a member of the Engineering team at Urbantz, I was responsible for implementing new features and requirements as discussed with the team members.
In addition to developing new features, I also played a critical role in maintaining the stability and reliability of our software. This involved monitoring our production systems, identifying and troubleshooting issues as they arose, and working with other teams to implement fixes and prevent similar issues from occurring in the future.
This project was developed for one of the top providers for retailer loyalty solutions.Read More
This was the second project for this client.
Project started in Nov 2018 and ended when it was deployed in production and the maintenance...
The project developed for this client was a reporting application that was intended to help management of the company to evaluate the current costs and issues for...Read More
The project I worked on for this client was aimed at creating a comprehensive starting template for future projects within the company. As a full-stack developer, my role was to design and implement key features that are present in most of the company's projects, such as multi-tenancy, tenant management, user management per tenant, and user authentication and authorization...Read More
This client is one of the top providers for retailer loyalty solutions. The project was developed for one of the company's retailer clients. As part of this project I was assigned to the backend team which developed the API used by the frontend applications...Read More
During this time interval I was involved in developing Seneca framework, working in main project or help developing some of its plugins. Some of the Seneca plugins...Read More
NodalCast was a content management project providing end-to-end solution including ingestion of content, monetization, support, user management and payment integration solution(s)...Read More
Working on backend side for KarbonStream's tablet. The tablet was supposed to collect data from students in a very simple way. Student uses ordinary paper and pen and placing the paper on the tablet enables us to collect all required data in order to make possible to score correctly the student's test...Read More
Worked as a Java developer and Team Leader in Masstech company. I was part of the platform Java development team - MassStore. I was involved in all project stages, from initial specifications meetings for new features to maintenance of the project in production.
This was a Java project implemented for Webquote - an US based company - and was supposed to manage PCB order flow from the initial quotations until the final product delivery.
The management and tracking application was implemented in Java while the application for automatic PCB price quotation was implemented in VisualC. I was part of Java development team.
I have used Docker and Kubernetes extensively in my projects.
When the architecture of the project used micro-services, then for the local development the best solution was
to use docker (and docker-compose) to have an environment as close as possible to production (minikube was also a solution).
Kubernetes was used in testing / staging and production environments and I was
involved in troubleshooting as part of the secondary support team.
I used AWS services in almost all my projects. Some of the services I used from AWS:
Vault was primarily used to store and manage application secrets.
One of the most important features of the project was the management of the tenants and this included the management of all
the secrets associated with each tenant. For this purpose and also to make sure that the
tenants secrets are stored in a safe place, we used Vault.
This was an internal company project that was supposed to aggregate and generate spreadsheets with time reports for company employee. Time tracking was done using Google Timesheets and the application was processing those files and generate reports for the financial department.