Bogdan Ribic, Developer in Bačko Petrovo Selo, Vojvodina, Serbia
Bogdan is available for hire
Hire Bogdan

Bogdan Ribic

Verified Expert  in Engineering

Software Developer

Location
Bačko Petrovo Selo, Vojvodina, Serbia
Toptal Member Since
September 16, 2015

Bogdan fell in love with computers in the late eighties and has been writing code ever since. Working as a freelance developer since 2001, he brings both creativity and experience to every job. He is passionate about programming, a quick learner, proactive about meeting client's needs, and will always go the extra mile to get the job done well.

Portfolio

Honeyfund
PHP, Laravel, React, Vue, MySQL, AWS Deployment, Amazon Web Services (AWS)...
BioReference Laboratories (Toptal Client)
PHP, JavaScript, REST, XML, APIs, SAML, SAML-auth, IntelliJ IDEA, PHPDoc
Honeyfund
Laravel, PHPUnit, MySQL, jQuery, PHP, Appium, React, Cordova, CSS, Vagrant...

Experience

Availability

Part-time

Preferred Environment

Jira, Bitbucket, Git, PhpStorm, Linux

The most amazing...

...thing I've built is a rules engine for an order configuration system with customizable combo, price, and print rules with implementations in JS and PHP.

Work Experience

Senior PHP Developer

2018 - 2020
Honeyfund
  • Integrated several third-party wedding registries, maintaining automated jobs to search through their registries and update ours, as well as let users copy items from their registries on 3rd party sites.
  • Integrated skyhour.com for guests' travel arrangements, communicating with their API, and displaying options to users depending on their location.
  • Used Jira and Bitbucket workflow with pull requests, code review, and bi-weekly release schedule. We had an agile coach, estimated the task sizes to fit within a weekly budget and kept the deliveries ticking.
  • Worked on deploying to production at the end of each release cycle as part of the green-blue release cycle. All the developers rotated in this role.
  • Created and updated many parts of a React app and back-end PHP code that allows users to choose options, set notifications, site themes, and gift preferences localization. This made the user experience consistent on mobile and desktop etc.
  • Created several admin sections for the Honeyfund staff with reports and overviews and admin tools to manage users and payments.
Technologies: PHP, Laravel, React, Vue, MySQL, AWS Deployment, Amazon Web Services (AWS), HTML, JavaScript, Node.js, Composer, Agile Software Development, Jira, Bitbucket, PhpStorm, CSS, Vagrant, IntelliJ IDEA, PHPDoc

Senior PHP Developer

2016 - 2018
BioReference Laboratories (Toptal Client)
  • Updated and debugged the questionnaire code for health history and mapped users' answers into an XML schema to send to a third-party API. Took charge of the back and front-end side of it.
  • Sent the collected data to remote third-party API, which fetched responses and displayed a graph and textual conclusions with a risk assessment out of the responses. There were several special cases to cover.
  • Generated a PDF document of risk assessment report so users can download and print it.
  • Made a CSV importer for old data with validation, which sent successful results or error messages through email afterward. Reworked and upgraded it to have additional DB fields.
  • Took charge of the integration of the SAML Login between different bio-reference services.
Technologies: PHP, JavaScript, REST, XML, APIs, SAML, SAML-auth, IntelliJ IDEA, PHPDoc

Web Developer

2015 - 2016
Honeyfund
  • Built a custom router for a single-page React app.
  • Worked on a single-page app using React, developed many components and unit tests for them.
  • Helped convert a single-page web app into a Cordova-based phone app.
  • Built a large number of unit tests for the Cordova app using Appium platform.
  • Built and maintained web scrapers for several wedding registries.
Technologies: Laravel, PHPUnit, MySQL, jQuery, PHP, Appium, React, Cordova, CSS, Vagrant, IntelliJ IDEA, Unit Testing, Bootstrap 3+, jQuery UI, PHPDoc

PHP and JavaScript Developer

2013 - 2014
ABC Gruppen SE (formerly Estate Europe)
  • Implemented an order-configuration system with customizable combination and price rules, administration section for those rules, identical engines to enforce those rules in JavaScript for front-end, and PHP for back-end order validation.
  • Implemented a coupon code feature used for applying discounts to an order and improved the referral code feature.
  • Implemented several features connecting order configuration and a Flash 3D model of the product written by a separate developer.
  • Made the system track all the incoming purchases as they were received by the server in order to debug any problems that were done while processing those orders, possibly months after the order was made.
  • Added several error-checking features, internally called "Megachecks", that checked for invalid orders with complex logic.
  • Implemented an Excel exporter of orders for a given time range, shop, country, etc.
  • Created many small features and bug fixes involving shop configuration, products showing the wrong way, duplicate order detection, and others.
Technologies: PHPUnit, PHP on Trax, jQuery, JavaScript, Symfony 2, MySQL, PHP, IntelliJ IDEA, Trac, QUnit, Doctrine, Unit Testing, jQuery UI, PHPDoc, Algorithms

PHP Developer

2011 - 2012
LeadWrench
  • Built the platform from scratch with WordPress as the front-end CMS and for membership, and my code built in a custom framework doing the bulk of the work.
  • Implemented a lead processing and distribution system, with customizable delivery and processing rules, normalization of incoming data to a nominal format, then transforming that format to expectations of various third-party target APIs.
  • Implemented a feature for reposting the leads to a different set of APIs after the lead was already delivered once.
  • Implemented integration with WordPress and several of its plugins to check membership level, s2member for example.
  • Implemented an advanced DB scheme with table partitioning, summary tables used for reporting, triggers to maintain the summary tables, replication, and failover. As traffic increased, we got to 80 GB of data within two months.
  • Implemented integration with Highrise API and Mailchimp API for managing prospective clients and registration workflow.
