Gergely Újvári, Developer in Budapest, Hungary
Gergely is available for hire
Hire Gergely

Gergely Újvári

Verified Expert  in Engineering

Full-stack Developer

Location
Budapest, Hungary
Toptal Member Since
July 7, 2022

Gergely is a senior full-stack developer with over a decade of experience building robust web applications for quickly changing startup environments and larger clients such as E.ON Energy. He specializes in React and TypeScript for the front-end development, Node.js and Meteor for the back end, Apollo GraphQL, and several database systems, including SQL, MongoDB, and Elasticsearch. Gergely was twice awarded the Codility Golden Award for the Muad'Dibs and the Pair a Coder challenges.

Portfolio

iContest
TypeScript, GraphQL, Apollo, Meteor, PostgreSQL, PostGIS, Java, Kibana...
GoEssential
TypeScript, Node.js, Meteor, React, MobX, Python, MongoDB, Jira, Scrum...
GoEssential
ECMAScript (ES6), Express.js, Meteor, React, Node.js, Annotations, TypeScript...

Experience

Availability

Part-time

Preferred Environment

WebStorm, Slack, Meteor, Jira, TypeScript, Linux

The most amazing...

...solution I've developed is a web application for real-time electricity outage monitoring used in 2/3 of a country by hundreds of active operators.

Work Experience

Senior Full-stack Developer

2016 - PRESENT
iContest
  • Acted as the principal architect of a web application for real-time monitoring of electricity outages in two-thirds of the country with hundreds of operators.
  • Developed a fast React-based Google Maps API integration to efficiently display around 10,000 markers and polylines data on the map.
  • Contributed as the tech lead of a web application for an energy data visualization dashboard based on Kibana but with custom modules.
Technologies: TypeScript, GraphQL, Apollo, Meteor, PostgreSQL, PostGIS, Java, Kibana, Elasticsearch, Google Maps API, Redis, Redux, Python, Git, Coding, WebStorm, Full-stack, HTML, HTML5, CSS, Bootstrap, JSX, UI Components, Agile, User Interface (UI), DB, Web Architecture, Architecture, Front-end, Back-end, CSS3, SOAP, Back-end Development, Database Design

Senior Full-stack Developer

2018 - 2022
GoEssential
  • Developed a feature-rich single-page web application with various service integrations for annotating video content.
  • Created a small system for handling finite state machines efficiently to control the lifecycles of entities both for manual and automatic state changes. Used this to build a job marketplace inside the application.
  • Rebuilt the video library and video player embedded applications into a configurable, modular, modern React application.
Technologies: TypeScript, Node.js, Meteor, React, MobX, Python, MongoDB, Jira, Scrum, Annotations, Git, Coding, WebStorm, Full-stack, NPM, HTML, HTML5, NoSQL, CSS, JSX, REST APIs, UI Components, Agile, User Interface (UI), DB, Web Architecture, Architecture, APIs, Front-end, Back-end, Jest, Cypress, CSS3, Back-end Development, Database Design

Senior Full-stack Developer

2015 - 2016
GoEssential
  • Developed a web application that allows creating web annotations on any site to highlight relevant information and offers easy ways to share the highlighted page. Used Elasticsearch and Express.js for the back end.
  • Migrated the project to Meteor and MongoDB, simplifying the architecture.
  • Introduced React into the project and moved to video annotations.
Technologies: ECMAScript (ES6), Express.js, Meteor, React, Node.js, Annotations, TypeScript, Elasticsearch, JavaScript, Git, Coding, Full-stack, Web Services, HTML, HTML5, NoSQL, Bootstrap, JSX, UI Components, Mongoose, Agile, DB, User Interface (UI), Architecture, Web Architecture, Front-end, Back-end, CSS3, Back-end Development

Full-stack Developer

