Michal Salajka, Developer in Aakirkeby, Denmark
Michal is available for hire
Hire Michal

Michal Salajka

Verified Expert  in Engineering

Linked Data Developer

Location
Aakirkeby, Denmark
Toptal Member Since
October 25, 2018

Michal is a full-stack developer who enjoys creating well-tested, responsive web applications. He contributes to open-source projects, including social networks for hospitality exchange, collaboration, and food-sharing. He also loves to learn by doing and experimenting with new ideas, concepts, and technologies. Michal enjoys collaborating and sharing and is enthusiastic about web decentralization with linked data and Solid projects.

Portfolio

Open Hospitality Network
Linked Data, RDF, Turtle, TypeScript, React, Redux, Redux Toolkit
Hnut Brontosaurus
TypeScript, React, Redux Toolkit, Redux, SCSS, CSS, HTML, Git, GitHub, Leaflet...
Trustroots
React, MongoDB, Angular, Express.js, Node.js, JavaScript

Experience

Availability

Full-time

Preferred Environment

Linux, Git, Visual Studio Code (VS Code), Vim Text Editor

The most amazing...

...project I've created is a tool for visualizing and sharing abstract mathematics knowledge as a directed acyclic graph.

Work Experience

Solid Developer

2021 - PRESENT
Open Hospitality Network
  • Created an MVP application for decentralized hospitality exchange and social networking with Solid protocol, React, and TypeScript.
  • Designed a data model and vocabulary for hospitality exchange.
  • Participated in the Inrupt Solid workshop and won first prize.
  • Designed and implemented a protocol for communication between distributed social network participants.
  • Wrote a developer story—readable documentation—about the development of the distributed social network.
  • Found and fixed issues in Node Solid Server software and repository. Discovered and documented issues with private group permissions in Solid protocol.
  • Participated in community meetings, replied to public issues on GitHub, and reviewed PRs.
Technologies: Linked Data, RDF, Turtle, TypeScript, React, Redux, Redux Toolkit

Senior Front-end Developer

2021 - 2023
Hnut Brontosaurus
  • Created a front-end web application for the organization's information system used by event organizers and members.
  • Participated in UI, UX, and flow design of the application.
  • Connected REST API endpoints to the front-end web app.
  • Found issues and proposed improvements in the security and functionality of the back-end REST API.
Technologies: TypeScript, React, Redux Toolkit, Redux, SCSS, CSS, HTML, Git, GitHub, Leaflet, Postman

Full-stack Developer

2016 - 2020
Trustroots
  • Implemented collecting statistics with Grafana and StatHat.
  • Fixed security bugs. Improved member security by implementing an improved algorithm for randomizing user location.
  • Reviewed code and supported other contributors in learning code base and related technology.
  • Implemented displaying user statistics, i.e., response rate and response time in user profiles.
  • Created endpoints for API written in Node.js and Express.js.
  • Wrote automatic tests for API following a practice of behavior-driven development (BDD).
  • Collaborated on building a reference system to improve member security.
  • Implemented the web application's internationalization with react-i18next. Supported other contributors.
  • Progressed with the migration of the web app from AngularJS to React. Supported other contributors.
Technologies: React, MongoDB, Angular, Express.js, Node.js, JavaScript

Full-stack Developer

2019 - 2019
Showcase
  • Created a REST API with Node.js, Express.js, and SQL database using principles of behavior-driven development.
  • Implemented matching algorithms and user video storage.
  • Built a web application for administration with React and JavaScript.
  • Deployed and managed the REST API, web application, and data storage on AWS.
Technologies: Amazon Web Services (AWS), REST APIs, React, Node.js, Express.js, SQL, Behavior-driven Development (BDD), MySQL

Full-stack Developer

2018 - 2018
Karrot
  • Implemented emoji reactions to posts in both Django API and Vue app following the practice of behavior-driven development.
  • Participated in a hackathon and completed assigned tasks.
  • Contributed to the open-source GitHub repository of the project and participated in a technical discussion on GitHub.
Technologies: Vue, Django, Python, Git

Co-founder and Developer

2015 - 2018
Ditup.org
  • Designed and built a major part of a REST API using Express.js and Node.js.
  • Created a data model based on a social graph using ArangoDB.
  • Designed and built most of a front-end app using Angular 5 and TypeScript.
  • Created detailed tests following the practice of behavior-driven development.
  • Performed server administration using Debian and NGINX.
Technologies: TypeScript, JavaScript, ArangoDB, Angular, Express.js, Node.js

