Lead Back-end Developer
2018 - 2022Marcel For Art Ltd- Built the API from zero and scaled it to 100,000 users.
- Optimized ORM database queries to scale and solve N+1 problems by writing custom Django Managers and using various techniques such as prefetching.
- Wrote a comprehensive set of unit tests and set up CircleCI and coverage reports.
- Set up an infrastructure in the AWS ecosystem using Elastic Beanstalk, RDS, load balancers, and CloudFront and managed deployments to staging and production.
- Wrote an ML-driven artwork feed to deliver a custom-ordered feed to each user.
- Built payment flows for an eCommerce side of the app, allowing the purchase of artwork through Stripe and PayPal.
- Set up caching using Memcached to optimize the app speed.
- Wrote a variety of AWS Lambda functions and Step Functions.
Technologies: Django, Django REST Framework, Amazon Web Services (AWS), PostgreSQL, Python 3, Pytest, AWS RDS, Amazon CloudFront CDN, Memcached, Elasticsearch, Amazon Simple Queue Service (SQS), AWS Simple Notification Service (AWS SNS), Mailchimp, Mandrill, Sentry, Mixpanel, Amplitude, CircleCI, PythonSenior Back-end Developer
2019 - 2020North Shore Automation- Developed middleware for a media asset management system.
- Built media profiles to deliver media assets to large clients such as Comcast.
- Helped build a GraphQL API using MongoDB and Flask.
Technologies: Django, MongoDB, Python 3, Docker, Celery, Flask, REST, GraphQL, PythonBack-end Developer
2018 - 2019Tickerface- Developed the Django REST framework API for a mobile social shopping application.
- Helped showcase the app as the technical representative at Lisbon Web Summit 2018.
- Used scraping techniques in Beautiful Soup to keep prices up-to-date.
- Added social authentication to enable users to sign in with Google and Facebook.
Technologies: Django, Django REST Framework, Diffbot, Elasticsearch, Debian Linux, Ansible, Beautiful Soup, PythonSenior Back-end Developer
2015 - 2018Evo Pricing- Developed a Django UI that allowed visual training of intelligent scraping bots, email alerting, and scheduling scrapes for non-technical users.
- Ran large-scale distributed web scrapes and dealt with ban avoidance techniques such as user-agent and proxy rotation.
- Customized Scrapy and built many custom middlewares, loaders, and pipelines.
- Wrote an API in Django that allowed run scheduling and monitoring.
Technologies: Scrapy, Django, Python 3, Data Wrangling, Data Cleaning, jQuery, Bootstrap, HTML, XPath, CSS Selectors, Django REST Framework, Web Scraping, MySQL, Azure, SQL, Automation, Celery, Selenium, Python, JinjaBack-end Developer
2014 - 2016Dooster- Contributed to developing a new responsive design for the Dooster app.
- Managed the DevOps, such as setting up the Linux server and database.
- Wrote integrations with Google Calendar and Google Contacts.
Technologies: Django, Ajax, jQuery, HTML, CSS, Python, JinjaBack-end Developer
2014 - 2015Clandestine Brewing- Used metrics via Graphite to show probe graphs of cold room temperature of beer in a custom Django admin.
- Integrated with Facebook to show the latest posts on the website.
- Redesigned the entire site from scratch to give a more responsive and fresher look.
- Integrated with Google Calendar API to show the latest brewery events on the homepage.
Technologies: Heroku, Django, Graphite, Amazon S3 (AWS S3), Django Extension & Middleware, Ajax, Facebook SDK, PostgreSQL, Python, JinjaBack-end Developer
2014 - 2014Oddsbot- Built spiders to gather data from over 50 bookmakers and betting exchanges in the UK.
- Presented arbitrage opportunities to subscribers using a Django-driven website.
- Developed an email alerts system to alert subscribers of premium arbitrage opportunities.
Technologies: Django, Scrapy, PostgreSQL, JavaScript, jQuery, HTML, Python, Jinja