Marc Puig
Verified Expert in Engineering
Python Developer
Barcelona, Spain
Toptal member since July 1, 2020
Marc is a product-oriented software engineer/architect and entrepreneur who loves to own features from conception to delivery and build systems from front end to back end. He has over 15 years of experience building and leading multiple engineering teams on different startups. Marc is also passionate about developing, motivating, mentoring, and coaching engineers and managers.
Portfolio
Experience
Availability
Preferred Environment
Python 3, Python, Slack, GitHub, PyCharm, Terminal, MacOS
The most amazing...
...project I have developed is a weather forecast system, on top of Google Maps, based on NOAA GRIB files, which was able to return the following 15-day forecast.
Work Experience
Senior Software Engineer
Swoop Funding
- Developed a robust and high-performance API in Python, based on fastAPI framework, running on Google Cloud Platform (GCP).
- Defined and implemented database migrations in such a way that a rolling upgrade may be accomplished within the confines of a single release.
- Implemented the GitHub actions workflow for CI/CD using Docker, unit testing, functional testing, and integration testing.
CTO
Plazah
- Planned, supervised, and coordinated the product and development teams.
- Supported the CEO on the operations and business strategy by defining a consistent product roadmap.
- Designed and managed the implementation of features, speeding up the average time taken to prepare a new demo from two days to less than two hours.
Founder
Dusty.run
- Developed the pipeline to create a 3D mesh for a given geographical area, given a GPS track, obtaining elevations from DEM files, and rendering using Three.js.
- Implemented the merge of the 3D relief mesh with satellite imagery to create a realistic 3D view of the mountains, showing also the route in 3D.
- Integrated the Stripe payments to purchase the subscription.
Lead Developer at Habeats
8wires
- Led the development team for an EU-funded digital therapeutic project called Live Incite.
- Managed development processes based on Agile Methodology, which led to us successfully passing different elimination phases and delivering on the expected date.
- Implemented the back and front ends based on domain-driven design. For the back end, we implemented a REST API using Python and Flask and the front end in React, TypeScript, and React Native with a testing coverage of above 90%.
- Managed the collaboration with an external data science group from a university, with weekly periodic meetings.
- Implemented an automatic CI/CD build process using AWS CodePipeline.
CTO | Lead Developer
Citibeats
- Led the development of Citibeats, a text analytics platform based on NLP and ML, from its inception (2016) to the first real customers like FSD (Kenya), NTTData (Japan), and different government organizations (UK and Spain).
- Introduced Scrum in different teams, which improved overall productivity.
- Coordinated different teams including software engineering, infrastructure, and data science to achieve a robust and useful product.
- Managed the collaboration with the CSIC AI Research team (the Spanish National Research Council) for more than one year and a half, obtaining a core IP for the company.
- Developed a pipeline to gather text from external sources, using social network APIs or scraping websites.
CTO | Lead Developer
Mobdala
- Led product engineering and infrastructure towards big data, creating the product from scratch and transforming it into a commercial version in less than six months.
- Developed a real-time trigger system based on a user's location. Our back-end system based on Node.js and Elasticsearch was able to ingest thousands of inputs per second from wifi routers via our private API.
- Created unique experiences for visitors based on aggregated data analysis while managing databases with more than 1 billion registers. Mobile apps were updated, in real-time, using WebSockets and MQTT, from our back-end system.
CTO | Lead Developer
Tracklander
- Implemented the whole pipeline to create offline guides by converting the previous manual and tedious process to an automated one, using Python. The process to create an offline guide was significantly shortened from two weeks to two days.
- Designed and implemented the TrackBook bundle system by packaging all the needed information to navigate and discover routes using mobile in an offline mode, using Python.
- Managed the outsourced web and mobile app development teams.
Founder | CTO
BlooSee
- Designed and implemented the pipeline to integrate nautic charts from different sources (NOAA, British Admiralty, New Zealand) and achieved worldwide coverage that could be used in offline mode.
- Designed and implemented the architecture of the whole platform, from systems in AWS and back-end servers to API and front ends (web and mobile), based on Python and Django.
- Developed a weather forecasting system using NOAA data. Every day the system creates a 15-day weather forecast ready to be downloaded in the BlooSee app and also ready to be used in an offline mode, at the same time with the nautical charts.
Founder
Zangoa
- Developed the first search engine in Spain (2006) based mainly on geographical search on top of maps and geographical concepts.
- Served more than 5,000 recurrent customers in Spain (~70% of the Spanish rural lodges at that time).
- Delivered the product in less than two months from the initial idea to the first customer, thanks to Django and PostGIS.
Founder
Visual Century Research
- Developed state-of-the-art algorithms to classify analogic video automatically.
- Created a windows platform for broadcast companies to manage the digital assets, with a full-text search based on extracted data.
- Implemented several plugins to analyze video: OCR, speech-to-text, face identification, advertisement detection, etc.
Experience
SpaCy Lookup Plugin
The SpaCy Lookup plugin is an extension and pipeline component for SpaCy and it works as a powerful entity matcher for very large dictionaries, using the FlashText module. The NER extraction done by SpaCy is based on machine learning models, but sometimes the projects need to work on concrete and well-defined, dictionaries. If those dictionaries are small, the default matching engine that SpaCy provides is pretty good, but if the dictionary has millions of words, then it takes too long. And here is where the Lookup plugin can be the difference. The plugin uses a text-matching algorithm based on FlashText (https://arxiv.org/abs/1711.00046) to look up in the data provided by different dictionaries at a blazing speed.
Education
Nanodegree in Natural Language Processing
Udacity - Online
Nanodegree in Self-driving Car
Udacity - Online
BSc and MSc Dual Degree in Computer Science Engineering
Universitat Autònoma de Barcelona - Barcelona, Spain
Certifications
Google Cloud Platform: Securing and Integrating Components of your Application
Coursera
Google Cloud Platform: App Deployment, Debugging, and Performance
Coursera
Google Cloud Platform — Fundamentals: Core Infrastructure
Coursera
Developing Applications with Google Cloud Platform Specialization
Coursera
Machine Learning
Coursera
Skills
Libraries/APIs
API Development, X (formerly Twitter) API, REST APIs, Google Maps API, React, SpaCy, Node.js, GDAL, GDAL/OGR, SQLAlchemy, Pandas, NumPy, Stanford NLP, Three.js, Stripe API, Stripe, Vue
Tools
PyCharm, Terminal, GitHub, Jupyter, WebStorm, Postman, Slack, AWS CodeBuild, AWS CodeDeploy, GIS, Git, Terraform, Microsoft Visual C++, Jenkins, Node-RED, MQTT, Fluentd, Jira
Languages
Python, Python 3, TypeScript, JavaScript, Clojure, Active Server Pages (ASP), C++, PHP 7, PHP, Objective-C, TypeScript 3
Frameworks
Django, Flask, React Native, AngularJS, Angular, Symfony
Platforms
MacOS, Jupyter Notebook, Google Cloud Platform (GCP), Docker, Amazon Web Services (AWS), Kubernetes, Shopify, Azure
Paradigms
Test-driven Development (TDD), Unit Testing, Functional Testing, CQRS, Continuous Delivery (CD), Continuous Integration (CI), E2E Testing, Agile
Storage
PostgreSQL, PostGIS, Elasticsearch, MySQL, SQLite, Redis, Cloud Firestore, MongoDB, Google Cloud, Google Cloud Datastore
Other
FastAPI, API Integration, Text Analytics, Web Scraping, APIs, Natural Language Processing (NLP), Domain-driven Design (DDD), Scraping, WebSockets, Integration Testing, Full-stack, Computer Vision, Image Processing, AWS CodePipeline, Graphs, Artificial Intelligence (AI), Data Science, Digital Elevation Models, OpenStreetMap, Generative Pre-trained Transformers (GPT), Machine Learning, Email, Video Analysis, Video Editing, Bluetooth, Location Services, Location Tracking, Mapnik, 3D Maps, Satellite Images
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