wk@portfolio:~/projects$ ls -la

28 projects

🐍 Python CLI Tools (2 projects)
🐍

Price Watcher

A product price monitoring script. Saves price history to CSV and sends alerts when price drops below a threshold.

portfolio β€” bash

$ price-watcher --track "RTX 4070" --threshold 2200

πŸ” Tracking: RTX 4070 | Threshold: 2200 PLN | Current price: 2499 PLN

$ price-watcher --history "RTX 4070"

πŸ“… Price history for RTX 4070: 2024-01-10: 2699 PLN 2024-01-20: 2549 PLN 2024-02-01: 2499 PLN πŸ”” Lowest price! Below threshold 2200? No

  • Python
  • Requests
  • BeautifulSoup
  • lxml
  • Termcolor
🐍

Weather CLI

A simple weather app for the terminal. Shows temperature, humidity, wind, and a 3-day forecast.

portfolio β€” bash

$ weather-cli --city Warsaw

🌀 Warsaw: 18°C, humidity 65%, wind 12km/h

$ weather-cli --forecast 3

Mon: 18Β°C β˜€οΈ Tue: 21Β°C β›… Wed: 15Β°C 🌧

  • Python
  • Requests
  • Termcolor
πŸ¦€ Rust CLI Tools (4 projects)
πŸ¦€

Batch Image Resizer

A batch image resizing tool. Supports dimension changes, format conversion, and aspect ratio preservation.

portfolio β€” bash

$ image-resizer --input ./photos --size 800x600 --format webp

πŸ–ΌοΈ Processing images: [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ] 24/24 (100%) Resized: 24 files Output format: WebP

$ image-resizer --input ./photos --size 1920x --keep-aspect

πŸ“ Preserving aspect ratio: IMG_001.jpg β†’ 1920x1280 (scale 0.5x) IMG_002.png β†’ 1920x1440 (scale 0.4x) βœ… Saved 2 files to ./output/

  • Rust
  • Clap
  • Pillow
  • Indicatif
πŸ¦€

File Organizer

Automatically organizes files in a directory by extension. Moves files into subdirectories (Images, Documents, Videos, Music, Archives, Code).

portfolio β€” bash

$ file-organizer --dir ~/Downloads --dry-run

πŸ” Dry run (no changes): photo.jpg β†’ Images/ report.pdf β†’ Documents/ vacation.mp4 β†’ Videos/

$ file-organizer --dir ~/Downloads

πŸ“ Organized 42 files: Images: 15 files Documents: 12 files Videos: 8 files Music: 4 files Archives: 2 files Code: 1 file

  • Rust
  • Clap
  • Walkdir
πŸ¦€

HTTP Server

A simple HTTP server written from scratch in Rust without external libraries. Serves static files from a directory.

portfolio β€” bash

$ http-server ./public --port 8080

πŸš€ HTTP server running on http://localhost:8080 Serving files from: ./public

$ curl http://localhost:8080/index.html

HTTP/1.1 200 OK Content-Type: text/html Content-Length: 1424 <!DOCTYPE html>...

  • Rust
πŸ¦€

Todo CLI

A simple terminal task manager. Add, mark as done, and remove tasks from the command line.

portfolio β€” bash

$ todo-cli add "Fix auth bug"

βœ… Added task #1: Fix auth bug

$ todo-cli list

πŸ“‹ Task list: [ ] #1 Fix auth bug [ ] #2 Write unit tests [βœ“] #3 Update README

$ todo-cli done 1

βœ… Task #1 marked as done

  • Rust
  • Clap
  • Serde
  • Colored
πŸ’š Vue Apps (7 projects)
πŸ’š

E-commerce Frontend

An e-commerce frontend mockup. Product display, category filtering, search, shopping cart with localStorage persistence.

E-commerce Frontend
e-commerce-frontend.app
E-commerce Frontend screenshot 1
  • Vue 3
  • Vite
πŸ’š

Kanban Board

An interactive Kanban board. Three columns (To Do, In Progress, Done), drag and drop, LocalStorage persistence.

Kanban Board
kanban-board.app
Kanban Board screenshot 1
  • Vue 3
  • Vite
πŸ’š

Movie Search

A movie search app based on TMDB API. Search by title, popular movies on homepage, debounced search input.

