Karlis
Purens

Developer Portfolio

Experience
Java Enterprise
9 years backend
Java Development
Freelance Projects
4 years freelance
Project Development
Knowledge
Languages
Java, JS, Python
C#, C++, Shell
Databases
Oracle, PostgreSQL, Liquibase, Hibernate
Frameworks
Spring, Docker,
GWT, Cuda, Kafka
Build Tools
Maven, Gradle,
Ant, Jenkins
Servers
Azure, Jboss
Apache Tomcat
Services
APIs, REST, SOAP,
UDP, TCP, FTP
Concepts
  • MVC frameworks, client-server structure
  • DevOps experience - Azure, Docker, Kafka
  • Certificates, SSL, Data-security, Encryption
  • Writing Scripts in Bash / Shell / Python / C++
  • Gradle / Maven / Ant builds and configuration
  • Excellent knowledge of REST web-services & APIs
  • Experience with WebLogic / Tomcat / JBoss servers
  • Knowledge of Cloud Subscriptions, Events, Queues

Server Mesh

Management Platform

Aug 2025 - May 2026

Introduction

Distributed server management platform.

All-in-one management suite for maintenance & management of servers from various independent service providers.

The usual (industry standard) way of application / service deployment involves choosing a specific service platform
(Azure / Amazon / Google).

However, this leads to extremely dangerous dependency:
you are tied to that specific platform & software tools.

Server Mesh aims to resolve this issue by allowing users to combine servers from various internet service providers.

Functionality

Allows creating a group (abstract grouping of your servers)
and adding servers/boxes with specific configuration.

Manager software installs/runs python service on target machine - combining management with monitoring. As well as dedicated linux service & user account for java application.

Trustless deployment of java application - deploy only compiled java archive without exposing source code.

Automated / seamless SSL certificate configuration for an entire group of servers. (group can have domain name)

Minimalistic design - barebones shell + python scripts.
(no docker/kubernetes/git required).

Technologies
  • Frontend: Web-based GUI with configurable layout
  • Backend: Python & Bash scripts for back-end manager
  • Application: Control / deploy Java application from GUI
  • Testing: Dedicated testing environment
  • Integrate: Server communication through REST APIs
  • Administer: Direct shell (SSH) access for admin actions
  • SSL/TLS: Automated configuration of SSL certificates

GPT Helper

Automated AI Tool

Aug 2023 - Nov 2023

Description

Creating automated GPT helper tool.

Tool is designed to significantly improve daily workflow.

Completes user goals by clarifying and splitting them into smaller tasks.

Main advantage is the ability to modify file system using function calls. Regular ChatGPT can not modify user file-system resulting in large overhead.

Can easily select desired context using web interface. Eliminates the need for copy-pasting code to/from ChatGPT.

Core functionality implemented using Java Spring + Gradle.

Front-end displays relevant information using NodeJS + React.

Using non-blocking reactive Spring WebClient to access GPT API.

Tool is not limited to single scope or programming language. This allows performing tasks in any coding language or framework.

Technologies
  • Frontend: Component-based UI using NodeJS / React
  • Backend: Java Spring Framework with Gradle
  • Testing: Ensuring code quality using JUnit tests
  • Integrations: Integration with GPT API using WebClient

Cuda Secp

Cuda GPU Software

Jul 2022 - Oct 2022

Description

Cuda Secp256k1 Wallet / Account Recovery Tool.
Performs Secp256k1 Point Multiplication directly on GPU.
Can be used for efficient brain-wallet or mnemonic-phrase recovery.

Multi-threaded client-side written in C++.
Main thread manages client-server communication.
GPU thread executes several commands on each cuda core:

  1. Performs Sha256 hashing function on input seed
  2. Splits private key into 16 chunks (2 bytes each)
  3. Loads chunk points from pre-computed GTable
  4. Adds these elliptic curve points together
  5. Computes modular inverse - obtaining 64-byte public key
  6. Calculates compressed / uncompressed Hash160 values
  7. Searches last 8 bytes of Hash160 in the target buffer
  8. Returns found private keys in output buffer

Clients can be quickly deployed as Docker images.
Java Spring server synchronizes multiple clients.
Multiple endpoints are exposed as REST services.
Authorization endpoint manages client credentials / tokens.
File endpoint allows downloading binary target hash files.
Sync endpoint synchronizes next and done words.
PostgreSQL database + Spring JPA manages data storage.

Technologies
  • Client: C++ / Makefiles / Configuration
  • Nvidia: Cuda Computing / GPU Kernel code
  • Crypto: Seeds / Private Keys / Public Keys
  • Hashing: Hashing Functions (Sha256 / RIPEMD)
  • Network: Docker / Rest-API / Synchronization
  • Server: Java / Spring / PostgreSQL / Scheduler

Housify

Search Engine

Jan 2021 – Dec 2021

Description

Real-estate search engine.

Main goal of the system is to collect real-estate posters from multiple websites and display them in simple unified format.

System uses microservice architecture. Each microservice runs custom Java Spring service inside a Docker container and communicates with other containers / services.

Poster data is stored in PostgreSQL database and managed by the Poster service.

Poster images are handled by Image service, which can be directly accessed by client-side apps to reduce load on API-Gateway.

Web Crawler process periodically crawls all websites, uses JSoup to read / parse the HTML content, finds new housing posters and sends them to Poster service.

Advanced features include viewing poster historic versions,
loading nearby posters and calculating statistics for specific address.

Technologies
  • Frontend: Responsive UI with customized Google Maps
  • Backend: Java Spring Microservice architecture
  • Database: Large-scale data storage (MongoDB & PostgreSQL)
  • Services: Multiple internal & external GET / POST services
  • Docker: Multiple Docker pods, each handling part of system
  • Crawler: Custom web-crawler loading & parsing HTML schema
  • Network: Fast client / server communication (WebSockets)

PDF Gen

Java Spring Service

Oct 2020 – Dec 2020

Description

Developing PDF Generator service.
Service designed to allow fast and reliable PDF generation.

Can be easily adapted for any type of PDF file:
(Contracts, Invoices, Receipts, Manifests, etc)

PDF request is sent by front-end and then validated.
Necessary information is fetched from the database.
HTML template is loaded and used to generate new PDF file.

Service uses Java Spring Boot as backend framework.
MongoDB is currently used as persistance layer.

Service includes caching to avoid generating identical PDFs.
If PDF file for specific request already exists then it is returned from cache.

Technologies
  • Platform: Java, Spring-Boot, Spring-MVC, REST-service
  • Authorization: OAuth, Validation, Encryption
  • Persistance: MongoDB, Caching, Indexing
  • PDF-Generator: HTML Templates, PDF-Box framework

Contact

Contact
Email
karlis.purens@gmail.com
Phone
27078876
×