Hi I'm Łukasz Jabłoński

I'm a software developer with a passion for web technologies. I'm a big fan of Angular and I'm always looking for new challenges.

Angular
Angular
TypeScript
TypeScript
JavaScript
JavaScript
Firebase
Firebase
Firestore
Firestore
Node.js
Node.js
Cloud Computing
Cloud Computing
SSG/SSR
SSG/SSR
Web Development
Web Development
Performance
Performance
Security
Security
Deployment
Deployment
Testing
Testing
Best Practices
Best Practices
Tutorials
Tutorials
HTML
HTML
CSS
CSS
TypeScript
SSG/SSR
HTML
CSS

Super performant Blog app in Angular 18 with SSG and Hydration — Part 3.5: Dynamic Dialog & Quill Level UP

In this update, we enhanced Dynamic Dialog with generic types (T), making it more flexible for handling different data types. This allows smoother integration of forms and custom components. We also added image insertion with alt text in Quill, improving SEO and accessibility. To boost performance, we optimized syntax highlighting, targeting only HTML, XML, and TypeScript blocks. Finally, we fixed Firebase document size issues and improved Quill’s image handling, ensuring a smoother editing experience. Stay tuned for Part 4, where a major app refactor is coming! 🚀
TypeScript
SSG/SSR
HTML
CSS

Honey on my eyes! - super efficient blog app Part 3

In Part 3, we focus on admin features, editor improvements, and unsaved data protection. We switched from p-editor to Quill, overcoming issues with highlight.js and server-side rendering. Now, syntax highlighting works smoothly. To prevent data loss, we added a before-unload warning and a CanDeactivate guard, prompting users before leaving unsaved work. A new "Save as Draft" feature lets posts be stored without publishing. Editing posts is now seamless with automatic form population when modifying an existing post. We also fixed heading styles in Tailwind and formatted dates properly from Firebase timestamps. Finally, we extended Quill to support TypeScript syntax highlighting. Another step toward making this blog app powerful and efficient! 🚀 Stay tuned for more!
TypeScript
SSG/SSR
HTML
CSS

Consistency is the key - super efficient blog app Part 2

In Chapter 2, we refine the project, fix issues, and add new features. We updated Angular to 18.0.6, resolving issues with withEventReplay(). The Admin role is now properly initialized using APP_INITIALIZER. We restructured PostCardComponent into a fully reusable UI component with named slots. A new Role Directive allows flexible user permissions beyond just Admin. For SSG, we implemented auto-generated routes using Firebase functions, though Angular 18.1 will soon handle this natively. We also introduced a GDPR cookie consent popup, storing settings in LocalStorage for now. This chapter was a mix of problem-solving, learning, and fun. Stay tuned for Part 3—more optimizations ahead! 🚀
TypeScript
SSG/SSR
HTML
CSS

Let's get started!

Let's get started with this Angular app! In the first chapter, we'll create a new project, configure Firebase, and set everything up. The project will be built using Angular 18+ with SSG (Static Site Generation). For hosting, we'll use Firebase's new App Hosting, specifically designed for SSG Angular apps. Our goal is to create an app that will break records on Lighthouse-type benchmarks!