Freelance Software Engineer2013 - PRESENTByteFactory (www.getvgl.com)
- Fixed bugs and made improvements on a dating service with clients for both iOS and Android and a Java/Spring-based back end.
Owner, Software Engineer2004 - PRESENTElapsus
- Created desktop-based applications to interface with and gather data from a laser-induced plasma spectrometer (LIPS) and an electronic microscope, perform analysis on input data, and submit results to a remote web service. The LIPS application is used to determine the chemical composition of the observed sample, whereas the microscope application reconstructs an interactive 3D model of the analyzed surface.
- Developed an event organizer to record and report the organizational information related to events, such as races and marathons.
- Implemented a framework to parse RSS and Atom feeds and import articles into a Goss iCM CMS, designed to be easily extensible to other feed types. Also implemented a bulk user import procedure to scan CSV files, find matches between CSV content and CMS fields, check for data errors, and import users into the CMS.
- Developed the course administration/management module for an e-learning system built on top of the Kentico CMS.
- Worked on several projects for a mortgage company to improve internal processing/task automation, many of which were created as proofs of concept and mostly with Google-related technologies.
- Created an App Engine Java application to pull data from an Encompass database (via MS Access and scheduled upload to/synchronization with Google Data Store) and display detailed employee/branch/company statistics, with automatic page rotation and optimization for full screen LCD TVs.
- Created a web-based calendar/scheduler to pull data from an Encompass instance and publish details and totals.
- Developed a web-based application to send SMS messages, manage contacts and group lists, and buy and manage credit.
- Implemented a Windows mobile order entry application, ported from an existing C++ application.
- Re-engineered a costs and sales management application for a large Italian paper mill company/group.
- Developed an online monitor for credit repair software which gathered data from clients and provided real-time statistics.
- Created a database-driven website to search and filter a mortgage database as well as target loan officers.
- Developed a web-based interactive door designer which allowed users to design and order doors.
- Developed a database-driven company website with protected areas for forum discussion and more.
- Created a job board specifically targeted at game designers and developers for the Canadian market.
- Developed an ad banner management system consisting of an administrative interface for publishers and advertisers and a banner engine responsible for banner provisioning.
- Created a website/service for a print, warehousing, and distribution service company which enabled users to order online and track previous/pending orders, and personnel to process orders.
- Commissioned by the Newcastle Youth Council (UK) to develop a web portal with simple-to-use CMS and able-to-send SMS, ringtones, logos and WAP-push messages.
- Developed a Windows Mobile order entry application for resellers/distributors of ice cream/frozen products. After initial development and release of version 1.0, the product evolved by gaining hundreds of new features over its 10 years of existence.
iOS Engineer2020 - 2020Swiftlane
Technologies: UIKit, Agile Software Development, iOS SDK, Git, Core Bluetooth, CallKit, PushKit, Swift, iOS
- Worked on the iOS app used by people to unlock doors, either in place (via Bluetooth and facial recognition) and remotely.
- Implemented an intercom feature to receive calls from visitors at the access point and remotely unlock to get them in.
- Took care of generic maintenance, bug fixing, improvements, and overall quality.
Lead Engineer, Software Architect2019 - 2019Toptal Client
Technologies: Back-end, UIKit, Agile Software Development, iOS SDK, Git, PostGIS, PostgreSQL, Firebase, Google Maps, Go, Swift, iOS
- Worked on an app to share locations with friends, from its conception, contributing to defining the requirements, designing the architecture, and developing the iOS app and the back end.
- Provided architectural and technical leadership for the mobile development team, coordinating with a remote team and distributing responsibilities.
- Drew together requirements on project needs from various stakeholders and cross-functional team members.
- Learned the Go language while implementing the back end.
Senior iOS Engineer2018 - 2019Toptal Client
Technologies: UIKit, Agile Software Development, iOS SDK, Git, Swift, iOS
- Worked on an app to help people quit smoking.
- Provided generic maintenance for the application, ensuring the best performance, quality, and responsiveness.
Senior iOS Engineer2018 - 2018Toptal Client
Technologies: UIKit, iOS SDK, Git, Swift, iOS
- Joined a team to develop a service for finding and instantly hiring body guards, conceptually similar to Uber.
Senior iOS Engineer2017 - 2018Toptal Client
Technologies: UIKit, iOS SDK, Git, Core Location, Mapbox, Swift, iOS
- Worked on a club finder social app.
- Joined the project to complete the development of an app, to discover clubs around you.
Software Engineer2017 - 2017Apps for Gaps (via Toptal)
Technologies: Back-end, UIKit, iOS SDK, Git, MapKit, Swift, iOS
- Worked on an app to discover stores around you with your favorite brands.
Software Engineer, iOS Developer2017 - 2017ILF Mobile Apps (www.ilfmobileapps.com, via Toptal)
Technologies: Back-end, UIKit, iOS SDK, Git, Messaging, Encryption, VoIP, Swift, iOS
- Worked on a private messaging app (voice and text) and secure vault for images and videos.
Software Engineer2017 - 2017Brave (www.brave.ly, via Toptal)
Technologies: UIKit, iOS SDK, Git, Node.js, iOS
- Maintained an existing app (not yet launched) for connecting people that need help with people who can volunteer to provide it.
- Fixed bugs on the app.
iOS developer2017 - 2017MindTrust Labs (www.mindtrustlabs.com, via Toptal)
Technologies: UIKit, iOS SDK, Git, Swift, iOS
- Worked on a medical app to track sensorial and motor activities for child patients.
Software Engineer2017 - 2017Social Scan (via Toptal)
Technologies: UIKit, iOS SDK, Git, iOS, Swift
- Maintained the app by adding new features and fixing some problems.
iOS Software Engineer2016 - 2016Contra (www.contra-app.com; via Toptal)
- Contributed to Contra, a social opinions platform.
- Helped improve the app, add new features, and fix bugs.
iOS Software Engineer2016 - 2016Keepy (www.keepy.me; via Toptal)
- Contributed to Keepy, a kids’ artwork, schoolwork, and mementos organizer.
- Helped improve the app and fix some bugs.
iOS Software Engineer2016 - 2016Blue Lasso (www.bluelasso.com; via Toptal)
Technologies: UIKit, iOS SDK, Git, iPad, Swift, iOS
- Contributed to Blue Lasso, an iPad client for a training and advisory service, focusing on projects, people, and planning tools.
- Added new features and fixed bugs.
Freelance Software Engineer2014 - 2016Vida.watch (www.vida.watch)
Technologies: Back-end, UIKit, iOS SDK, Git, SQL, Bluetooth Beacons, CoffeeScript, Objective-C, Swift, Node.js, WatchOS, tvOS, iOS
- Implemented a task/goal tracking service.
- Worked with beacons to implement basic indoor positioning.
- Created a watchOS app to start/stop trackers, linked to the iOS app.
- Designed and implemented a Node.js back-end, exposing REST APIs.
- Developed the iOS app.
iOS Software Engineer2015 - 2015RAD Fitkey (www.radfitkey.com; via Toptal)
Technologies: UIKit, iOS SDK, Git, Swift, iOS
- Contributed to RAD Fitkey, a body measurement app to create a body profile with just three pictures.
- Joined the team for bug fixing and for adding new features.
iOS Software Engineer2015 - 2015Crowdservice (www.crowdserviceinc.com; via Toptal)
Technologies: UIKit, iOS SDK, Git, PHP, Objective-C, iOS
- Contributed to Crowdservice, a platform for customers to post tasks where providers can bid and do the task when selected.
- Helped fix bugs and add new features.
Freelance Software Engineer2015 - 2015PooledHouse (www.pooledhouse.com; via Toptal)
- Designed the architecture and developed an iOS app for a service to track jobs, tips, and earnings.
CTO, Software Engineer2012 - 2015Ubersimple, LLC (www.ubersimple.com)
- Designed the high-level architecture of a mobile service used to share lists of apps and digital business cards.
- Implemented the native iOS client app, written in Objective-C and Swift.
- Implemented the native Android client app, written in Java.
Freelance Software Engineer2014 - 2014Burnbook (via Toptal)
- Designed the architecture and developed the iOS app for anonymous posting at Mashable (http://mashable.com/2015/03/26/burnbook-app/#IlyrdxGFEkqE).
- Began development in Objective-C, later progressively replaced by Swift for new features.
Freelance Software Engineer2013 - 2013Rooted
- Created new features and fixed bugs on a previously developed app, whose purpose is to promote a healthy lifestyle.
Analyst, Lead Developer2003 - 2003AG Team S.r.l. (www.agteam.it)
Technologies: Back-end, Java EE, .NET, C#, C, SQL, C++, Java
- Redesigned an existing COBOL ERP application in Java/J2EE.
- Performed maintenance on a Windows CE order entry application.
Project Leader, Analyst, Senior Developer1997 - 2002Ksolutions S.p.A.
Technologies: Oracle, Java EE, NewtonScript, XML, HTML, PL/SQL, SQL, Pascal, Java, C, C++
- Created the first and most popular Italian free SMS service (Kataweb FreeSMS).
- Involved in strategic/pilot workforce management projects using mobile technologies (commissioned by the largest Italian mobile operator and railway company).
- Designed and developed applications on a variety of mobile platforms, such as Apple Newton, Palm Pilot, and Windows CE.
- Designed and implemented an SMS engine to target Windows CE platforms, capable of sending and receiving SMS using a GSM card/mobile phone connected to the device.
IT Consultant1996 - 1996Zappalà S.p.A.
Technologies: SQL, C++
- Designed and implemented a controller for product delivery automation, identifying products by reading bar codes from a conveyor belt, assigning a client/destination basing on an orders database, and routing them accordingly.