Michal Bartoň

Fullstack web application developer

Experience from real projects, openness to criticism and new tools.

8+ Years In programming
3+ Years Web applications
10+ Collaborations On different projects
MB obrazek

About

Experienced fullstack developer with a focus on web application development using Python, HTML, CSS and Javascript.

Profile Image
About

Fullstack web application developer

Experienced full-stack developer with a focus on web application development in Python, mostly using Django (including Django REST Framework) and FastAPI. On the frontend side I work with HTML, CSS, JavaScript and jQuery. I have hands-on experience with relational databases such as PostgreSQL, MySQL and Oracle, including managing them in the cloud via AWS (RDS, S3). I also specialize in deploying applications to Linux servers and virtual machines using uWSGI/Uvicorn and NGINX.

I often worked in smaller teams or as the sole developer on a project, which taught me independence, effective planning and a comprehensive approach to development.

Name Michal Bartoň
Age 23 years
E-mail michal.barton@outlook.com
Occupation Software developer
Nationality Czech republic
Location Close to Prague

Skills

Backend

Python Django, Django REST Framework, FastAPI

Databases PostgreSQL, MySQL, SQLite, Oracle Database

Cloud Forpsi VPS, AWS VPS, AWS RDS, AWS S3, Linode (Akamai)

Frontend

Technology HTML5, CSS3, JavaScript, jQuery

Frameworks Bootstrap

Deployment

Servers Linux (Ubuntu, Debian)

Web servers NGINX, uWSGI, Uvicorn

Virtualization VirtualBox, VMware

Other

Development Git (GitHub, GitLab), Postman, Python/NodeJS selenium webdriver, Zabezpečení webové aplikace

Integrations AI (OpenAI, Anthropic, StabilityAI, BlackForestLabs, Tavily), Meta API, LinkedIn API, MFA, Captcha, SSO, Platební systém Stripe

Languages Čeština (rodilý mluvčí), Angličtina (B2)

Other languages and skills C#, Java, C, Základy sítí a nastavení síťových komponent

Experience and education

I started to gather practical experience during my studies and eventually decided to focus on it.

Experience

Risk Flow s.r.o

2023 - present

Partner

The company, which I co-own with a colleague, serves as a backdrop for several of our own projects that we develop alongside our core business.

Wextra Communications, s.r.o.

2023 - 2025

Fullstack developer

I worked as an independent developer in a marketing agency. I transformed designs and ideas into functional web applications aimed at supporting the creation, management and publication of marketing content. I was responsible for the complete development from design to deployment and had the space to actively influence the shape of the final solutions.

BDO Czech Republic s.r.o.

2022 - 2025

Digital Services

At BDO, I gained hands-on experience in web application development, from creating frontend components and minor modifications on the backend to large-scale development and customization of internal systems.

Education

CTU Faculty of Information Technology

2022 - 2023

Unfinished study

I started my studies at CTU with the aim of deepening my technical knowledge, but after the first year I decided to devote myself fully to practice in the field.

SPŠE Ječná - information technology

2017 - 2021

Graduation + certification

I studied at the secondary school Ječná in the field of information technology, where I learned the basics of programming, databases and networks. I successfully passed my graduation exam in 2021 and thanks to the extended teaching I have earned certifications in Oracle Database Design and Programming with SQL or Cisco CCNAv7: Introduction to Networks.

Projects

Examples of a few projects I have worked on.

Fullstack development

Genuos

A web application combining various generative AI models into tools and workflows with them to help even a non-expert user create quality marketing content. Despite good ambitions, the project was discontinued due to extensive competition.

Fullstack development

Trickypot

Server/Application for receiving and storing honeypot data and possibly alerting the user about network threats or analyzing activity recorded by the device. A plug&play honeypot called Trickypot is connected to the application.

Fullstack development

Ethics Hotline

Extensive modifications, bug fixes and infrastructure management of an application for anonymous incident reporting in companies.

Fullstack development

Riskflow

Software in the form of a web application for recording the company's assets and their risks and then analysing, addressing and reporting on those risks.

Other projects

Art for Good Migration of the application for online viewing of exhibitions and other works of art. I migrated the application from 10+ year old technologies and packages to current ones.

