Co-founder and CTO
2015 - 2017Cleo AI Ltd.- Grew the business from 0 to tens of thousands of users in two years and raised £2.5 million for the business through private equity investors.
- Served as the sole developer for one year. I developed a web application, SMS interface, and Facebook Messenger chatbot Cleo, the company's flagship product.
- Implemented modules for analyzing a user's payment transaction history, detecting spending patterns and providing recommendations on how user's spending be optimized.
- Implemented natural language processing functionality for Cleo chatbot.
- Recruited and managed the founding engineering team. Led the technical product design and development.
- Set and executed the technical strategy for the company, aligning product engineering with business goals.
Technologies: PostgreSQL, SCSS, HTML5, JavaScript, Heroku, GitHub, Git, Facebook Messenger API, Ruby on Rails (RoR), Ruby, ChatbotsJava Developer (Big Data team)
2015 - 2015Elsevier Limited- Developed Hadoop jobs for aggregating and processing sales data from various business units of Elsevier and creating financial reports.
- Designed and prototyped central big data processing system for Elsevier, enabling access and processing functionalities for data sets across different departments.
- Gathered requirements and performed estimations of the internal big data processing system.
Technologies: Kanban, Pair Programming, Test-driven Development (TDD), Apache Spark, Docker, Amazon Web Services (AWS), Hadoop, Java, Data Processing, Big DataJava/Full-stack Developer
2013 - 2015Geonomics Global Games- Planned, designed, and implemented data aggregation and financial reporting software for a global map-based lottery game platform.
- Maintained and enhanced the game's financial reporting and data aggregation modules.
- Implemented registration and payment flow for the mobile version of GeoLotto game.
- Designed and implemented a custom content management system for the game's website.
- Introduced the domain-driven design paradigm to the development process, performed a thorough review of the codebase, and created a refactoring plan to transform the initial domain model into a more expressive one.
Technologies: HTML, SCSS, Domain-driven Design (DDD), Code Reviews, Test-driven Development (TDD), Unit Testing, Google Web Toolkit, Apache Wicket, Hibernate, Spring MVC, JavaChief Architect's Technical Assistant/Software Developer Intern
2012 - 2013Hadapt Polska Sp. z o. o.- Investigated and tested new approaches to extend Hadapt's flagship product, a big data analytics platform that integrates SQL with Hadoop.
- Prototyped new approaches to integrate text indexing with the platform, using Apache Lucene and Apache Solr. Tested the prototypes for performance.
- Created end-to-end test architecture for Hadapt platform. Designed and implemented a suite of stress and scalability tests.
- Managed team of three testers.
Technologies: Amazon Web Services (AWS), IntelliJ IDEA, Eclipse, Apache Solr, Python, Bash, Gradle, Apache Hive, Hadoop, JavaSoftware Developer Intern
2011 - 2012Google Switzerland GmbH- Implemented usability enhancing features for Google Flight Search and Google Hotel Finder.
- Introduced new search types for Hotel Finder: searching by hotel name and searching by address.
- Implemented an optimisation algorithm for efficient label placement on the Google Flights map.
Technologies: Perforce, Git, Eclipse, Guice, Google Web Toolkit, JavaSoftware Developer Intern
2010 - 2011Capgemini Polska Sp. z o. o.- Tested an interface and behavior of an application for a leading logistics company.
Technologies: HP Quality Center (QC), Subversion (SVN), HTMLJava Web Developer
2009 - 2010Wspólny Rynek Medyczny Sp. z o. o.- Implemented an internationalization feature for rynekmedyczny.pl -- an online database of Polish medical institutions.
- Prepared mechanisms for transforming rough XML data of medical institutions into HTML documents.
Technologies: PostgreSQL, SQL, Apache Ant, Subversion (SVN), CSS, HTML, JUnit, Eclipse, Apache Wicket, Cocoon, XML, XSLT, Java