Technologies: Test-driven Development (TDD), WordPress, jQuery, MySQL, PHP, CSS, Data Structures, Unit Testing, Algorithms

PHP and Front-end Developer

2011 - 2012
Crowdcut.com (A clone of groupon.com)
  • Made a complex paymaster report for showing aggregated statistics per vendor, date period, and category.
  • Added several features related to deal workflow from proposal stage to activation, option set up, pricing, and closing of the deal.
  • Made or improved several payment administration features related to partial payouts, vouchers, referral credit, and what it can be used on.
  • Made a feature for managing coupon codes for deals, including verification of the uploaded CSV file, activating coupon codes, tracking which ones are used or canceled, and more.
  • Improved code for generating and sending merchant agreement PDFs and verifying that merchants have signed them via a third-party service for digital signatures.
Technologies: PHPUnit, MySQL, Symfony 2, jQuery, PHP, CSS, Doctrine, PHPDoc

Java and Web Developer

2011 - 2011
Feistyduck.com
  • Created registration, book publishing, user management, book access management, and other portions of feistyduck.com, made using a custom Java framework called Qlue.
  • Created an ePub reader in JavaScript and Java that unpacked ePubs on the server and showed them in the user's browser with paging, etc.
  • Developed a proof-of-concept Java and JavaScript app using then-new WebSocket feature. The app was managing sticky notes in the browser, with divs that user can move on screen and enter text into.
  • Developed several custom data types for use with the MyBatis DB access library and several classes to automate reading of collections.
  • Tested a concept where the whole app was being hosted in Eclipse using Tomcat libraries so it can be executed from the IDE directly and debugged easilly. I set up the same system on a single cloud server instance for the demo.
Technologies: JUnit, WebSockets, Apache Velocity, PostgreSQL, MyBatis, jQuery, Java, Test-driven Development (TDD), Clean Code, Design Patterns

PHP Developer

2008 - 2010
Beano Publishing
  • Reorganized the landing page free-db-search code from a messy all-in-one-file system to a decent OOP design.
  • Optimized several reporting features by adding more multi-column indexes and using smarter queries.
  • Implemented customizable upsale options in post-registration steps, depending on the user's location and payment method.
  • Improved templating code. Many dating sites use the same code via different URLs with only templates and some strings different.
  • Improved a search-caching feature for frequently used searches, and added smarter GeoIP options.
  • Improved messaging code, allowing admins to post messages to everyone globally, checking user levels, etc.
  • Worked on the back-end payment-processing using NETbilling API related to rebilling, upsales, etc.
Technologies: NETbilling, MySQL, PHP, CSS, HTML, JavaScript, Object-oriented Programming (OOP)

C++ Developer (some PHP work as well)

2007 - 2008
Nsolve.com
  • Made a PHP server-side script to receive and process bug reports sent from within the C++ application.
  • Made VCL components for credit card validation and processing, for use in the C++ Builder application.
  • Set up the official website using a CMS package (CMS Made Simple), some customization of PHP code and template slicing.
  • Worked on an in-app form designer for the nCall program, which lets users design custom forms that phone operators will use when representing their company.
  • Created installer logic for setting up the app with code in Pascal. It had to do with setting up, registering, and upgrading a service for the program.
Technologies: C++, PHP, kbmMW, Delphi, Middleware, TMS, C++Builder, Object-oriented Programming (OOP), Visual Component Library (VCL), HTML, Test-driven Development (TDD), Standard Template Library (STL), Data Structures, Design Patterns

PHP Developer, C Developer

2004 - 2007
Thinking Stone, Ltd.
  • Developed a library to intelligently match strings to issues in a PHP bug tracker.
  • Added features to mod_security, implementation of Aho-Corasick parallel string matching algorithm in C.
  • Made a code generation tool for the DB layer, for a custom PHP mini-framework.
  • Developed a custom proxy app in C for use in honey-pot servers. Honey-pot servers pretend to be open in order to catch hackers and script kiddies.
  • Worked on an experimental version of mod_security for Microsoft IIS.
Technologies: C++, Apache Portable Runtime (APR), Subversion (SVN), MySQL, PHP, Test-driven Development (TDD)

Leadwrench Lead-Processing and Distribution App

https://www.leadwrench.com/
A SaaS project lets users send leads to it and then distributes them to multiple third-party API endpoints. It had sophisticated control for formatting the data according to endpoints, reporting, scheduling, retrying later, and others. It had nontrivial database schemas as it was quickly going into large datasets.
1994 - 1996

Bachelor's Degree in Computer Science

Junior College of Informatics (Viša Poslovna Škola) - Novi Sad, Serbia

Libraries/APIs

React, Visual Component Library (VCL), jQuery, Apache Portable Runtime (APR), Doctrine, Standard Template Library (STL), MyBatis, jQuery UI, Vue, Node.js

Tools

C++Builder, PhpStorm, Git, Bitbucket, Subversion (SVN), Vagrant, IntelliJ IDEA, Trac, Jira, AWS Deployment, Composer

Paradigms

Object-oriented Programming (OOP), Test-driven Development (TDD), Design Patterns, Unit Testing, Clean Code, Agile Software Development, REST

Frameworks

Laravel, Symfony 2, JUnit, PHPUnit, Appium, Bootstrap 3+, Apache Velocity, QUnit

Languages

PHP, HTML, C++, Delphi, JavaScript, CSS, Java, XML, SAML

Storage

MySQL, PostgreSQL

Platforms

WordPress, Linux, Amazon Web Services (AWS)

Other

TMS, Middleware, kbmMW, NETbilling, WebSockets, PHP on Trax, Cordova, Algorithms, Data Structures, PHPDoc, APIs, SAML-auth, Graphs

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring