Diego Allen, Developer in Asuncion, Paraguay
Diego is available for hire
Hire Diego

Diego Allen

Verified Expert  in Engineering

Software Developer

Location
Asuncion, Paraguay
Toptal Member Since
November 21, 2016

Diego is a passionate developer who turns ideas into elegant, functional solutions that solve real problems. His weapon of choice is usually Python, though he tries to be technology-agnostic and adapt to the tools best suited for the project at hand. His work has been mostly in web development (front- and back-end) and, more recently, writing web crawling spiders. He enjoys a challenge and always strives to learn more.

Portfolio

Routable Inc.
Python, Django, Django REST Framework, React, Redux, JavaScript, Redux-Saga...
Paladin
Python, Django, SQL, JavaScript, CSS, Sass, HTML, Git, PostgreSQL
Canopy
Python, JavaScript, Scrapy, Data Science, Data Analysis, Beautiful Soup, Celery

Experience

Availability

Full-time

Preferred Environment

Zsh, Tmux, IPython, Git, Vim Text Editor, OS X, Visual Studio Code (VS Code), Kittty

The most amazing...

...thing I've made is an automated tax preparation service based on user-submitted photographs of invoices using a smartphone app.

Work Experience

Senior Full-stack Developer

2021 - PRESENT
Routable Inc.
  • Worked on a feature that allowed customers with multiple accounts to switch between them without re-authenticating.
  • Worked on a project to introduce per-client subdomains, making it easier for multi-entity accounts to have multiple sessions in parallel. Migrated 100% of customers from the generic top-level domain to their custom subdomains without re-authentication.
  • Worked on a project for clients to collect tax information from vendors worldwide.
Technologies: Python, Django, Django REST Framework, React, Redux, JavaScript, Redux-Saga, Celery, Redis, PostgreSQL

Freelance Full-stack Developer

2017 - 2021
Paladin
  • Worked alongside the CTO in the early days to design the system. As the team grew, responsibilities expanded to writing and reviewing technical specs and doing code reviews on fellow engineers' work.
  • Implemented a single sign-on and single logout in the back end connecting with 3rd-party identity providers via the SAML protocol. This feature enabled the sales team to target larger enterprise customers.
  • Built a search feature that allowed users to search for pro bono opportunities by title, description and location, increasing engagement by lawyers browsing for opportunities. Used PostrgreSQL's full-text search functionality.
  • Added end-to-end testing to the CI pipeline to ensure the proper behavior of core workflows inside the app and catch regressions. Used Docker and Docker Compose to recreate the back-end environment and to run the E2E test runner.
Technologies: Python, Django, SQL, JavaScript, CSS, Sass, HTML, Git, PostgreSQL

Scraping/Data Science Engineer

2017 - 2018
Canopy
  • Built scrapers to scrape jobs from major freelancing sites using Python and the Scrapy framework. Scraped 200,000+ jobs a week.
  • Built REST API that handled user registration, login, logout and fed data to the mobile app using Python, Django, and Django Rest Framework.
  • Built async background tasks in the back end to score jobs for individual users and present the highest-scored ones. Used Python, Django, and Celery.
Technologies: Python, JavaScript, Scrapy, Data Science, Data Analysis, Beautiful Soup, Celery

Software Engineer

2015 - 2016
Scrapinghub
  • Developed and maintained a project with 1000+ web crawling spiders that scraped physician information for a client in the healthcare industry.
  • Contributed to projects for the data services team, building web scraping spiders that crawled 1+ million pages, usually popular sites whose datasets were regularly asked for by clients (social networks, classifieds sites, etc.). Crawled datasets were sold.
  • Developed a Slack chatbot that showed employee time off due to vacations, local holidays, etc. Hundreds of people used the bot as the company was fully distributed and consisted of 100% of remote workers.
  • Evaluated Scrapy trial projects from candidates looking to join the company.
Technologies: Scrapy, Celery, Django, Python

Software Developer

2015 - 2015
Taxit
  • Built an invoice validation API using Flask and Python. A form submission bot backs the API, as the Paraguayan government's online tax system lacks a web API. Handled 150,000+ documents monthly.
  • Contributed to the user-facing web application written with Python and Django.
  • Developed and maintained back-end services written with Java and Spring.
  • Worked alongside designers on a revamped UI/UX for the user-facing web application and led its implementation.
Technologies: Spring, Java, PostgreSQL, Python-rq, Redis, Flask, Django, Python

Software Developer

2013 - 2015
Sodep S.A.
  • Built a map visualization of presence, with data from sensors around the building, for an indoor navigation system using JavaScript, SVG, and Snap.svg library (for a Dutch company http://www.smartsigns.nl/).
  • Built digital signage software targeted large buildings like hospitals, offices, airports, etc. (for a Dutch company http://www.smartsigns.nl/).
  • Development on both the back and front end for product Captura, an application allowing users to capture field data using mobile devices (http://www.captura.com.py).
  • Built a lightweight application that fetched data periodically from different databases. Bundled an embedded Jetty web server serving a configuration web interface. This was meant to be used alongside the product Captura (http://www.captura.com.py).
  • Improved dependency management and build processes by converting a large Java project from a collection of tightly coupled libraries with manual dependency management to a single Maven multi-module project.
Technologies: MongoDB, PostgreSQL, Git, Subversion (SVN), Python, jQuery, JavaScript, Apache Tomcat, JDBC, JPA, Spring MVC, Java

Taxit

http://www.taxit.com.py
Taxit is a tax handling service for individuals. Customers installed an app on their smartphones and, using the app, they took pictures of invoices in order to track their expenses. Using the data submitted with the app, the company handled their taxes for them. The company did all the corresponding tax fillings and payment with the government.

Captura

Captura is a product that allows users to capture field data through mobile devices. An admin user designs a form with an easy-to-use drag-and-drop form designer in the web application. Then he/she sets the appropriate permissions and the form is synced to the devices. Mobile users who receive that form will be able to input data in various formats according to the form's design by the admin user. Input data can then be visualized through several customizable reports on the web application or it can be accessed through a REST API.

Languages

Python, HTML, CSS, HTML5, JavaScript, Java, SQL, Sass, C

Frameworks

Django, Django REST Framework, Scrapy, Spring MVC, JPA, Spring, Bootstrap, Flask, Redux

Tools

Slack, Vim Text Editor, Git, IPython, Apache Tomcat, Subversion (SVN), Celery, GitHub, Sentry, Zsh, Tmux

Libraries/APIs

Beautiful Soup, Requests, JDBC, jQuery, Twitter API, Python-rq, React, Redux-Saga

Paradigms

REST, Test-driven Development (TDD), Data Science

Platforms

MacOS, OS X, Drone CI, Linux, Visual Studio Code (VS Code)

Storage

Redis, PostgreSQL, MySQL, MongoDB, Databases

Other

Kittty, Data Analysis, Software Development, Networking, Operating Systems, Statistics, Physics, Linear Algebra, Calculus

2008 - 2014

Bachelor's Degree in Computer Science

Universidad Católica Nuestra Señora de la Asunción - Asunción, Paraguay

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