Sleepy Bike

https://sleepy.bike
A decentralized hospitality exchange network built over Solid protocol, with touring cyclists in mind. It is a collaboration project built with React and TypeScript and is part of the Open Hospitality Network. The project won the Solid workshop. The repository can reached at github.com/OpenHospitalityNetwork/ohn-solid.

Kirjasto Interactive Map of Libraries

https://kirjasto.vercel.app
An interactive map of libraries in the Helsinki area. Users can display libraries on the map, filter them by available services and opening hours, and show details about each library and opening hours. It is made with mobile users in mind and is ready for internationalization. The app is written in React and TypeScript and uses a helmet.fi API and OpenStreetMap as data sources. The repository can be reached at github.com/mrkvon/kirjasto.

Ditup over Solid

https://github.com/ditup/ditup-solid
A decentralized app for collaboration, connecting people based on shared interests and values. It is based on Solid protocol; user data are stored in personal Solid Pods. We also developed working services for social networking over this next-generation, privacy-centered technology, e.g., a service for data indexing and discovery. The index can be reached at https://github.com/ditup/solid-index

Graph of Solid Friends

https://friends.livegraph.org/
A linked data crawler that visualizes a social graph—a network of friends, foaf:knows—in Solid project. It uses the BFS algorithm to crawl the network, starting from Tim Berners-Lee or users' own Solid WebID. The repository can be viewed at github.com/mrkvon/friend-crawler.

Influenced

https://influenced.livegraph.org
An open-source web app that visualizes how well-known people influence each other. Based on linked data from DBpedia, it uses React, Redux, D3.js, and SPARQL as the main technologies. It was created in collaboration with my colleague, Agata Andrzejewska. The repository can be found at https://codeberg.org/influenced/influenced.

Math Livegraph

https://math.livegraph.org
React and TypeScript app that saves and visualizes dependencies in abstract mathematics as directed acyclic graph. The data are stored on users' Solid Pods, making the app distributed. The repository can be viewed at github.com/livegraph-org/solid-math.

Trustroots Scraper

https://github.com/mrkvon/trustroots-graph
A web crawler that collects user contacts from trustroots.org to display a social graph. It crawls users and their contacts and creates CSV files that can be visualized in Gephi. It was written in JavaScript and Node.js.

Osm2pdf

https://www.npmjs.com/package/osm2pdf
A Node.js global package for downloading maps from openstreetmaps.org to a PDF file. It downloads either the map of a track provided in GPX format or a rectangular area specified by its GPS coordinate boundaries.

Ditup.org

https://github.com/ditup/
It is a platform that connects people and enables collaboration. The REST API is written in Node.js, Express.js, and ArangoDB, while the app is written in Angular 5+. User data are stored as a social graph, and users can find each other based on subjects they are interested in.

Cellular Encoder

https://github.com/mrkvon/cellular-encoder-app
This web tool can encrypt and decrypt messages using the randomness created by elementary cellular automatons. The original idea is based on Steven Wolfram's book A New Kind of Science. The application is written with Angular and HTML Canvas. The app can be seen at mrkvon.github.io/narozeninova/.

Minimalistic Blogging System

https://github.com/mrkvon/blogo
A minimalistic blogging system is written in Go. The data is managed with JSON and Markdown. It is a hobby project to play with Go, and it currently runs in production on the author's website.

Languages

JavaScript, TypeScript, HTML, CSS, SQL, Python, SCSS, SPARQL, RDF, Go, GraphQL

Frameworks

Express.js, JSON Web Tokens (JWT), Angular, Redux, Django, Tailwind CSS

Libraries/APIs

Node.js, React, REST APIs, NgRx, Turtle, Vue, D3.js, Leaflet

Tools

Vim Text Editor, Git, GitHub, Postman, NPM

Paradigms

Behavior-driven Development (BDD), REST

Other

Linked Data, Semantic Web, Internet Protocols, Single-page Applications (SPA), APIs, Full-stack, HTML Canvas, Redux Toolkit, Gatsby, Apps, OpenStreetMap, Maps, i18n, Decentralized Applications, Decentralization

Platforms

Linux, Visual Studio Code (VS Code), Amazon Web Services (AWS)

Storage

MySQL, MongoDB, ArangoDB, Media Queries

2008 - 2012

Completed Courses towards a Bachelor's Degree in Physics

Charles University - Prague, Czech Republic

2007 - 2012

Completed Courses towards a Bachelor's Degree in Environmental Sciences

Charles University - Prague, Czech Republic

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring