Gergely Bódi
Verified Expert in Engineering
Go Developer
Gergely is a developer with 13 years of experience. He specializes in Go and web technologies that supplement Go back ends. He has a strong familiarity with unit testing, SQL, and NoSQL and is also interested in cross-platform front-end development through Flutter, where he has two years of experience. During his university years, Gergely studied many programming languages. The most vital skill he acquired was the ability to learn new technologies on the fly and solve engineering problems.
Portfolio
Experience
Availability
Preferred Environment
Linux, Arch Linux, Git, LiteIDE, Geany, Visual Studio Code (VS Code), Slack, Google Meet, GitHub
The most amazing...
...thing I've made for a currency exchange app was the Ext JS front end, parts of the Python back end, C++ calculations, and a fantastic AI algorithm.
Work Experience
Full-stack Developer (Contract)
Freelance
- Developed multiple back ends in Go with different SQL and NoSQL technologies.
- Wrote unit and functional tests for Go with table-driven subtests and high coverage.
- Developed multiple front ends in Vanilla JS, CSS, HTML5, React, and Angular.
- Developed desktop user interfaces in Qt C++ and wxPython.
Senior Go Developer
Shib.io
- Learned blockchain mechanism with a Polygon-fork cryptocurrency.
- Helped upgrade the company's fork of the cryptocurrency code by a major version and fixed minor related issues.
- Learned about self-sovereign identity and made comments on implementing it.
Go Back-end Developer
HTEC - Main
- Created and refined a Go directory structure for multiple projects.
- Made PostgreSQL database layer functions for CRUD operations of many tables with unit tests.
- Created and improved an OpenAPI descriptor for a REST API layer, integrated it with generated Go code as a service layer into the back end.
- Wrote integration tests for the back-end system using HTTP requests and responses.
- Mentored colleagues to learn to Go with previous Java background so they could continue to develop the system. Focused on teaching idiomatic Go style and best practices.
Senior Go Developer
Reddit, Inc.
- Migrated already collected metrics to Prometheus, including unit test coverage in Go, for a popular social news platform.
- Handled server configuration changes from command-line flags to YAML file sources in Go.
- Refactored single-function unit tests to table-driven subcases in Go.
Flutter Developer
Self-employed
- Developed two mobile and web apps to schedule appointments for horse riding schools.
- Managed multiple layers of accessing data in Google Cloud Storage and Firestore NoSQL database.
- Developed a tool to easily import existing data to the new system.
IoT Developer
Spin
- Managed connectivity events and the state of multiple types of electric scooters with unit tests.
- Connected 3rd-party APIs to the system: Datadog monitoring/logging and APM span traces.
- Debugged low-level IoT functions in cooperation with people from other teams.
- Reviewed many pull requests of other team members thoroughly.
- Wrote and debugged resource-critical multithreading code.
Senior Go Developer
Raven Ops
- Developed a Go CLI that parses real-time flight data and encodes it in a more readable format in GRPC in a multithreading server.
- Developed a Go CLI that parses a sky map from a huge ASCII formatted file and saves it to a more readable format in PostgreSQL tables.
- Created some small Go CLI utilities that query data from the PostgreSQL table (previous bullet) based on given input data.
Go Developer
Rendered Text
- Developed a CLI to save, overwrite, and delete files on Google Cloud Storage on a per-client basis with unit tests.
- Developed a gRPC service to check the cloud storage service's health state.
- Made it available through a gRPC service to check cloud usage on a per-client basis.
Go Developer | Web Developer
Baldor Technologies Pvt Ltd
- Developed a React-based front end of a web app for capturing the user's video with a journey of multiple screens.
- Built a Go-based back end with robust error handling based on the status information.
- Managed the storage of the captured video on the Google Cloud Platform.
- Provided useful unit test templates for both the back and front end.
JavaScript Engineer
Exponential
- Conducted R&D about the new video technology including live-streaming technologies like HLS and MPEG-DASH.
- Looped a portion of an HTML5 video with JavaScript.
- Understood and provided a solution for the new mobile sound playing issues and for desktops as well later on.
- Made multiple 360-degree videos visible on web pages.
- Joined the framework development. Understood the existing huge codebase, fixed bugs, wrote new code, and collaborated with people from all around the world.
Back-end Developer | Front-end Developer
National Information Infrastructure Development Institute, Budapest
- Contributed to the Drupal module development for the company web site.
- Created standalone Python scripts for different purposes.
- Supported cloud development for ELTE University using OpenStack.
Front-end Developer | Back-end Developer
Genome Finance Solutions Kft., Budapest
- Created a complex GUI in Ext JS and maintained it during Agile development.
- Assisted in the Python back-end development, using multithreading computations.
- Wrote and updated unit tests for a Python back end.
- Assisted in the C++ development of CPU-intensive calculations.
- Wrote my own trading algorithm based on machine learning, which was the most successful among all the strategies.
- Developed a JavaScript-based charting module, open-sourced it, and made it available at Sourceforge.net/projects/jsplot.
Front-end Developer | Back-end Developer | Summer Intern
CM et CFA du Gers, France
- Took part in the development of the new administration system in PHP.
- Contributed a custom CSS theme for the application.
- Took part in hardware and software maintenance of the local computer classroom.
Experience
Firebase Auth Claims Manager in Go
https://github.com/vendelin8/firemageThe idea is to be able to list and modify privileged users easily. But listing users with only a special claim, or even any claim, is not a feature of the Firebase API. That's why listing all privileged users works only by looping through all Auth users and filtering to the ones having at least one of the interesting claims. This is slow. That's why the result list of privileged users will be saved in a Firestore document, and updated on later changes.
FEATURES
1. Refreshing cached list of privileged users. This can be useful for:
• Building a cache for the first time.
• Building a cache after the list of interesting claims has changed.
• Considering a refresh because of suspicious manual changes to the Firestore cache or the Auth claims.
2. Printing a cached list of privileged users.
3. Printing a search result based on email or name. This also uses Firestore because searching in Auth is not possible.
4. Changing permissions on the listed users and saving them to Auth claims and the cached Firestore list of privileged users.
5. Undoing yet unsaved changes.
Flutter Demo
https://github.com/vendelin8/elements-flutterThe app is available in the Google Play Store https://play.google.com/store/apps/details?id=io.github.vendelin8.elements
JavaScript Charting Library
https://sourceforge.net/projects/jsplot/It is an HTML5 Canvas-based chart module.
FEATURES
• It can show candlestick charts, line plots, bar charts, and distribution diagrams.
• The x-axis can contain date/time values or data indexes.
• The y-axis limits fit automatically to the displayed data.
• Under the chart, a zoom panel is shown if necessary. The user can zoom in and zoom out with a mouse scroll and pan the shown window left or right.
• Mouse hover shows a tooltip about the current value at the mouse position.
• If showing multiple plots at the same time, a legend is shown with the names and line colors.
• Indicators can be created that are calculated based on the loaded data.
• Data can be loaded at any time, appending after or inserting before the current data.
• Different color schemes are supported.
The online demo is located at Jsplot.sourceforge.net/index.html.
The documentation can be found at Jsplot.sourceforge.net/wiki/index.php/Main_Page.
Golang CLI Demo
https://github.com/vendelin8/elementsHobby Project for a Non-profit Org in Flutter
Education
Master's Degree in Computer Engineering
Budapest University of Technology and Economics - Budapest, Hungary
Participated as an Exchange Student in Computer Engineering
Simon Fraser University - Vancouver, Canada
Skills
Libraries/APIs
REST APIs, Protobuf, React, HTML5 Canvas, HTML5 APIs, Node.js, EaselJS, PhantomJS, OpenAPI, Auth0 API
Tools
Git, Geany, Subversion (SVN), Slack, GitHub, Jira, Bower Front-end Dependency Manager, Adobe Muse, Gulp, Terminal, Firebase Authentication, Auth0, Docker Compose
Languages
Go, SQL, JavaScript, HTML, Python, CSS, C++, HTML5, Dart, Object-oriented JavaScript (OOJS)
Storage
PostgreSQL, Databases, Google Cloud, Cloud Firestore, Google Cloud Storage, NoSQL, MongoDB, MariaDB, MySQL, SQLite, Redis
Paradigms
Microservices, Unit Testing, Waterfall Development, Agile Software Development, Functional Testing, ETL, REST, Mobile Development, Responsive Layout, Agile, Desktop App Development, Test-driven Development (TDD)
Platforms
Parse, Linux, Google Cloud Platform (GCP), AWS Lambda, Amazon Web Services (AWS), Docker, Arch Linux, Android, Firebase, Visual Studio Code (VS Code), iOS, Ethereum, Blockchain
Frameworks
Vanilla JS, AngularJS, gRPC, Ext JS, Flutter, Viper, JavaScriptCore, Video.js, Responsive Frameworks, Swagger, Gin-Gonic
Other
Back-end, Performance, Back-end Development, Multithreading, APIs, Internet of Things (IoT), LiteIDE, Video Capture, Videos, Video Streaming, Machine Learning, Evolutionary Algorithms, Reinforcement Learning, Neural Networks, Artificial Intelligence (AI), Firebase Hosting, Google Meet, Distributed Systems, Concurrency, Prometheus, Cloud Storage, Command-line Interface (CLI), Scripted Animation (JavaScript), 360° Video, HTTP Live Streaming (HLS), Algebra, Console Apps, Google Play Store, Google Pay, Google Play Console, Code Generators, Mentorship, Team Mentoring, Ginkgo, Trading, Algorithmic Trading
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