Vulnerability scanner Application development for basic and quick server vulnerability scanning and analysis.

Scheduler Development of a group management and content posting application for social networks.

Pipeline Modifications to an application used to record business opportunities in the company.

Freelance HTML, CSS, JS component coding for websites.

Architecture and troubleshooting demonstration

From one cancelled project I will show here an example of the architecture, a description of its parts and some examples of code extracted from that part.

Genuos infrastruktura

Project diagram

The project focused on creating AI-connected tools and creating assistive workflows with them so that the user could create/manage/improve their marketing content even if they didn't fully understand marketing. The project involved a secure CRUD of data and files for the user, and then a series of tools linking various APIs and locally isolated microservices (if the resource could be operated locally) so that the user was able to create the desired content.

folder

Local storage

The local storage was used to store greatly reduced thumbnail versions of the images, which took up only a few tens of kilobytes. This made it possible to significantly reduce the data transfer between the user and the application as well as between the application and the cloud storage, especially in cases where the user only needed a quick preview without further interaction with the file.

At the same time, the local storage acted as a temporary cache for the processed files - for example, during translation, analysis, summarization or transcription. These files were automatically deleted when the task was completed.

3p

3rd party APIs

Integration with third-party services was especially necessary when the tools were not open source or required specialized and powerful hardware to operate.

Language models from OpenAI and Anthropic have been used across most tools and workflows. For working with image content, the models from StabilityAI and Black Forest Labs were used - while these exist as open source, running them separately would require a significantly more demanding infrastructure than that provided by a regular web server.

Services such as DeepL were integrated for accurate translation, while Tavily Search was used to retrieve up-to-date and relevant information from the web.

settings

FastAPI + Uvicorn/Gunicorn service

FastAPI was used for standalone instances of isolated tasks that often ran in the background - for example, text-to-speech (TTS), summarization, web scanning, or background removal from images. These jobs could be scaled independently and their requests were queued if they could not be processed immediately. This allowed computationally intensive operations to be handled safely and efficiently without risking overloading the main server.

Each microservice was deployed using the Gunicorn application proxy, which ran Uvicorn workers. Their number was configured individually according to the needs of the specific service. This architecture made it easy to move a given service to a separate server for better scaling if needed.

cloud

Cloud storage bucket + PostgreSQL database

The storage of generated, uploaded or edited files (e.g. images and audio recordings) and the database itself were placed in separate cloud instances. These services were only accessible to the application server for security reasons and allowed independent scaling as needed.

The repository was designed exclusively for final files intended for long-term preservation. Thumbnails, edits in progress, and generations in progress were temporarily cached until the user confirmed to save or rejected them. This minimized unnecessary data transfer and saved resources.

The database layer was served by Django ORM and managed by migrations. Data was encrypted and backed up regularly to ensure integrity and security.

code

Django backend

The backend of the application is built on the Django (Python) framework and forms the backbone of the entire application architecture. Its main responsibility is to securely mediate communication between the user, database, storage and external APIs.

It categorically provides data logic and persistence, user authentication and authorization, application security and protection, integration with external services, rendering and communication with the frontend, event and notification management.

web

HTML, CSS, JS frontend

The frontend included templates, which the backend used to render the base appearance of the page that the user viewed. It rendered the basic structure with the appearance. Sheets (datasets), modals (popups), workflows for tools were already managed/rendered by JavaScript, which only queried JSON data for the frontend.

The frontend logic was built on JavaScript, which provided dynamic data loading and thus relieved the backend from rendering large datasets. It also took care of displaying modals, managing workflow tools and overall interactivity of the interface. This made the application look and feel smooth and user-friendly.

dns

UWSGI + NGINX

The application layer uses uWSGI as a powerful proxy server, configured for stable and scalable application operation.

The NGINX web server provides secure HTTPS access and efficient delivery of static files.

person

User

The system is designed to give users easy, secure and reliable access to all the tools and functions of the application. With a clear division of roles between backend, frontend and external services, the user can focus on the job at hand without worrying about technical details or security.

Contact

I am currently open to new job offers. Please use the form below to contact me.