Bartosz Geodecki
High school student, hobby fullstack web developer
1p22geodecki@gmail.com GPG public key [generated 2024-02-07]My projects
Click on the titles for GitHub source code repo.
Schrödinger's equation aka libschrodinger
One of the best projects I've made. Started out as a simple script
to solve a differential equation, refactored and modularised into
a library of classes with a web interface and usage examples.
Featuring Python, numpy, scipy, Flask, pytest and pdoc.
A static version is running here
PyPI release
Arch Linux release
WordBook
Still in development, but actually the most ambitious so far. A
simple Facebook clone with Wordpress-like features. Supports
Markdown, KaTeX and images. Made using Next.js 14, Typescript,
Tailwind CSS, React, MongoDB and OpenTelemetry. The whole app is
contained in Docker. There are also unit tests with Jest and
end-to-end tests with Playwright. All CI/CD (with all tests and
Docker image building) runs on my local Jenkins instance.
Next.js chat
A pretty basic real-time chat application, made with Next.js,
socket.io and React. Account registration, app and account
settings, admin accounts, moderator and admin restricted channels,
end-to-end encryption with HTTPS, WSS (websockets but secure) and
TLS certificates (self-signed, but I guess you can replace them).
Null Crypto
Ever wondered what is it like to trade on a crypto currency
market? Well now you can try crypto trading with no risk, because
at Null Crypto no transactions get commited anywhere except
The app is actually running here and you can try it out!
window.localStorage
. You can trade a couple crypto
currencies and enjoy aggresive market plays with the latest prices
from CoinGecko.
WikipedAI
Simple Wikipedia clone. The only difference is that when a user requests an article which does not exist, it gets an AI-generated template, which can then be updated with references (you know AI is bad at quoting sources), and edited by a user.
I made a Docker container for easy running and deploying
AI-MONO
Tiny monorepo with multiple AI projects. All the way, from AI agents, through chatbots, until RAG as an Android app. I can't afford a cloud server, so you have to deploy them yourself, but it's worth it.
Networking Remastered
Actually, it's called that just because it's the second version.
The first one used pyGame and is available
here
It's a simple network simulation (still in development) showing
switches, routers, DHCP, ARP, IP addressing and more. All packets
travelling can be closely inspected, with all protocol layers.
The app is actually running here and you can try it out!
Battleship 2
Once again, this is the second version, the first one (you guessed
it, pyGame) is
here. Simple Unity game where you fly a spaceship (I made it in
Blender) and shoot asteroids. In 3D, of course.
The app is actually running here and you can try it out!
PHP document manager
I guess you could call it a content management system... It's more
of a customizable blog. It started out as a homework (that's why
it uses PHP and MySQL in the XXI century), but then I developed
and finished it myself.
It has features like registration and login, the administrator can create and edit text documents for everyone to see, and upload files for others to download.
It has features like registration and login, the administrator can create and edit text documents for everyone to see, and upload files for others to download.
Tensorflow translate
It's still VERY unfinished (and untrained), but basically it's a
Python script (using Tensorflow and TFlearn libraries) that
translates from English to Polish (my native lanuage). It hogs a
lot of RAM and CPU, and it's still not optimised for GPU's. But at
least it works. On my machine. With an extra swap file. Pretty
slowly. But I am still learning! (the model is learning too)
MNIST script
The hello world of machine learning. Python script for detecting
handwritten digits. Includes a web app made with Flask. Works best
in tensorflow/tensorflow docker container. No, I didn't build an
image from it.
United Documentation
Simple content management system / blog with Express.js and
MongoDB. Made as a homework, later finished into an actual usable
app. Features login/registration, admin accounts, users can create
and delete posts and report inappropriate content.
My skills
Next.js
I feel pretty comfortable using it, it's been my web framework of
choice for a long time, but I might not be up-to-date with the latest
knowledge.
React
React is simple, intuitive, and react hooks make development a lot
easier (especially the new use hook), but I'm still not fully
satisfied with my knowledge of
<Suspense/>
and
<ErrorBoundary/>
components.
Typescript (and JS too, I think)
In my humble opinion, Typescript is just the perfect language.
Compiles to JS, which runs on web, desktop (node.js) and even mobile
(React Native). It's high level enough to be fully cross-platform, and
the npm library ecosystem makes every task as easy as
yarn install something
Python
Python, with its many libraries is a very powerful language, but
sometimes a library just doesn't work on some OS, and nobody knows
why. The pip ecosystem is large for one thing, but resolving
dependencies and conflicts may be difficult.
Docker
Docker makes everything cross-platform, as long as you can make Docker
work there. While I'm pretty comfortable with the basic usage
(building images, Dockerfile, docker compose) and know a bit of
docker-swarm usage, cloud extensions like Kubernetes are still too
magical (and too expensive) for me.
AI tooling
While simple at its idea - ask for whatever, get instant responses -
prompt engineering and complicated AI pipelines are still magic for
me. But I have gotten a hang of integrating AI APIs (like Ollama) into
different areas of programming.
Tensorflow
I've always kept it as a fallback, in case web apps just don't do as a
career choice. It's definitely not intuitive, and the API is so
convoluted, that many 'wrapper' libraries (like TFlearn) have popped
up.
AngularJS
An elegant framework, beautiful in its many usage forms. However, its
template syntax may be difficult to learn, as oposed to React which
uses native JS functions and syntax.
vue.js
Simple and practical, but auto-importing components and weird syntax
conventions which grew over time make an excellent environment for
bugs to spawn.
Networking (and Linux)
They've always just been a hobby of mine, but I have long ago realised
that unless you are just the best, there are no job
opportunities for a 'hobby sysadmin'. But I still use Linux and play
with networks and penetration testing at home.