BSc. Software Engineering
A passionate, curious and automation driven Software Engineer.
Mert AkenginPortfolioWork Experienceiyzico Payment ServicesIVEN IoT Cloud and Device Solutions StartupTATU Creative SolutionsAbbox 3D Printing & DesignLostar Information Security & ConsultancySparkGo: Bahcesehir University Spark Lab, BAU Spark.Challenges & CompetitionsEricsson Innovation AwardsHack-a-Sat CTF QualificationsSTM CTF, 2017 October, Ankara/TurkeyIntel IoT Hackathon - Galileo Development KitIntel IoT Hackathon - Edison Development KitIntel IoT Hackathon - BAU RoboticsAnnual Robotics Day in BAU, Drone RacingAnnual Robotics Day in BAU, Drone RacingTubitak Efficiency ChallengeTubitak Efficiency ChallengeProjects & FreelanceNetwork routing & logging with Raspberry Pi and WiFi ad-hoc.static-docker
: reproducible builds in containers.gaming-containers
: Source engine games, containerized.Passive sonar system for submarines (Turkish Armed Forces & Navy)Acoustic Analyzer on Qualcomm SoCTEDxBahcesehirSwifterSwift:Pollstop: Online poll platform & hub. Create and vote for polls!Schnaps: QR-Code based note-taking & sharing app.Thesis: Wide-Area Mesh Network using LoRaThesis: IoT applications in mixed realityIoT Sensor Backend & Gateway (MQTT)Smartphone controlled RC-Car using Wi-FiHC-05 Ultrasonic Radar SystemAutonomous Car & Digital Signage SystemParkinsonPen: Case study application for Parkinson's Disease patients.BAU-TIP (Bahcesehir Medical School) Quiz/Trivia Web AppAgriculture Sensors Kit with LoRaOffice Activity LoggerKalpha RoboticsTurev Muhendislik (Web site)Freelancer.comA Basic anti-cheat tool for online FPS gamesHobbies and CommunitiesEducationUdacity Google Developer Challenge Scholarship: Android DevBSc. Software Engineering, Bahcesehir UniversityHuriye Suer Anatolian High School
A fintech startup and leading online POS solutions provider. Successful exit with the Naspers group (PayU) in mid-2019. Here I became Black Friday Veteran, twice. I also got into some big catastrophic emergencies.
Role: DevOps and Systems Engineer
When: 2018 August - Current
Where: Istanbul/Turkey.
Web: iyzico.com
Tools:
Projects:
blue-green
or canary
styleThe name means Internet ve Nesneler, the Turkish of "Internet of Things". I have learned and did so much which wouldn't fit here. I was the 9th or 10th employee. Built custom projects for Arzum, Vestel and EncoreNetworks. IoT applications and solutuons, data ingestion gateways. Maintained DevOps cycles and production releases.
Role: DevOps and Embedded Engineer
When: 2017 January - Mid 2019
Where: Istanbul/Turkey
Web: iven.io
Partnered:
References:
Projects:
Built internal network infrastructure for the Besiktas office, maintained then revised the older one in Kosuyolu. Optimized and managed internal NAS system, firewall (Fortigate 100E), setup rendering pipeline for Unreal Engine, Maya, and Nuke. Built custom projects and interactive playgrounds, walls, and floors for Borusan Otomotiv & Kosifler Oto (BMW, Jaguar, and Land Rover official distributor in Turkey), Dogus Group for "DGSTALKS 2017". Mainly used Processing, HTML5 and d3.js, three.js, p5.js and similar libraries.
When: 2017 October - 2018 July
Role: Developer & System Engineer
Partnered:
Nestle (Call center, IT managament for a year)
Dogus Holding (in DGSTALKS 2017)
Koc Holding
Kosiflter Oto & Borusan Oto
Projects:
Reference: Goktug Vatandas
Wrote the main e-commerce website in PHP where users can upload STL (3D object) files and can view others in-browser (canvas). Mainly automation of office stuff, 3D printer firmware & calibration, mail system, static website, and a bit of OpenCV to check if 3D printing failed.
Role: Software & Systems Developer
When: 2015 August - 2017 May
Projects:
References:
Developed e-mail vulnerability detection kit (open-relay, known CVE's etc) in Javascript. (NodeJS) Developed Nessus report generator and verifier for internal purposes. This includes internal ticket system and portal which clients use. C, PHP , Python (2) and Javascript/NodeJS used.
Role: Co-founder, engineering joker
When: 2014 April - 2015 October
Projects:
Diver's Mate; An underwater walkie-talkie, that uses visible (green) light to transmit voice instead of radio-waves. (Which by the way do not work underwater, at least for longer distances more than a few meters.)
Result: 268 of ~1200
Team: noteam
(joined solo)
Unfortunately, I do not have many friends interested in such stuff. But just in 2 days, learned about
ZARYA
and TLE (two-line element set).
Joined as solo; I thought I wouldn't be going to finals. Then I qualified for finals, which required 3 or 4 person team. So, I took 2 of my friends to fill minimum 3 quota :) Went to finals, had fun. (solved about 16/30 challenges) My friends solved 1 misc (50pts) which got us in top 10 :)
n00bteam
This was more introduction than the hackathon since in the end, no product was available. Through the hackathon, we hacked our way into the board. Because there was no documentation or tooling or whatsoever available at the moment and that was the first time we were tinkering with Intel's board. I fired up Wireshark, found IP address of the board (the address on the Ethernet port was misleading), nmap'ed, found SSH was open, tried some passwords that did not work. Then tried empty one and voila, we were in. But GPIO peripheral drivers wasn't compiled into the kernel and since I do not have the appropriate sources, I couldn't add them. Instead, I wrote and compiled a simple web-server in C, SCP/SFTP into the board, and ran it there.
With my friends at Spark, we have joined to Intel's event and hackathon. We've built a complete wireless home automation system using Groove Kit and Edison Development Kit. On-device HTTP server, REST API and a HTML5 WebSocket interface to control components.
I was supporting software projects in Bahcesehir University's Intel-sponsored laboratory, In 2015 Intel wanted to organize a hackathon to guests and give away some Edison development kits. We've given a basic set of requirements for the hackathon and organized it. Throughout the competition I have helped people from getting started from scratch to un-brick broken firmware by flashing Intel Edison.
With a couple of friends from the Mechatronics club and laboratory, We planned and executed first-ever drone/quadcopter race in Istanbul and Turkey. Designed and built software for landing zone, which was pressure-sensitive using FSR (Force Sensitive Resistor) sensors. Keeping time automatically using Arduino and transmitting them to nearby computers with Nordic Semiconductor NRF24L01 modules.
This was the second one and continuation of the competition above. We've completely re-designed landing zones and parkour. Previous force-sensitive zones were error-prone due to down-pressure created by the drone itself after taking off. (Pushing air downwards.) So developed laser-driven system with mirrors, LDRs, (Light Dependent Resistors), and servo motors.
We've designed and built double seat car from scratch using aluminum sigma profiles. The car was similar to Smart for-two. Developed telemetry and control systems along with H-Bridge motor driver software and Battery Management System (BMS).
We took older chassis and Heliocentris Nexa 1200 fuel-cell, re-designed shell, and control systems along with telemetry and remote control software. I wrote all in-vehicle software and firmware. Including base station communication system and dashboards.
Due to coronavirus, I have been worked from home between March and July 2020. And connection in my home not a good one with ADSL being 8 Mbps down and 760 Kbps up. Sometimes I was dropping out of the company's VPN. To look into what's happening I've set up Raspberry Pi as DHCP and DNS server (dnsmasq), plus as a router/gateway (ip_forward). To keep myself doing manual operations on the Pi, packaged them using Docker and setup
docker-compose
to handle the system. Added Splunk and wrote some queries to see which device doing most of the traffic and to where.
static-docker
: reproducible builds in containers.gaming-containers
: Source engine games, containerized.I've build software for Submarine's sonar. The hardware parts of the sonar have been built by the Project Development Unit of BAU. The difference of this sonar is that it does not send any signals out, instead, sensors (which are combined accelerometers and hydrophones) listens only ambient noise. Thus able to detect changes and even locate them. This involved complex matrix operations and Fourier Transforms. With the help of professors, I converted a couple of Matlab projects to Python (3) and Numpy. With the help of PyQtGraph library, I was able to visualize data from 20 sensors, each consisting of 4 channels, each channel having a sample rate of 192 kHz. And this is done under 20 milliseconds. Thanks to AVX instructions and Intel's Python distribution optimized with
BLAS
andLAPACK
libraries.
When: 2018, January - July
Where: Joint project of the following;
Built an ambient acoustic analyzer and recorder for detecting noise and quality of the environment (room). I have given Qualcomm 4G/LTE SoC running Linux. With an embedded STM32 processor that is used for sound capture and MP3 encoding. First I custom-compiled Python 3 for device. Then I wrote a Python (3) firmware that handles Data connection, OpenVPN connection, OTA upgrades, time synchronization with NTP Server, and of course recording functions.
Designed and built websites between 2015 and 2018, dealt with stage preparations, technology stack, prompter, ticket system, and collaboration with sponsors.
When: 2015 September - 2018 April
Link: tedxbahcesehir.com
While we were taking the same courses with Omar he noticed how Javascript (particularly NodeJS) having all
functional
libraries laying around while Swift does not. So he started to write someextensions
for language and core libraries. (UIKit
,Foundation
, etc.) I helped with a small number of extensions which I found helpful while writing a simple Swift 2.3 HackerNews app. Also as aC
person myself, found date/time missing Unix timestamps. After It reached a couple of hundreds of extensions, he made it public, I mostly dealt with the Website,
Django, HTML, JS, Selenium for tests, and a bit of React. Well, in favor of delivering the project in time, I've ditched React :) Running on FreeBSD, since 9.2. Now running 12.1-RELEASE. I still maintain & update it.
PHP 7.0, HTML, JS, you know, casual stuff. Web Media APIs (
getUserMedia
, Media Capture API) SQLite (3), NFS and whatnot.
This was my first capstone & thesis project. Collaborated with Erkin Sahin (Mechatronics) and Berke Kocar (Electronics) to built a fully functional mesh network and companion device with long battery life in which phones connect them with Bluetooth. This allows users of the device to send and receive messages and locations (GPS coordinates) with each other without the requirement of a master node or some central device that manages communication. A very usable and efficient system in rural areas given its range is up to tens of kilometers with small form factor (About the size of electronic cigarette.)
This is my second capstone & thesis project. Again IoT focused mobile application that involves Bluetooth (4.x) Low Energy and Beacons. This app allows users to locate beacons on the map (Google Maps API) and due to the nature of beacons, it is easy to spoof them. So users can determine if they're real or not.
Wrote a REST API and Websocket capable backend service for delegating IoT device data to dashboards, time-series logging, and ease-to-use.
Used ESP8266 Wi-Fi SoC and an Android device to make a remote-controlled car. I've used then alpha Processing's Android Mode for mobile app, UDP with multicast networking, and Espressif's C SDK for firmware.
A basic system with Arduino. The ultrasonic sensor mounted on the servo motor. With a simple serial (UART) protocol, the computer sends commands to scan the area or particular angle then the sensor sends results back. Finally a program on the computer (Processing App)
For the robotics course, I built a basic car with an aluminum frame, 3 wheels, and 9 ultrasonic sensors. Added Xbox camera for SLAM - environmental awareness. This car maps the environment in 2D and continues to do so. If it notices something has been moved, reports with photographs.
The purpose of the project was testing early-stage Parkinson's disease patients and their children for very early diagnosis and treatments. In order to measure accuracy, patients are given some patterns to follow, (lines, dots, etc.) and with special-purpose pen attachment mounted on the stylus, attachment measures movements, vibration, and rotation. Sends it to a tablet (Android). Whereas application software on the tablet measures accuracy, speed, and jitter. Evaluations are done on a personal basis. Resulting in improvement in the accuracy of personal data. While doctors can view drawing in real-time or replay afterward with appropriate graphs embedded in their control panel. Full-Stack Development;
- Device Firmware (Bluetooth 4.0 Low Energy, Intel Curie platform)
- Android App
- Web App and Backend (Firebase and Cloud Functions)
When: 2017, May - October
Link:
BAU Medical School Faculty contacted BAU Incubation Center and TATU about a web app for small polls/quizzes which they post from social media accounts and do some giveaway. (books, swag, etc.)
An ESP32 Firmware for LoRa communication plus custom protocol based on my previous Mesh Protocol. An Extensible packet layout for adding different sensors later. Currently used in the field for measuring moisture levels in the ground. (Canakkale/Turkey)
At IVEN we were in open-office in Zorlu Center. Due to the nature of open-offices, a shared restroom causes lines in front of them at specific times. At first, with light and gas sensors, I built
is occupied?
system in the office. With Slack bot and native Android and macOS application counterparts to reserve a queue. I know this sounds silly but then it evolved intolet's determine how many people actually in the office
. So I started tracking Bluetooth beacons as well as other 2.4 GHz band, tried to match patterns. A couple of demos/PoC of the project have been done to some clients but never really took off. Because of the necessity of a controlled environment.
Built and designed CNC software and automation. Pressure and contact sensor-based system that helps refurbish automobile rims.
One of my friends in the Mechatronics lab was working for a construction company, whose website was flash based and old. So he wanted to replace it with a modern one. So I designed and developed one with a basic administration panel and markdown rendered frontend.
Built websites, digital signage systems, and drivers for Linux (LinuxCNC router-head driver for PCI-Express card). And fixed various Linux problems, did data recovery, forensics & analysis of data-at-rest, SSL issues, PPTP & IPSec VPNs. Unfortunately in 2016, the Turkish government blocked PayPal from operating in Turkey, thus, I stopped using the platform since I cannot transfer or use funds in my account.
I was playing Call of Duty Modern Warfare 2 with community developed Mod called
alterIWnet
. Because there was no anti-cheat protection in-game. LaterfourDeltaOne
, the continuation ofalterIWnet
introduced with open-source client and somewhat basic anti-cheat. Then I started to develop a solution (I had no idea what I was doing TBH). Used Processing for taking screenshots in random intervals and upload them to specified FTP server. Meanwhile using basic operations, it was calculating statistics of pixels of the screenshot. Such as the percentage of all-red, all-blue, or all-green pixels. And embedding this data to JPEG EXIF Comment. Then server-side software regularly parses images (a cron job and a simple C application) and marks high-ratio images for further viewing. Owners of FTP of course can view all images manually. Image names include timestamp, user id, and resolution. This was the first application I wrote, I used GSC (Call of Duty internal scripting language, similar to Javascript), Java, and C++.