2012 - 2015
Hypothes.is
  • Developed a web application that can be used as a browser plugin; it enables the creation of web annotations on any site, adding the ability to start a discussion or comment on specific parts of the page's content.
  • Used a Pyramid-based Python back end with an AngularJS front end written in CoffeeScript. Created a stream page to watch all new annotations in real time.
  • Supported the open source Annotator project aimed to be the basic framework for web annotations.
Technologies: CoffeeScript, Python, Pyramid, AngularJS, Elasticsearch, Annotations, JavaScript, Git, Coding, Full-stack, HTML, HTML5, UI Components, User Interface (UI), DB, Architecture, Web Architecture, APIs, Front-end, Back-end, Back-end Development

Web Application for Real-time Electricity Outage Monitor

A Node.js-based app using the Apollo GraphQL architecture was brand new then. I was one of the two architects and a senior full-stack developer handling the design of the GraphQL scheme with the database integration, the notification system, and the Google Map integration to visually show the network topology and errors. Used multiple integrations to enrich the map experience, including weather warnings, planned maintenance, and positions of repair vehicles. We also used the Meteor framework with TypeScript, React with Redux for the front end, and Redis for notifications.

The application was built for a large electric utility company, has several hundred active users, and monitors the electricity in two-thirds of the country.

Job Marketplace

I developed a marketplace component into the web application for video annotation jobs. Each job had a defined task needs to be done and a reward for doing those. Individual agents can pick the jobs, and another group can review them. Each of these jobs had a complicated lifecycle (with automatic and manual steps, calling outside services, error states, permissions, and money handling), so it had to be robust and easily adaptable for future changes.

I created a small package to efficiently define finite-state machines and state transitions to achieve this. It became the controller both for the UI and for the server-side to allow/disallow actions and display data based on the state of a job.

Also, UI tools were created to auto-generate the state-transition graph for the whole job process and show a step-by-step progress bar for a job, for example.

Modular Video Library

I needed to rebuild a video library from scratch, but with a modular architecture, interchangeable components, and rich configuration options (which can be set by the clients).

The library needed to be inserted into any webpage by a simple HTML snippet. So a loading stub was created, and it only needed a client ID to work.

The library itself was built by modules. A module had configuration options (described in a JSON file) and dependencies to other modules. These configuration files were the single sources of truth. Based on them, the configuration UI page (with forms) was auto-generated, and the module dependency was calculated not to load any unused modules.

The clients could configure if they wanted to embed a single video or a full library, maybe with filters. Both iframe and non-iframe embeds were available. Themes were also introduced.
2000 - 2005

Master's Degree in Computer Science

Budapest University of Technology and Economics - Budapest, Hungary

SEPTEMBER 2010 - PRESENT

ISTQB Certified Tester Foundation Level (CTFL)

ISTQB

Libraries/APIs

React, Node.js, Antd, REST APIs, Google Maps API, MobX, Google Maps

Tools

Git, JSX, WebStorm, NPM, GitHub, Kibana, Slack, Jira, Webpack, Mongoose

Languages

ECMAScript (ES6), TypeScript, JavaScript, HTML, SQL, HTML5, C++, Java, C#.NET, Python, GraphQL, Pascal, T-SQL (Transact-SQL), C, CoffeeScript, CSS, C#, CSS3

Platforms

Meteor, Docker, Linux, Amazon Web Services (AWS)

Storage

Databases, JSON, MongoDB, PostgreSQL, NoSQL, Elasticsearch, Redis, PL/SQL, PostGIS, DB, MySQL

Frameworks

Express.js, Next.js, AngularJS, Redux, Pyramid, Bootstrap, .NET, Jest, Cypress

Paradigms

Testing, Agile Workflow, Scrum, Agile, Database Design, Web Architecture

Other

Programming, Algorithms, Coding, Full-stack, Web Services, UI Components, Front-end, Back-end, Back-end Development, Annotations, Apollo, GitHub Actions, Web UI, Board Games, User Interface (UI), Architecture, APIs, SOAP

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