Movie Search
movie-search.app
Movie Search screenshot 1
  • Vue 3
  • Vite
  • TMDB API
πŸ’š

Pomodoro Timer

A clean and minimal Pomodoro timer. 25-minute work and 5-minute break cycles, visual progress indicator, and audio notifications.

Pomodoro Timer
pomodoro-timer.app
Pomodoro Timer screenshot 1
  • Vue 3
  • Vite
  • CSS
πŸ’š

Quiz App

A programming quiz app. 10 questions, instant answer highlighting, progress bar, and final score screen.

Quiz App
quiz-app.app
Quiz App screenshot 1
  • Vue 3
  • Vite
  • CSS
πŸ’š

Task Manager

A simple task manager SPA. Add tasks with priority, mark as completed, filter and sort, LocalStorage persistence.

Task Manager
task-manager.app
Task Manager screenshot 1
  • Vue 3
  • Vite
πŸ’š

Weather Dashboard

A weather dashboard with temperature charts. Uses wttr.in API with no API key required.

Weather Dashboard
weather-dashboard.app
Weather Dashboard screenshot 1
  • Vue 3
  • Chart.js
  • Vite
βš›οΈ React Apps (2 projects)
βš›οΈ

GitHub Stats Dashboard

Displays GitHub user statistics: repositories, languages, followers.

GitHub Stats Dashboard
github-stats-dashboard.app
GitHub Stats Dashboard screenshot 1
  • React
  • Vite
  • Recharts
βš›οΈ

Markdown Notes

A live-preview Markdown notebook. Editor with Markdown support, auto-save to localStorage, note management.

Markdown Notes
markdown-notes.app
Markdown Notes screenshot 1
  • React
  • Vite
  • Marked
πŸ”· Laravel APIs (4 projects)
πŸ”·

Blog API

REST API for a blog written in Laravel 10. Full support for posts and comments with data validation.

api-panel β€” rest
Endpoints
GET/api/posts
Request
{}
Response200 OK
{
  "data": [
    {
      "id": 1,
      "title": "Post title",
      "slug": "post-title",
      "body": "Content...",
      "author": {
        "name": "User"
      }
    }
  ]
}
  • Laravel
  • PHP
πŸ”·

E-commerce Backend

REST API for an e-commerce store written in Laravel 10. Manage products and orders with order status management.

api-panel β€” rest
Endpoints
GET/api/products
Request
{
  "page": 1,
  "limit": 10
}
Response200 OK
{
  "data": [
    {
      "id": 1,
      "name": "Product A",
      "price": 29.99,
      "stock": 50
    }
  ],
  "total": 150
}
  • Laravel
  • PHP
πŸ”·

Film Ranking

Film ranking API with rating system written in Laravel 11. Users can add films and rate them, automatic average calculation.

api-panel β€” rest
Endpoints
GET/api/films
Request
{
  "sort": "rating",
  "genre": "action"
}
Response200 OK
{
  "data": [
    {
      "id": 1,
      "title": "Inception",
      "rating": 9.1,
      "votes": 2341000
    }
  ]
}
  • Laravel
  • PHP
  • Tailwind CSS
πŸ”·

URL Shortener

A URL shortening API. Shorten URLs, list shortened links, redirect by code.

api-panel β€” rest
Endpoints
POST/api/shorten
Request
{
  "url": "https://example.com/very/long/path"
}
Response200 OK
{
  "short_url": "https://shr.tc/abc123",
  "expires_at": "2025-01-15"
}
  • Laravel
  • PHP
βš™οΈ C++ Projects (3 projects)
βš™οΈ

ASCII Art Generator

Converts PPM images into ASCII art. Written in C++17.

portfolio β€” bash

$ ./ascii-art --input landscape.ppm --width 80

🎨 Converting landscape.ppm (320x240 β†’ 80x30 chars): @@@#########=====-----..... ######========-----....... =======------........

$ ./ascii-art --input photo.ppm --charset simple

πŸ“Š Charset: simple (10 levels) β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘ ... βœ… Saved to photo_ascii.txt

  • C++
  • CMake
βš™οΈ

Memory Allocator Benchmark

Benchmarks different memory allocation methods in C++. malloc/free vs new/delete, fixed vs random allocation sizes.

portfolio β€” bash

