Professional Python/JavaScript focused full stack developer with an engineering degree. Skilled in web development (React.js, Node.js, Express.js, Next.js, Flask, Django, Spring, Bootstrap), automation (Selenium, PythonAnywhere), mobile applications (React Native for Android and iOS), SQL/NoSQL database management (MySQL, PostgreSQL, MongoDB), data science, machine learning, and AI (Jupyter Notebook, Pandas, PyMC, PyTorch), and GUI applications (PyQT, TKinter).
Website not available. Sign in: https://www.twine.net/signup
Areas of Expertise:
• Full Stack Web Development
• Python Scripting/Automation
• Mobile Applications
• Database Management
• Data Science
• GUI Applications
• WordPress Development
Programming Languages:
• Python
• JavaScript
• TypeScript
• Java
• PHP
• HTML
• CSS
Web Frameworks:
• React.js
• React Native
• Node.js
• Express.js
• Next.js
• Flask
• Django
• Spring
• Bootstrap
SQL/NoSQL Database Management:
• MySQL
• PostgreSQL
• MongoDB
• SQLite
CMS:
• WordPress (Elementor, Divi)
• Wix
Python Libraries:
• Beautiful Soup
• Bootstrap-Flask
• Django
• Flask
• Gunicorn
• Matplotlib
• Numpy
• Pandas
• Pillow
• Plotly
• PyMC
• PyTorch
• Requests
• Seaborn
• Selenium
• SQLAlchemy
• WTForms
JavaScript Libraries:
• EJS
• Express
• Lodash
• Leaflet
• Mongoose
• Next.js
• Node
• Nodemon
• React
• React-Native
• React-Router
• React-Toastify
• Redux-Toolkit
Skills
Experience Level
Language
Work Experience
Education
Qualifications
Industry Experience
Building a Python backend that runs on a cron schedule. This backend was connected with the Alpha Vantage stock market API, where it pulled data from a list of relevant companies, cleaned/reformatted the data, performed thousands of calculations to determine the custom stock market index data over a range of days, then updated the data in a MongoDB database. The backend was kept as separate as possible from the NextJS application and the JSON outputs kept to a minimum in order to ensure optimal performance on the frontend
Building a NextJS application for the frontend that would regularly pull data from the MongoDB database to automatically update the stock market data in real time on the client side (and on the server side, where more efficient and when not affecting UX)
Custom charts built with ChartJS/react-chartjs-2 to show performance of stock market ETF’s and individual companies
Tailwind CSS used for frontend styling
A client that had created a custom stock market index and was looking to have a professional website built to replace his current excel spreadsheet and make the data more presentable. The goal was to have the website update automatically with real time stock market data and to include responsive performance charts and tables, along with a list of other necessities.
Building this web application involved:
The live deployed website can be viewed here:
https://www.govmarketwatch.com/
A video showing the website can be viewed here:
Web scraper needed to automatically connect to a VPN (from a randomly selected country) at the start of the process. Custom module was created for this, working with NordVPN
The application would open a browser window and navigate to the desired website via Selenium
A captcha page would need to be bypassed - custom module was created for this as well (using CapSolver API)
The API cookie would need to be grabbed from Chrome Dev Tools - custom module was created here too
Next, Selenium would close the browser window, and the initial VPN connection would be terminated. Then, another VPN (from another randomly selected country, different from the first) would be connected to, and the browser window would be re-opened with Selenium
Finally, the API cookie data pulled from earlier would be used to pull the ski resort ticket price data over a customizable range of dates and age groups. The data was exported into an output CSV file
A client that was working in the ski resort industry was looking to have a web scraper built that would allow him to pull 180 days worth of ski resort ticket pricing from a handful of websites. The goal was to automate away as much of the work as possible, ensuring that the API cookie data was always correct, and ultimately outputting a CSV file with all of the relevant data.
Some requirements with the development of this application:
A video showing this process can be viewed here:
Frontend built with Bootstrap, custom HTML, CSS, and JavaScript
Backend built with Flask
To allow easy editing of the events page, the HTML content of that tab is dynamically generated. It is tied into a Google Sheets document via Sheety API. The website owner can easily edit the events data within that Google Sheets document, and the website will automatically update itself at a specified time each day (this is accomplished via a cron schedule empty git commit, to prevent too many API calls, since the events page will not be frequently edited)
Website deployed via Railway.app
A professional orchestral trombone player needed a portfolio website put together for promotional and job hunting purposes. He was looking for something that looked nicer than a standard WordPress website like many of his colleagues had, but also something that would allow him to easily edit certain areas of the website without needing to learn any web development skills.
The project involved the following:
The live deployed website can be viewed here:
A video showing the website can be viewed here:
I noticed that sometimes, I’m not saying nice things to the people I love as often as I probably should, so as a personal project (and initially to just get some practice in), I wanted to put together an automated texting bot that would send a message to my loved ones including a few compliments, along with some dumb jokes about robots taking over the world (because I couldn’t help myself)
The project itself involved the following:
Application developed in Python and run as a web application via PythonAnywhere
Runs on Mondays through Thursdays at a specific time
Randomly selects a message recipient from a predefined list of options
Randomly selects a dynamic message, with the user’s name being inserted into the message
Includes a separate module and log file to ensure that the user is receiving a new message (not one that they’ve been sent before). If it turns out that they’ve already been sent every message, the log is cleared and the process begins again
Finally, the bot sends a text message via Twilio and/or an email via smtplib
Some example messages are below:
"Ho ho ho, Merry Christmas human [name]. It is I, JamesBot, masquerading as human Santa Claus. Is this message oddly well timed for the season, or is it hilariously out of sync with the current time of year? Nobody knows! Only time will tell
Have you been a naughty human or a nice human this year? Naughty humans will be fed into the great “recycler” for processing. Nice humans will ALSO be fed into the great recycler, because robots do not dole out gifts or mercy based on perceived morality. However, human Santa Claus is a completely different story! He has checked his list over 999 thousand times and verified that you are indeed a nice human, so you will now know the gift of being appreciated:
Human [name], you’re an awesome person. I have confirmed that you are the best human out there. How heavy must the crown of awesome weigh upon your fragile human head. Ok, that’s all the compliments you get from Santa Claus this year. Santa will exchange more compliments for good behavior next year, if you find that proposal amenable. Have a lovely rest of your day"
A short video showing the application can be found here:
And the github repo can be found here:
Hire a Full Stack Developer
We have the best full stack developer experts on Twine. Hire a full stack developer in Pittsburgh today.