Jovan Jovanovic

Jovan Jovanovic

Belgrade, Serbia
Hire Jovan
Scroll To View More
Jovan Jovanovic

Jovan Jovanovic

Belgrade, Serbia
Member since July 23, 2014
Jovan is an entrepreneur and engineer with a strong mathematical background. He doesn't care about the technology but cares about the problem that the technology can solve.
Jovan is now available for hire
Portfolio
Experience
  • Java, 7 years
  • SQL, 7 years
  • JavaScript, 5 years
  • MongoDB, 4 years
  • Node.js, 3 years
  • Amazon Web Services (AWS), 2 years
  • AngularJS, 2 years
Belgrade, Serbia
Availability
Part-time
Preferred Environment
Mac OS, Sublime, Eclipse, Git
The most amazing...
...thing I've done is an implementation of the Shazam algorithm using Fast Fourier Transformation and audio fingerprinting.
Employment
  • Meteor.js Developer
    Wendero (via Toptal)
    2016 - 2016
    • Built an email finder that returns email address for a given name, surname, and domain.
    • Created an email service for sending/receiving emails using Postmark API.
    • Built a data deduplication engine which finds duplicates and merges data in real time.
    • Created a MongoDB aggregate service for faceted searching.
    • Built a JS-SDK for the current API.
    Technologies: Meteor.js, Node.js, MongoDB
  • Software Engineer
    LyricalLabs (via Toptal)
    2015 - 2016
    • Reviewed and refactored code. Used AWS S3 and Amazon MQ for async message processing through the system.
    • Rewrote XML API from PHP to Java.
    • Created a Docker container for the server side.
    • Took part in GUI refactoring using AngularJS.
    • Built a basic billing system using Braintree that supports credit cards and PayPal and generates invoices.
    Technologies: Java, AWS, Docker, AngularJS, Django
  • Node.js Developer
    Seeds - Playseeds.com (via Toptal)
    2015 - 2016
    • Customized current Countly plugins for analytics.
    • Built an image composer using ImageMagick.
    • Set the deploy mechanism on both test and production servers.
    • Created a few plugins from scratch.
    • Migrated Mongo DB on the production server.
    • Customized the look and feel.
    Technologies: Node.js, jQuery, Mongo, Countly
  • Full-stack Developer
    GoSafely (via Toptal)
    2014 - 2016
    • Created a client proxy in Java that redirects all the HTTP and HTTPS traffic to the remote server.
    • Built part of the server API using Node.js, Express.js, and MongoDB.
    • Integrated with an OpenVPN solution to do traffic redirection on multiple platforms (Windows, Mac OS, Android, iOS).
    • Created a PhoneGap mobile app that works with the Node.js server.
    • Supported the front-end of the portal using jQuery and HTML (EJS for templating).
    Technologies: Node.js, Java, jQuery, PhoneGap
  • Audio Software Engineer
    Wurrly - wurrly.com (via Toptal)
    2015 - 2015
    • Built an audio vocoder algorithm for singers, which corrects false tones in a given music key.
    • Created a web interface for uploading songs and running the vocoder.
    • Created a bash script that transposes the music key of a given song.
    Technologies: Javascript, C++, Bash
  • Software Engineer, Data Scientist
    Glooky
    2014 - 2015
    • Developed an algorithm that combines different flight prices, generates all possible routes, and calculates the cheapest combination.
    • Developed a scraping system for several low-cost companies using Node.js.
    • Formed a stable startup team of four people: three software developers and one business developer.
    • Took part in the design and build of the whole engine for finding the optimal combination of multiple flights in one journey. Used Node.js on the back-end and AngularJS on the front-end.
    • Took part in Seedcamp Belgrade 2014 as one of ten startups in the region to pitch in front of investors and SeedCamp decision makers.
    Technologies: Node.js, Express.js, CoffeeScript, MongoDB, AngularJS
  • Software Engineer
    Sungard
    2013 - 2014
    • Developed part of an in-house load balancing system called "Dispatcher engine" for message transfer via ActiveMQ. Different messages are received from outer systems and sent to the particular virtual machines.
    • Developed a RESTful API for fees calculation using Drools engine.
    • Developed a RESTul API for initial margins calculation.
    • Took part in the design and building from the scratch of the whole system, including data model design, in memory model, and custom load balancer.
    • Passed "Agile 42" Scrum training.
    Technologies: JavaEE, JavaScript, Spring, MySQL
  • Software Engineer
    Experian
    2011 - 2013
    • Developed a data conversion and validation framework using ColdFusion and XSLT.
    • Supported a fraud detection platform on back-end using Java and ColdFusion.
    • Supported a fraud detection platform on front-end using ColdFusion and JavaScript.
    • Spent two months working on place in London. Passed business trainings and took part in design of future plans and roadmaps.
    • Led a small team who supported the existing platform.
    Technologies: Java, JavaScript, ColdFusion, XSLT, SQL Server
  • Web Developer
    Youngculture
    2010 - 2011
    • Supported an in-house version of ColdFusion, written in Java.
    • Supported an existing company CMS and created various CMS customizations for particular clients.
    • Developed PL/SQL procedures on back-end.
    • Supported client side development written mostly in jQuery.
    • Spent two months working on location in Zurich. Passed business trainings.
    Technologies: Java, ColdFusion, JavaScript, Oracle
