Cool projects in random order
Titles of the projects are links to the repositories on GitHub!
Mireks - accounting firm website
An accounting firm landing page website.
Built using Vue with prerendering thanks to Nuxt. TypeScript class components allow for easier maintainability in the long run as well as type safety. Website uses Progressive Web Apps standards and contains a manifest.json. ‘Tis using JSON-LD structured data and meta tags for SEO purposes. Uses Sentry error logging with source mapping capabilities which show which line caused an error. Google Analytics tracks searches and clicks.
Site is actively hosted on Netlify under this link (Polish only): https://www.biurokoralewski.kalisz.pl
Technical info:
Nuxt; Vue; TypeScript; class-component; SPA landing page; pre-rendered; Sentry; JSON-lD; Google Analytics
Google Calendar Box Select - browser extension
Chrome Extension to (box) select multiple Google Calendar events. You can select, drag, delete, change color and duration.
Technical info:
WebExtension; working in Chrome, untested in Firefox, Opera and the new Edge; built using TypeScript, Webpack with some SCSS
Dziennik Rust - Rust backend
A simple CRUD REST API backend written in Rust using actix-web, Diesel and PostgreSQL. The functionality lacks: login, authorization, as well as registering new users, because ‘twas never intended to be used in production as it was a high school project.
The site is hosted on Heroku and is being used as the backend for the
dziennik-frontend
project.
The Heroku dyno may be sleeping, you have to give the backend time to wake up.
Technical info:
Rust; actix-web; Diesel; PostgreSQL
Karnaugh Map solver/visualizer/presentation
Presentation live at jcubed.me/karnaugh.
The presentation explains how a Karnaugh Map is assembled with nice animations, how to generate the rectangles for DNF, how to get the DNF, also visualizes formula parse tree, visualizes rectangles with hover animations. Shortly enumerates other methods and explains why Karnaugh Map method of minimizing formulas is inefficient.
Technical info:
Next.js/React app including a custom micro-presentation framework with slide controls, with keyboard arrows, browser back/forward history movement; vannila JS, ES6; React Hooks; SVG; debouncing; Local Storage; History API; Static Site Generation; framer-motion for animations; tombstone.js for formula parsing; D3.js for parse tree visualization; testing with jest; statically hosted thanks to Github Pages and Next’s static site generation; uses Sentry for error logging; undraw.co for vector images; icons from remixicon.com; more technical info on the technical implementation slide
Cursor Recorder - After Effects & OBS Scripts
OBS Studio Python script records mouse movement to a file while recording. You can also use the standalone Python script. Then the After Effects script can be used to import the generated cursor movement data into AfterFX. The demo of the Google Calendar Box Select web extension uses this script to follow the cursor.
Technical info:
Python; TypeScript (.ts
) compiled to ExtendScript (.jsx
) for After Effects
Dziennik Frontend - Vue frontend
My first ever SPA - “Hogwarts” online student register. Made for high school project. Internationalized for Polish and English. Here’s the website with a working backend hosted on Netlify: https://dziennik.netlify.com/logged-in
Technical info:
Vue.js; Vuex; TypeScript; vue-i18n (both Polish and English language versions); SCSS
Mandelbrot and Julia set plotter
Mandelbrot and Julia set plotter cross-platform desktop application written in Rust as a university project. Uses GPU, Vulkan shaders, implements zooming, dragging and changing iteration count. You can change between Mandelbrot and Julia views or have both side-by-side.
Technical info:
Rust; winit; Vulkan; wgpu-rs crate allowing to run using Vulkan, Metal or DirectX; written with GLSL fragment shaders; real-time shader rebuild with off-thread file watching; cross-platform; full screen and high DPI support
"Blog":
Contact me
About my (non-existent) company
After our enormous experience, we here at jcubed have come to know that it is preferable to reintermediate nano-strategically than to embrace nano-micro-intuitively. It was jcubed which first coined the term “user”. We put the proverb “Try turning it off and on again” into action not only for our synergies but also for our power to optimize. We also employ the spells of DRY, KISS, FTBFS, FOAF SOAP, WYSIAYG, WYSIWYG, WYSIWYM, WYWIWYWYWY, FAFIYGI, YYMVV not only for our transparent incubation of Voodoo programming backed by our client-server architecture using the SOA REST Big Data on-the-cloud Agile for Machine Learning on IoT deives, but also for rewriting it in Rust. If ‘tain’t already, your budget for growing should be at least one-third of your budget for engineering. If you revolutionize compellingly, you may have to streamline iteratively. But then also if you synergize mega-holistically, you may have to facilitate robustly. But then, do you have a scheme to become user-defined? If not, imagine a combination of HTML and COBOL. That’s how we will visualize the term “bricks-and-clicks”! But of course, we have also come to know that if you iterate globally then you may also architect super-ultra-mega-virally.