$ ./allocator-bench --iterations 100000 --mode fixed

πŸ”¬ Memory allocation benchmark (100,000 iterations): malloc/free: 12.4 ms (avg 124 ns/allocation) new/delete: 14.1 ms (avg 141 ns/allocation) allocator: 9.8 ms (avg 98 ns/allocation)

$ ./allocator-bench --iterations 100000 --mode random

πŸ”¬ Benchmark β€” random sizes: malloc/free: 18.7 ms new/delete: 21.3 ms allocator: 13.2 ms πŸ† Best: custom allocator (29.8% faster)

  • C++
  • CMake
βš™οΈ

Terminal Notepad

A simple terminal text editor written in C++ with ncurses. Keyboard shortcuts Ctrl+S/Ctrl+Q, arrow key navigation.

portfolio β€” bash

$ terminal-notepad notes.txt

Opened: notes.txt | 3 lines | Mode: vim

$ :w

Written 3 lines β†’ notes.txt

  • C++
  • ncurses
  • CMake
🧠 Machine Learning (4 projects)
🧠

Image Classifier CNN

A CNN image classifier in TensorFlow. Simple convolutional network trained on CIFAR-10, classifies images into 10 categories.

Training Metrics

94.6%Epochs: 15
Accuracy
100%75%50%25%0%
Loss
1.41.10.70.40
Sample Predictions
InputOutput
cat.jpgcat (97.2%)
car.jpgautomobile (92.8%)
dog.jpgdog (89.1%)
  • Python
  • TensorFlow
  • NumPy
  • Matplotlib
🧠

MNIST Classifier

MNIST digit classifier in PyTorch. Simple feedforward network (784β†’128β†’64β†’10), achieves ~97% accuracy after 3 epochs.

Training Metrics

98.3%Epochs: 10
Accuracy
100%75%50%25%0%
Loss
0.50.40.30.10
Sample Predictions
InputOutput
digit_7.png7 (99.1%)
digit_3.png3 (98.4%)
digit_9.png9 (97.2%)
  • Python
  • PyTorch
  • Torchvision
  • Matplotlib
🧠

Price Predictor

A housing price predictor using RandomForestRegressor. Trained on data with features: area, rooms, floor, district, year built.

Training Metrics

84.2% RΒ²Epochs: 8
Accuracy
100%75%50%25%0%
Loss
0.80.60.40.20
Sample Predictions
InputOutput
3br, 90mΒ², ŚrΓ³dmieΕ›cie~8,450 PLN/mΒ²
2br, 55mΒ², Praga~6,800 PLN/mΒ²
  • Python
  • scikit-learn
  • NumPy
  • Pandas
  • Matplotlib
🧠

Sentiment Analyzer

A text sentiment analyzer. CountVectorizer + Naive Bayes model classifies text as positive or negative.

Training Metrics

91.0%Epochs: 5
Accuracy
100%75%50%25%0%
Loss
0.80.60.40.20
Sample Predictions
InputOutput
Great product, happy!POSITIVE (96.2%)
Terrible service, never againNEGATIVE (97.8%)
  • Python
  • scikit-learn
  • NumPy
🟣 C# APIs (2 projects)
🟣

Bookmarks API

A bookmarks manager API in .NET 8 Minimal API. CRUD for bookmarks, search by title or URL, Swagger UI.

api-panel β€” rest
Endpoints
GET/api/bookmarks
Request
{
  "tag": "programming",
  "limit": 20
}
Response200 OK
{
  "items": [
    {
      "id": 1,
      "url": "https://docs.microsoft.com",
      "title": "MS Docs",
      "tags": [
        "programming",
        "dotnet"
      ]
    }
  ]
}
  • C#
  • .NET
  • Swashbuckle
🟣

Task Scheduler API

A task scheduler API in ASP.NET Core 8. Full CRUD for tasks, Swagger UI.

api-panel β€” rest
Endpoints
POST/api/tasks
Request
{
  "name": "Backup DB",
  "cron": "0 2 * * *",
  "command": "backup.sh"
}
Response200 OK
{
  "task_id": "t-001",
  "next_run": "2024-01-16T02: 00: 00Z",
  "status": "scheduled"
}
  • C#
  • ASP.NET Core
  • Swashbuckle