George Cosma
Verified Expert in Engineering
Full-stack Developer
George is a senior full-stack engineer specializing in functional programming. With 8+ years of professional experience, he has worked across various industries, including travel, online payments, the stock market, and cloud storage. George likes to solve complex problems and is eager to leverage his vast skillset and embrace new challenging projects.
Portfolio
Experience
Availability
Preferred Environment
Linux, MacOS, Slack
The most amazing...
...project I've worked on is a distributed system that handles millions of transactions per day.
Work Experience
Software Engineer
WhiteCity Code
- Created a self-hosted chat solution for websites for customer support.
- Developed the Android application for an encrypted cloud storage provider, including a custom encryption algorithm, and added contributions to the web application and the back end.
- Worked on the back end of a travel-feed aggregator app.
- Implemented a custom algorithm for stock market trading with a UI that allows tweaking settings and viewing customizable reports.
- Wrote custom code to remove around 15,000 lines of boilerplate code from the codebase.
Experience
Value-added Services Marketplace for Merchants
This project was a microservice (CQRS) architecture. The front-ends (four front-end applications, not including mobile) were built with Vue, and the back-end was built on a combination of TypeScript and Haskell, depending on the service. We used DynamoDB (NoSQL) and Amazon Neptune (RDF Graph) as databases. It was all hosted on AWS.
I was more involved in the back-end and DevOps side of this project. Although I worked on the project for over two years, I contributed to the front-end when needed.
One of the more interesting parts I worked on was a data ingestion pipeline for transactions, for which I was responsible for designing and implementing. The challenging part was that it needed to handle millions of daily transactions (the peak was 3 million transactions in 8 hours), which I achieved using AWS services such as SQS and Lambda functions.
Stock Market Trading Algorithm
The back end was built using Interactive Brokers Trader Workstation Java SDK and Clojure with a PostgreSQL database. The front end was built using React and ClojureScript on Electron, with most communications between the two happening via WebSocket.
In addition to the actual trading algorithm and a screen for tweaking its settings, the app had user management for the investment fund, where users could invest or divest and see the fund's performance. We also had screens for live updates, both for the companies as a whole and more detailed individual screens, on which you could also view things such as transaction histories, performance reports, P/L, etc.
A challenging part of this project was handling the live updates for the companies. The SDK had a strange way of handling live data, and we hit some limits in React. But we fixed the problem with some magic, doing the updates in-memory on the server side and changing the rendering strategy in React, we fixed the problem. This was a fun engineering riddle to solve.
Cloud Storage Provider
The application was a Java (Spring Boot) back end with a PostgreSQL database, Vue, and native mobile apps for the front end. The mobile applications were built for each platform individually, using Java for Android and Swift for iOS. The client needed a native mobile application to perform better when encrypting large files (we tested with 15 GB).
I started building the Android application from the ground up, but in around two years that I worked on the project, I also contributed heavily to both the back and front end.
The most interesting part for me was the custom encryption algorithm. In implementing it, I was required to go very deep into the mathematics of cryptography to understand it, and I even found a (minor) bug. It was surely a different challenge than I was used to at that point.
Chat Solution for Customer Support
This was a long-term project (1.5-2 years) on which I worked alone and built every part of the application from the ground up. The back end was a Clojure web server with options to connect to any SQL database the client had, and the web app was initially built with Backbone.js, but we re-wrote it with ClojureScript and React. We also had a desktop app that was a simple Electron app with a web view. We initially used this web view for the mobile applications as well, but when the app was feature complete, I rebuilt them with React Native.
This application didn't have any particular part that was more challenging than any other, it was a well-rounded application that required a solid understanding of all the parts involved in web app development, and having worked on it during my formative years, it helped me see how everything fits together.
Travel-feed Aggregator App
The application had Clojure as the back end with a PostgreSQL database. However, it did involve very heavy Java inter-op, especially for the code that integrated the feeds since all of them had old SOAP API-s, and the tooling for that was way better in Java. Each feed integration ended up being its own .jar file that we could dynamically include as needed. The front end was a hybrid of server-side-rendered code using Selmer (a Clojure templating language inspired by Django) and React via ClojureScript, where complex filtering logic was required.
One of the more interesting challenges was determining if info coming from multiple feeds was about the same hotel or not, since the same physical location was represented differently in every feed due to naming conventions or other factors. We solved this problem by implementing string similarity algorithms like Levenshtein distance in the database before inserting, and matching to a normalized version of the hotel.
Receipt Scanner
The mobile app was developed using React Native, while the back end was built with Python. The back end used Flask (Python) with a PostgreSQL database. The OCR was done in two parts. First, we detected text lines using OpenCV, breaking the image into text lines. We then send those lines to Google Cloud Vision, which returns the actual content that we store in the database for reports.
I was involved in the entire project, and we even reached the national phase of innovation labs with the project.
Payment Management App for Romanian Government
I was involved in this project from start to finish, including the architecture. We went for a client/server architecture that we bundled in an executable with Deno because the client wanted a desktop app that would eventually become a web app.
One technical challenge was the sheer amount of non-normalized data we had to parse each month. Simple ingestion of this would result in extremely long query times. We handled this by building an ETL pipeline that normalized the data and by clever database sharding.
Real-time Public Transport Location
Although the app itself was relatively straightforward, the challenge lay in managing the substantial amount of data generated by numerous buses operating simultaneously. Moreover, we needed to handle the high throughput of live data that had to be sent to users who required real-time updates, often reaching thousands of users simultaneously during peak times.
To handle this significant load, we employed a MongoDB database for its speed and utilized change streams to transmit live data to connected users.
Teaching Simulator for Pedagogy Students
The user's role was to respond appropriately to these events by engaging with the class by asking questions to the entire group, addressing specific students, or initiating tests. The application also incorporated a back-end system that stored user identity data and tracked game progress.
In this project, I was responsible for coding the entire back-end system and handling the front-end aspects, including designing the UI menu elements and defining the attributes and interactions among the "students."
Digitalisation Measure for Companies
https://digital-saga.ro/From the start, I was involved in the project and participated in all aspects, including tech stack selection, design, and architecture.
There was no particular technical challenge in this project. The hard part was the very strict deadline of under two months.
Skillset
Languages
Clojure, Haskell, TypeScript, SQL, JavaScript, GraphQL, SPARQL, RDF, Java, HTML, CSS, Swift, Python, PHP
Frameworks
ClojureScript, Express.js, Swagger, Android SDK, Bootstrap, React Native, Jest, OAuth 2, AngularJS, Electron, Angular, Flask, Laravel, Eloquent
Libraries/APIs
Node.js, REST APIs, React, Vue, Android API, Amazon EC2 API, Backbone.js, Google Maps API, Google Maps SDK, Google Maps, OpenCV, Vuex
Paradigms
REST, Agile Software Development, Microservices, Microservices Architecture, Mobile Development
Platforms
Linux, AWS Lambda, Amazon EC2, Amazon Web Services (AWS), Android, iOS, Docker, Mobile, MacOS
Storage
Graph Databases, Databases, NoSQL, Redis, MySQL, PostgreSQL, Amazon S3 (AWS S3), Amazon DynamoDB, GlusterFS, Neo4j, SQLite, Google Cloud, MariaDB, MongoDB
Other
Programming, Lambda Functions, Amazon API Gateway, APIs, Full-stack, Back-end, API Integration, Amazon Neptune, WebSockets, Cryptography, Multithreading, SOAP, Distributed Systems, Native Mobile Apps, eCommerce, Front-end Development, Serverless, Mobile Apps, Mobile Applications, Stock Trading, Stock Market, TypeORM, Amazon Route 53, OCR, ECharts
Tools
Amazon Simple Notification Service (Amazon SNS), Amazon Simple Queue Service (SQS), Git, Amazon ElastiCache, AWS SDK, Amazon CloudFront CDN, Docker Compose, Amazon Simple Email Service (SES), GitHub, Prisma, Slack, Terraform, Amazon CloudWatch, Google AI Platform, Mongoose
Education
Master's Degree in Computer Programming
"1 Decembrie 1918" University of Alba Iulia - Alba Iulia, Romania
Bachelor's Degree in Computer Science
"1 Decembrie 1918" University of Alba Iulia - Alba Iulia, Romania
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