Experience
  • Glooky (Development)

    Advanced travel meta search engine for finding the optimal combination of multiple flights in one journey. Built using Node.js and MongoDB.

  • Biwiring (Development)

    Biwiring is social network for audiophiles and people who enjoy HiFi audio experience. It is another project of our team who worked on Glooky. Technologies used: Loopback, Node.js and Mongo.

  • Master's Thesis (Development)

    Automatic recognition of music samples (Shazam algorithm). Sound sample is recorded in byte array format. System uses FFT algorithm to transform the signal from time to frequency domain and creates audio fingerprint in a form of hash. Hashes are then used for matching sound sample.

  • Best position (Development)

    Software that finds out the best position on a guitar for playing a melody. User inputs list of tones and program returns list of exact positions (position = fret + string). Used Dijkstra's algorithm for finding the shortest path in a graph. Technologies used are Java and JSP.

  • Ecopedia (Development)
    http://www.ekopedia.rs/

    A website for ecology built in Joomla! with JavaScript on the client side. I built it as a startup project with one more friend. The site has an educational purpose and helps students exchange knowledge.

  • Tripsearch (Development)
    http://tripsearch.travelalerts.ca/

    Developed and supported a travel search engine that focuses on Canada and USA travel market. Used ColdFusion and JavaScript.

  • Java SE 7 Oracle certificate (Other amazing things)

    Passed the Oracle 1Z0-803 certification program.

  • Let LoopBack Do It: A Walkthrough of the Node API Framework You've Been Dreaming Of (Publication)
    While Ruby has Rails and Python has Django, the dominant application development framework for Node has yet to be established. But, there is a powerful contender gaining steam: LoopBack, an open source API framework built by StrongLoop, the creators of Express. Let's take a closer look at LoopBack and it's capabilities by turning everything into practice and building an example application.
  • Shazam It! Music Recognition Algorithms, Fingerprinting, and Processing (Publication)
    You hear a familiar song in the club or the restaurant. You listened to this song a thousand times long ago, and the sentimentality of the song really touches your heart. You desperately want to heart it tomorrow, but you can't remember its name! Fortunately, in our amazing futuristic world, you have a phone with music recognition software installed, and you are saved. But how does this really work? Shazam's algorithm was revealed to world in 2003. In this article we'll go over the fundamentals of that algorithm.
Skills
  • Languages
    JavaScript, Java, AppleScript, SQL, Bash, Bash Script, CoffeeScript, ColdFusion, R, Scala, C, C++, Python
  • Frameworks
    Loopback, Express, AngularJS, Hibernate, Mocha, Jersey, Jade, Netty, Spring, MeteorJS, Sails.js, PhoneGap, Django REST Framework, Django
  • Libraries/APIs
    Node.js, Java Servlets, jQuery, SQLite, Socket.IO, JPA, Stripe, JMS, Facebook API
  • Tools
    Eclipse, AWS RDS, SVN, Sublime Text 3, Git, OpenVPN, VPN, Mongoose, Docker, AWS SDK, JIRA, Java VisualVM, Bamboo
  • Paradigms
    Object-oriented Programming (OOP), Event-driven Programming, REST, Agile Software Development, AJAX, Object-oriented Design (OOD), Functional programming, Asynchronous Programming
  • Platforms
    Mac OS, Linux, Amazon Web Services (AWS), Windows, Android
  • Storage
    MySQL, PostgreSQL, Oracle, MongoDB, SQL Server, Redis
  • Misc
    SOAP, EJS, Machine Learning, HTTP, SSL, MEAN Stack, Big Data, PIP, Lambda expressions, Recommendation engine
Education
  • Master's degree in Mathematics and Computer Engineering
    Belgrade University - Belgrade
    2012 - 2014
  • Bachelor's degree in Mathematics and Computer Engineering
    Belgrade University - Belgrade
    2004 - 2009
I really like this profile
Share it with others