Pere Casafont, Java Developer in Reus, Spain
Pere Casafont

Java Developer in Reus, Spain

Member since April 9, 2015
Pere is a software architect with over a decade of experience working on Java services ranging from custom binary protocols to REST APIs on Spring. He also has a considerable experience with front-end, ranging from raw C++ OpenGL to Ionic apps. His most remarkable strength is his ability to work on and refactor all kinds of codebases. He is very communicative, proactive, and committed to the projects he works on.
Pere is now available for hire


  • Task & Time
    SQL, Docker, Spring REST, JUnit, Git, Kotlin, Ionic, Angular, MongoDB, MySQL...
  • Tremor
    SQL, Docker, Spring REST, Git, PostgreSQL, JOOQ, Spring Boot, Java
  • Apoyo al Estudio
    SQL, Docker, Spring REST, JUnit, Git, Kotlin, MySQL, Hibernate, Spring Boot...


  • Java 12 years
  • SQL 12 years
  • Ktor 4 years
  • Docker 4 years
  • IntelliJ IDEA 3 years
  • Gradle 3 years
  • Kotlin 2 years
  • Reactive Programming 1 year


Reus, Spain



Preferred Environment

Git, CentOS, JetBrains, Windows

The most amazing...

...thing I've coded is a technical demo creating thousands of particles around a given 3D animated model's surface with flocking behavior.


  • CTO and Software Architect

    2017 - PRESENT
    Task & Time
    • Designed and implemented the company's main product back end from scratch.
    • Designed and implemented the data model making it use both Hibernate and MongoDB (hybrid data model).
    • Implemented a complex task schedule optimization algorithm.
    • Created an Angular web application for the company's first product which accesses the main back end.
    • Designed the second product's data structures and API endpoints.
    • Managed a team of two other developers and a QA remotely with scrum sprints.
    Technologies: SQL, Docker, Spring REST, JUnit, Git, Kotlin, Ionic, Angular, MongoDB, MySQL, Hibernate, Spring Boot, Java
  • Back-end Software Developer

    2018 - 2018
    • Refactored all the REST endpoints in order to decrease their amount of code and readability.
    • Converted all the hardcoded failure entity returns into exceptions, for which I implemented a handler.
    • Moved a few enumerations declared as DB tables to be actual java enumerations properly mapped and referenced in JOOQ.
    • Unified several services with duplicated code, as well as their DTOs.
    • Created a integration test suite with mockMvc and EmbeddedPostgres.
    • Implemented several endpoints, features, and tests on demand.
    Technologies: SQL, Docker, Spring REST, Git, PostgreSQL, JOOQ, Spring Boot, Java
  • Software Architect

    2017 - 2017
    Apoyo al Estudio
    • Designed and implemented the company's main product back-end from scratch.
    • Designed the API endpoints and worked alongisde the front-end developer.
    • Designed the product's data model and implemented it with Hibernate.
    • Implemented Spring Service unit tests.
    • Implemented Spring Controller unit tests with MockMvc.
    Technologies: SQL, Docker, Spring REST, JUnit, Git, Kotlin, MySQL, Hibernate, Spring Boot, Java
  • Senior Software Engineer

    2016 - 2017
    • Converted from a database access singleton to DAOs using JDBC.
    • Reorganized project packaging and dependencies with Gradle.
    • Created in-memory data managers for fast data lookup.
    • Implemented a filter framework so in-memory data could be filtered according to a flexible set of conditions, using binary searches.
    • Wrote a set of JavaFX applications for data display.
    • Converted the whole project into a Spring back-end.
    • Created a web app interface using Angular 4.
    Technologies: SQL, Docker, Spring REST, JUnit, Git, JavaFX, Kotlin, Hibernate, Angular, Spring Boot, Gradle, MySQL, Java
  • Back-end Software Developer

    2015 - 2017
    James Evans and Associates
    • Created a tool which would parse testing spreadsheets and create thousands of JUnit tests from that data.
    • Gave JSON format export to the unit tests tool.
    • Developed back-end modules of a Spring enterprise project.
    • Created DB entity DAOs with MyBatis.
    • Maintained a user interface project with JavaFX.
    Technologies: SQL, Spring REST, JUnit, EasyMock, Oracle, MyBatis, Spring, Java
  • Software Architect

    2015 - 2016
    Synesthetic Visuals
    • Created a graphical interface which would create customizable 3D letters in a canvas. The 3D view is surrounded with controls to perform a big set of different modifications to the letters, as well as animations. See
    • Combined java Swing with JOGL in order to display the 3D canvas in the center of the app.
    • Created a 3d engine and its shaders, including geometry shaders and shadows.
    • Handled over 50 different settings and configurations for the displayed results.
    • Created an animation editor in which you could set keypoints for every configuration on any point in time.
    • Implemented a render animation functionality which would store the result in a high quality video file.
    Technologies: SQL, Git, OpenGL, Swing, Java
  • Founder

    2011 - 2016
    • Hosted and maintained an open-source MMORPG server.
    • Developed the server-side of new game features, which included all the client-server communications and logic, as well as designing the best way to fit them in the existing architecture.
    • Refactored more than twenty core modules of a big existing codebase (over 2,000 classes).
    • Created a development tool in Java Swing to manage and bulk edit static data with ease, which drastically increased the team's development speed.
    • Created a game launcher in C# which handled the authentication communicating with a PHP API, which at its end communicated with the Java game server.
    • Led a team of up to three developers and eight community managers.
    Technologies: SQL, Git, JavaFX, Kotlin, Windows Server, PHP, C#, MySQL, Java
  • Administrator and Developer

    2007 - 2012
    • Hosted and maintained an open-source MMORPG server.
    • Synchronized the software with the project’s repository frequently.
    • Developed and maintained the home website, which displayed in-game real-time data.
    • Created an in-game events engine with high scalability.
    • Administrated a MySQL database with over eighty tables.
    • Led a team of up to two developers and five community managers.
    Technologies: SQL, Windows Server, PHP, MySQL, Java


  • Toptal Mentor
    Pere is a mentor in the Toptal Global Mentor’s Program. This program is a partnership between Toptal and General Assembly to provide high quality mentorship for students from minority and low income backgrounds who are looking to begin their careers as professional software engineers. Pere shows commitment to diversity in tech by mentoring a General Assembly student every week for a year, covering everything from coding tips and tricks to advice on making it in the industry.


  • Languages

    Kotlin, Java, SQL, C++, C, GLSL, Python, Ada, Pascal, PHP, C#
  • Frameworks

    Ktor, JUnit, Spring Boot, Mockito, Hibernate, Spring, Swing, Angular, Ionic
  • Libraries/APIs

    Spring REST, OpenGL, MyBatis, EasyMock, JOOQ, DirectX
  • Tools

    Gradle, Git, IntelliJ IDEA, Subversion (SVN), Eclipse IDE, Microsoft Visual Studio, Maven, JetBrains
  • Platforms

    JavaFX, Docker, Windows Server, Windows, CentOS, Oracle, Linux, Android
  • Storage

    MySQL, JSON, Spring Data JPA, PostgreSQL, Cassandra, MongoDB
  • Other

    Software Architecture, Network Programming, Parsers, Client-server Model, Animation, Physics Simulations, Computer Graphics, Multithreading, GUI Development, Artificial Intelligence (AI)
  • Paradigms

    Reactive Programming, Concurrent Programming, Scrum


  • Bachelor's degree in Video Games Development
    2010 - 2014
    DigiPen Institute of Technology - Redmond, Washington, USA
  • Bachelor's degree in Computer Engineering
    2006 - 2010
    Universitat de Vic - Vic, Barcelona, Spain

To view more profiles

Join Toptal
Share it with others