Eralp Bayraktar
Verified Expert in Engineering
Web Scraping Developer
Munich, Bavaria, Germany
Toptal member since October 30, 2018
Eralp is a Python developer focusing on back-end development, mainly using Django. He has developed systems scaled to millions of users and created a RESTful API workshop at Siemens AG for internal training. Eralp holds a master's degree from the Technical University of Munich, specializing in computer networks, which gives him an edge while architecting web apps. Recently, he has developed serverless systems on AWS for scaling and cutting costs.
Portfolio
Experience
Availability
Preferred Environment
Sublime Text, PyCharm, GitLab, GitHub, Ubuntu, MacOS
The most amazing...
...thing I've coded is a live video-streaming service for a news website that encodes videos into many different formats and utilizes CloudFront cache to scale.
Work Experience
Senior Software Engineer
Revolut
- Pioneered the transactional level accounting for hundreds of millions of events per day.
- Actively participated in interviewing candidates and raising the talent bar.
- Managed healthy ETL frameworks to deliver accounting in line with the SLAs.
Python Back-end Engineer
Influenster
- Profiled and optimized API endpoints used by React/iOS and Android clients. By offering dynamic fields, each client can get the data it wants and ignore everything else, which saves bandwidth and time.
- Orchestrated major subsystems, like a serverless direct messaging system that allows one-to-one messages between users and a real-time Twitter-like social homepage feed that scaled beyond millions of users.
- Managed and ensured the cooperation of inter-company API integrations. Made sure the info sync process was fault-tolerant and logged in a fine and coarse-grained manner. This allows the operator to see the trees and the forest by choice.
- Implemented localization for the France expansion and respected the user's location, device preference, and explicit preference. The translation is a tiny part of the localization, so I also had to think about what made sense to present to the user.
- Applied HTTP best practices, cache-control headers to optimize delivery capabilities for static content, content-encoding to ensure requests are compressed where it makes sense, and localization headers.
- Implemented AWS Lambda functions (Java and Python) for various tasks. Lambda allows easy scaling, cuts costs, and is perfect for traffic that comes in bursts or at unexpected times.
Intern (Working Student)
Siemens AG
- Created a RESTful API workshop that's held on an international level (China and Germany offices). Focused on how the web, authentication, and authorization should work in a distributed environment.
- Held presentations about recent research in biweekly meetings with the team and the team leader.
- Conducted blockchain research and an Ethereum vs. Hyperledger comparison.
Application Server Administrator
Turkcell
- Optimized WebLogic parameters for the newly set up Java servers.
- Attended application server conferences to increase my knowledge base.
- Fired up new WebLogic servers on demand for developer teams.
- Wrote a Bash script to collect the configuration on all production servers.
Experience
Published Open Source Django Libraries and Blog Posts
https://eralpbayraktar.com/blog/First is Django-function-caching, it explains how to cache the right way. Second is a Django-rotate-secret-key which allows you to rotate your secret keys without causing inconvenience for your users.
You can find a detailed analysis on my personal blog.
Game of Coins | #3 Product of the Day on Product Hunt
https://www.producthunt.com/posts/game-of-coinsEach user after opening an account is credited 10,000 virtual US dollars and they are then allowed to buy/sell cryptocurrencies. The fun part of it is that it is social. Everyone is allowed to track everyone else's moves and there is a weekly/all-time leaderboard.
Technologies: Django, CoinMarketCap API
Twitter Crawler for a Media Agency | Rhino Runner
http://www.rhinorunner.com/The difficulty of this task was that Rhino Runner needed to track many keywords/hashtags and Twitter obviously employs rate-limiting for clients to crawl too much data.
The way I handled this was to prioritize tasks in a smart manner. If a hashtag doesn't get much interaction, no need to crawl it every hour if the system is approaching its maximum rate-limit. Moreover, one also cannot wait too much otherwise tracking is useless (if they are notified of a tweet one week later, it is useless). It posed an engineering challenge to find the best trade-off.
I used Django and Twitter API with Celery and Redis for the task queue.
Open Source Login Manager | ObiKey
Video Demonstration:
· https://www.youtube.com/watch?v=HYLwQmcSwqk
Scan and unlock web pages securely!
Welcome to ObiKey, your secure identity vault in your pocket. Want to use different passwords for each website but don't want to put your data on the cloud? Use ObiKey. 0 data on the cloud. Full control in your hands.
Tired of inputting the same information to multiple websites? Use ObiKey to transfer this information securely from your pocket to your browser.
Go to a website and with the help of "ObiKey Helper" extension generate a QR code, scan this code with your phone and share one of your identities to this web page. ObiKey will remember this forever and suggest to use the same identity, next time you visit the website.
Technologies: Ionic, JavaScript Library, Node.js
Code Repositories:
· https://github.com/EralpB/ObiKeyServer
· https://github.com/EralpB/ObiKeyIonic
· https://github.com/EralpB/ObiKey.js
Craigslist Clone with Mobile Applications | BitPazari
Technologies: Firebase, Ionic, Django
News Website/Apps with a Focus on Videos
The heavy focus on videos posed some challenges e.g., the need to encode the videos in different qualities (360p, 720p, and so on). Another critical feature was to enable a live stream via authorized smartphones.
Thanks to the Wowza media server, I could solve the domain problems, like specific encodings and scaling, by utilizing correct HTTP headers to cache the content. An AWS environment can scale really well and the video content is perfectly cachable as it doesn't change per-user basis. This offloaded an enormous amount of work from the application server.
Education
Master's Degree in Computer Science
TUM | Technical University of Munich - Munich, Germany
Bachelor's Degree in Computer Science
Bosphorus University - Istanbul, Turkey
Certifications
Shaping up with AngularJS
Noodle
Skills
Libraries/APIs
API Development, REST API, Instagram API, X (formerly Twitter) API, Facebook API
Tools
GitHub, Git, Sublime Text, Wowza, PyCharm, AWS, Apache Airflow
Languages
Python, Python, Java, Bash, JavaScript
Frameworks
JSON Web Tokens (JWT), Django, Django, Spring Boot
Paradigms
REST, Unit Testing, RESTful Development, Agile Development, ETL
Platforms
AWS, Blockchain, MacOS, Ubuntu, Linux
Storage
Redis, Cache, PostgreSQL
Other
Web Scraping, Finance, Data Scraping, Web Development, Media, Networks, System Security, System Security, Encoding
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring