Senior Full Stack Software Engineer / Senior Python Engineer / AI Engineer
Hire Me on UpworkHello! I am Ranmal Mendis. Full Stack Software Engineer, Educated in Computer Science with Artificial Intelligence, and experienced in various digital technologies.
With over 5 years of experience as a Full Stack Software Engineer on Upwork, I have honed a diverse and robust skill set, delivering high-quality solutions across various projects. My journey includes roles as a Backend Software Engineer at Cryptus IT Solutions and as a Director at Heladiva Raz Holdings. This varied experience, combined with my commitment to continuous learning — as evidenced by my pursuit of an MSc in Computer Science with Artificial Intelligence at the University of York — empowers me to bring innovative and effective solutions to any challenge.
- Web Frameworks: Flask, Django, Fast API, Jinja, SqlAlchemy
- Web Scraping & Automation: Scrapy, BeautifulSoup, Selenium, Urllib2, PyMuPdf, PDF Data Extraction
- Asynchronous Programming: Web Scraping, Data Scraping, Asynchronous Programming, Multi-Processing, Multi-Threading
- Python Libraries: Swagger, Webhooks, Web Sockets, Python Bots, Numpy, Pandas
- Data Visualization: Matplotlib, Plotly, Dash, Bokeh, Tableau, Power BI, Data Storytelling
- Automation & Bots: Data Manipulation, Binance Bots, Telegram Bots, Binance-Telegram Bots, Web Scraping Bots, Facebook Scraper, Python Automation
- AI and ML Platforms: OpenAI (ChatGPT, DALL·E 2, Davinci, Davinci-text-003, gpt-3.5-turbo, gpt 4), Langchanin, Chatbot Development, Llma 2, Bard, Claude, Claude API, Stable Diffusion, Stable WarpFusion
- Machine Learning Frameworks: PyTorch, TensorFlow, Keras
- Computer Vision and OCR: OpenCV, OCRmyPDF, Tesseract OCR
- Data Science and NLP: Scikit Learn, NLTK, SpaCy, BERT, Gensim, Word2Vec, GloVe
- Advanced ML Techniques: Reinforcement Learning, GANs, Autoencoders, Transfer Learning
- ML Deployment and Interpretation: Model Deployment, Model Interpretation, Feature Engineering, PCA, t-SNE
- Cloud Platforms: AWS, Azure, GCP, Firebase
- Containerization and Orchestration: Docker, Kubernetes
- Continuous Integration/Continuous Deployment: CI/CD, Jenkins, Git
- AWS Services: AWS Cloudformation, AWS CodeCommit, AWS Cloud9, AWS CloudWatch, AWS RDS, AWS ECS, AWS SQS, AWS S3, AWS Lambda, AWS EC2
- Azure Services: Azure Kubernetes Service, Azure WebApp, Azure Storage - Blob, Azure SQL Database
- APIs and Automation: Google Maps API Suite, Adobe Extraction API, Open AI API, Stripe API, Paypal API, Zapier Automation, Python Automation
- Java, JavaScript, React JS, Angular JS
- Node JS, Express JS, MongoDB
- Android Development, Firebase
- PHP, Scala, Rust, Svelte, Java Web Sockets, MySQL, SQL, Oracle
- Content Management Systems (CMS): WordPress (including WooCommerce, Elementor, Divi Theme), CMS Management
- Web Hosting and DNS Management: Web Hosting, DNS, Namecheap, Cloudways, GoDaddy
- No Code Platforms: Bubble.io, WebFlow, ServiceNow, Airtable
- Graphic Design Tools: [List specific tools if needed]
- WordPress Advanced: WordPress Theme Customization (code level changes), WordPress REST API
- Integration and Automation: Zapier, Dokan Multivendor, WCFM, Payment Gateway Integrations, Twillio, Make.com Automations, GStreamer, RTSP, Salesforce API
- MySQL, SQL Server, MongoDB
- PostgreSQL, Oracle, Neo4J
- NoSQL, Cypher Query Language, Firebase, AWS RDS, MariaDB, SQL Lite, Graph Databases
"Discover Travel Destinations" is an innovative online platform dedicated to transforming the way travelers plan and experience their journeys. This website serves as a comprehensive guide for exploring travel destinations and tourist attractions worldwide. Its unique feature is a dynamic travel planning tool that allows visitors to create customized travel itineraries. Users can input their preferred travel duration, country, and interests – such as beaches, mountains, or historical sites – to generate a personalized travel plan. This plan is presented in an interactive timeline format, offering a unique and user-friendly experience.
https://www.discovertraveldestinations.comThe Pexels Image Fetcher is a WordPress plugin designed to dynamically fetch and display images from Pexels.com based on specified topics. This plugin integrates seamlessly with the Pexels API, allowing WordPress site administrators to enrich their website with high-quality, relevant photographs without the need for manual image sourcing.
Features
- Dynamic Image Fetching: Automatically retrieves images from Pexels based on user-defined topics.
- Shortcode Integration: Easily implementable within posts and pages using a simple shortcode.
- Customizable Image Count: Users can specify the number of images they wish to display.
- Responsive Design: Ensures compatibility and optimal display across various devices.
- API Key Configuration: Includes a settings page for easy Pexels API key input and management.
- Internationalization Ready: Prepared for translation, making it accessible for a wide range of users.
Travella elevates the real estate experience with its sophisticated Flask-powered application, prominently featuring an advanced chatbot at its core. This app, deployed on AWS EC2 for optimal performance, integrates a range of technologies, with the chatbot being a key differentiator. Here's an insight into its technical prowess and functionalities:
- Property Search Assistance with Chatbot Interface: Travella's chatbot uses natural language processing to understand and respond to user queries, making property search a conversational and engaging experience. Users can input their preferences in a dialogue format, and the chatbot intelligently fetches real estate listings that match these criteria.
- Scheduling Property Viewings via Chatbot: The chatbot extends its capabilities to scheduling property viewings. Users can interact with the chatbot to select suitable times and dates, and the app handles the rest, ensuring a hassle-free arrangement for visiting properties.
- Lead Capture and Management with Chatbot Efficiency: Utilizing the Airtable API, the chatbot captures potential client information during interactions. This data is then systematically managed for effective follow-up and marketing purposes, all within the chatbot interface.
- Powered by OpenAI Assistant APIs: The chatbot's advanced functionalities are enhanced by the integration of OpenAI Assistant APIs. This enables the chatbot to provide more accurate, relevant, and personalized responses, elevating the user experience to new heights.
- Voice Flow Integration for Voice Commands: The chatbot also includes Voice Flow capabilities, allowing users to interact using voice commands. This feature adds an extra layer of convenience and accessibility, catering to diverse user preferences.
- Connectivity and Scalability with Rapid API and AWS EC2: Rapid API's integration ensures seamless connectivity with various services, enhancing the chatbot's capabilities. AWS EC2's robust infrastructure guarantees that the chatbot operates smoothly, even under high demand, ensuring reliability and scalability.
Travella's chatbot is not just a feature; it's the heart of the application, offering a unique, intelligent, and user-friendly way to navigate the complex world of real estate. Its combination of natural language processing, AI-driven responses, voice interaction, and efficient lead management makes it a standout in the realm of real estate applications. https://github.com/ranmalmendis/AI_CHAT_BOT_OPEN_AI_ASSISTANTS_API
This Python Flask application is designed to facilitate the generation of articles and emails using the advanced capabilities of both GPT-4 and GPT-3.5 language models. Users have the flexibility to incorporate relevant dynamic fields into their input, enabling the creation of comprehensive articles leveraging the capabilities of both GPT-4 and GPT-3.5.
Furthermore, the application seamlessly integrates the generated outputs from these language models into the email content generation process, leveraging the strengths of both GPT-3.5 and GPT-4 to produce compelling and contextually relevant emails.
To enhance user customization and control, the application features a user-friendly interface that allows users to easily modify prompts and other settings. Additionally, the application includes a text editor, empowering users to fine-tune and edit the AI-generated content according to their specific needs and preferences. This combination of AI-driven content generation and user-friendly editing capabilities makes this application a powerful tool for content creation and communication.
https://www.loom.com/share/ca5aa4eb029b468d9b57f1591221154b?sid=1aed8c11-b672-4e83-8da2-15f5378a78df
In the course of this project, I undertook the task of extracting Facebook Ads posts and associated comments from a Facebook page by the name of 'Unique Raz.' These posts, sometimes referred to as 'dark posts' or 'hidden posts,' earn their moniker due to the unique attribute of being created as Facebook ad content without being published on the originating page. Consequently, once the ad campaign concludes, these posts remain invisible on the page unless intentionally shared or published.
To accomplish this data extraction, I employed the Facebook Graph API, which served as a robust and reliable means to retrieve these posts. Subsequently, the acquired data was meticulously stored in JSON files as well as a Google Sheet. Notably, I integrated Python-based automation techniques to enable a seamless and continuous data transfer process to the designated Google Sheet.
By implementing this automation mechanism, the project ensures that data is persistently and systematically updated in the Google Sheet for as long as the script remains operational, streamlining the data management process with efficiency and accuracy
https://www.loom.com/share/707e74e9dbdb493fbdc3fddcd455c35e?sid=27c69f43-a9a3-4ecd-8a1f-ec10f47ea7ad
In the scope of this project, I executed a data extraction process focused on Facebook posts and comments originating from a Facebook page known as 'Unique Raz.' To accomplish this task, I leveraged the Facebook Graph API, which facilitated the retrieval of pertinent data. Subsequently, I meticulously organized and stored this extracted information in JSON file formats, as well as within a Google Sheet.
The integration of Google Sheet automation played a pivotal role in streamlining data management within this project. Employing Python scripting, I established an automated process whereby data is continuously updated and saved to the aforementioned Google Sheet. This automated system ensures that the Google Sheet remains dynamically synchronized with the latest information from Facebook. Consequently, as long as the script is operational, the data will be seamlessly and consistently populated within the designated Google Sheet. less
https://www.loom.com/share/c8b6ade2c28c47c2b98e6dc76603eb9d?sid=bc73a3bb-9da2-45be-9edc-fa2be744c40a
The provided script operates dynamically, generating content through the OpenAI platform for each individual row within a specified CSV file. It leverages the GPT-3.5 Turbo model for its natural language processing capabilities. Additionally, the implementation incorporates asynchronous programming and multiprocessing techniques to enhance overall performance.
https://www.loom.com/share/ba6bc5d44d7241b4bfc9c0b0a4c6dfb4?sid=47dba822-e2e4-4c1e-b581-c7503d81f4a5
In this project, the number of daily vaccinations against covid 19 has been analyzed based on countries. The final output shows the top 5 countries that had the highest number of daily vaccinations prior to 2022 on a Map created with Folium. On the final map, we have markers on the top five countries and when we click on each marker it shows the highest number of daily vaccination reported and the names of the vaccines that were used.
https://www.loom.com/share/8a2c5aab3fa746d5a5978635b35e26d0
Used technologies -: fitz, re, datetime, pandas, PyMuPDF
Both scripts detect the pdf's format(format 1 and format 2) based on the identical contents in each pdf. Then they apply the relevant conditions and rules to extract the contents.
script2.py - This script extracts the data based on the location and common texts in the previous blocks. This script doesn't check the highlighted annotations.
main.py - This script extracts the highlighted texts in a given pdf using PyMuPDF. This script checks the 'highlighted' annotations. less
https://www.loom.com/share/0b6af5266b154bda913dd32d5d09ce4a
This is a Binance-Telegram bot developed with python. This bot has inline keyboard markup and reply keyboard markup too. When the user selects the relevant symbol it sends the changed percentage of the value(price) of that symbol over the past seven days with a plot in png format.
https://www.loom.com/share/0520a9ff16564adbaf00b5e24b6fc321
In this project damro.lk's sofa and bed products data have been scraped with python, and Scrapy. The results are saved into a JSON file.
https://www.loom.com/share/34b39828d46b48a5ba2d3f83bbb4838b
January 2020 - Present
Working on Upwork since completing my bachelor's degree. Experienced in Python, Flask, Django, AI, Machine Learning, Deep Learning, Web Scraping, Scripting, contributing to various software development projects as a full stack Engineer/AI Engineer/Senior Software Engineer.
March 2022 - November 2022
Served as a Backend Engineer through Cryptus IT Solutions for BlackSwan Technologies. Focused on development using Python, Java, Scala, Flask, Spring, and various technologies such as AWS, Azure, GCP, Docker.
August 2019 - November 2021
Founded this startup to create an online marketplace (Unique Raz) supporting Sri Lankan sellers. Managed various aspects including WooCommerce, WordPress, Payment Gateway Integrations, and DNS configurations. Closed the company due to challenges in the Sri Lankan online marketplace.
May 2018 - November 2018
Completed my internship at SLIIT, focusing on building and managing a WordPress website for SLIIT CODEFEST 2018. Conducted a study on open source project management software tools and worked with WordPress, Orange Scrum, OpenProject, Taiga, ProjectLibre, Adobe Photoshop, and Illustrator.
March 2022 - Present
University of York, United Kingdom
Participating in a part-time distance learning MSc program offered 100% online by the University of York, focusing on Computer Science with a specialization in Artificial Intelligence.
November 2015 - November 2019
Sri Lanka Institute of Information Technology (SLIIT)
Achieved Second Class - Upper division with a GPA of 3.47/4.0. Included in the dean's list for the fourth-year final semester.
2001 - 2014
Southlands College, Galle, Sri Lanka
Completed G.C.E. Advanced Level with grades C in Biology, S in Chemistry, and S in Physics. Achieved 9 distinctions in G.C.E. Ordinary Level across all subjects including Mathematics, Science & Technology, and English.