Mariusz

🧠 25+ years in IT
🛠️ Architecture, code, automation, integration
👨‍💻 Building something big in TypeScript
🔷 TypeScript, Next.js, human-friendly JSON
🍲 Soup is a lifestyle
🎸 Bass guitar — the DevOps of music: no one notices until it's gone

(write.tyolabs.com)
searchable

Mariusz boosted:
2025-07-31

Day#19 Create Password Reset Form in Next.js Using Custom API

Full password reset flow implemented in Next.js with a custom API. Includes code samples and UX tips.

write.tyolabs.com/2025/07/31/t

Mariusz boosted:

Have you installed a clipboard, like wl-clipboard? you also have to set it up in neovim init.lau fila also with “clipboard=unamedplus” if you want it to be on your system clipboard similar to what you describe. The normal neovim setup is that the nvim clipboard is separate from the system one, but you can copy into it from neovim by using marks like "+yy etc. It’s nice to have two separate if you can get used to it.

Mariusz boosted:
2025-07-19

Many cool project ideas! 😎

From the Github site:
"This repository is a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch."

github.com/codecrafters-io/bui

#programming

2025-07-19

@davep but only about backward compatibility if I get that correctly, not about future versions of python

2025-07-19

@Sarah_Lea WANT
:)

2025-07-19

@davep looks promising. Any plans to adapt to other versions of python?

2025-07-18

Day 18

Today I debugged an issue with accessing backend endpoints from a Next.js frontend talking to a NestJS API.

The browser was blocking requests due to a CORS error — the Authorization header was not allowed in the preflight response. Even though frontend domains were correctly set, I forgot to include Authorization in allowedHeaders.

After updating enableCors() to:

`allowedHeaders: 'Authorization, Content-Type, Accept'`

…the issue disappeared, and the dashboard successfully fetched the user's subscriptions from the backend.

write.tyolabs.com/2025/07/18/t

#programming #nestjs #nextjs #daybyday #fullstack #javascript

Mariusz boosted:
2025-07-15

Day#17 Self-Hosted Collaboration Tools: More Than Just Code

Building great software isn’t just about code. Today’s focus was on storytelling, internal documentation, and team tools — from preparing investor-ready presentations to deploying a self-hosted collaboration suite that supports transparency and autonomy.

write.tyolabs.com/2025/07/15/t

2025-07-15

Day 17
Not just code today.

Prepared a full-stack presentation (pitch → details → tech) to showcase company setup, platform progress, and team readiness. Also refined our internal documentation and SDLC overview.

Bonus: set up a self-hosted NextCloud for chat, tasks, calendars, forms, and shared folders.

Code matters, but so does clarity.

write.tyolabs.com/2025/07/15/t

#programming #nextcloud #documentation

2025-07-11

Day 16
Just published a deep dive into building a secure login page with Next.js, NestJS, JWT, and PostgreSQL.

- Email verification
- Role-based access control
- Subscription enforcement
- Token decoding in frontend
- SQL-level inserts for system roles

Includes full code snippets and explanation of the entire flow.
Perfect if you're working on full-stack apps with JavaScript, TypeScript, and SQL.

write.tyolabs.com/2025/07/11/t

#nextjs #nestjs #typescript #jwt #sql #fullstack #javascript #webdev #programming

Mariusz boosted:
2025-07-11

Day#16 Secure User Login Flow in a SaaS App Using NestJS and Next.js

This post walks through the complete implementation and offers examples of how to structure secure login logic in a modern SaaS application.

write.tyolabs.com/2025/07/11/t

2025-07-09

Day 15

Today I implemented full user registration with email verification.
Registration creates an inactive account and sends a verification link with a JWT token.
Verification activates the account if the token is valid and not expired, and assigns the user to the default trial subscription plan.

I also introduced a custom JSON-based translation system, with language selected via the `x-lang` HTTP header.

Finally, I refactored subscription logic: a separate `plans` table was added.

Everything works. All tests passed.

write.tyolabs.com/2025/07/10/d

#programming #jwt #subscription #json #monorepo #saas #codingdays

2025-07-09

Got banned from write.as for triggering an anti-SEO alert — apparently too many links to http://localhost (yes, really). I emailed support right away, assuming it would be resolved quickly. Two weeks later: still banned.

So I took it personally.

According to their rules, I need to delete all posts before I can delete the account… but I can’t do that because, well, I’m banned. 😅

Thanks to full approval from the CEO of TYOLabs.com (me) and the swift action of their lead sysadmin (also me), I’ve launched my own WordPress instance at write.tyolabs.com.

All posts migrated, Mastodon links updated.

Now testing ActivityPub integration.

2025-06-26

Day 14

Registration Form Implementation
I've just finished implementing a registration form with validation and language switching using Next.js and React Hook Form. Now users can register with dynamic language support (English/Polish) and data validation (email, password, phone).

Unfortunately, my account on Write.as has been temporarily blocked, so details about the implementation will be available once the account is unlocked. Stay tuned! 😊

write.tyolabs.com/?p=1

#programming #next_js #javascript #typescript #monorepo #saas #codingdays

Mariusz boosted:
Ian Ellismagicalbob
2025-06-25

🚀 ChunkWrap: splits large files into LLM-digestible chunks
Born from Copilot's 10K char limit, works across LLMs. I've used it for log analysis, unit test generation, CHANGELOG summaries.
Early stage, manual workflow but effective. Looking for community input on use cases & automation ideas!
🧱 pip install chunkwrap
🗂 github.com/magicalbob/ChunkWrap

2025-06-25

Day 13
version 0.6.0 released
Scoped access is now enforced across all core modules. Each repository operation is tenant-aware via a shared ScopedRepository base class.

Key facts:
12 modules refactored
96 updated tests
1 shared base class (ScopedRepository) used across the board

subscriberId is automatically applied in all find, findOne, save, remove operations

1 very long workday

Commit, tag, release — done

write.tyolabs.com/?p=42

#programming #typescript #saas #scoped_access #microservices #monorepo #codingdays

2025-06-24

Day 12

Implemented password reset functionality using JWT:
/auth/remind-password generates a short-lived token and sends it via email
/auth/reset-password verifies the token and updates the password using bcrypt

Validation handled with class-validator.
Endpoints documented with Swagger.
Token secret and base URL configured via environment variables.

write.tyolabs.com/?p=33

#programming #typescript #saas #microservices #monorepo #codingdays

2025-06-23

Day 11
Well, technically it’s been a few days.

I just finished populating the entire partner-contracts layer in our system. That means hundreds of users, each linked to the correct unit, with the proper supervisor, job title, and contract type. All of it reflected in a single, consistent data model.

Every user has a contract pointing to their supervisor — with cascading relations:
- regional managers report directly to the admin,
- unit managers report to regional managers,
- team leads report to unit managers,
- and finally, operators, assigned in pairs to each lead.

I’ve also updated every partner’s supervisor field, so hierarchy is fully navigable.

It took some time and required pulling data from multiple sources:
users, organizational units, and memberships, regional and structural hierarchy, and even address assignments.

Numbers:
Total test users & contracts: 1,408
Regional Coordinators: 16
Managers: 160
Team Leads: 640
Operators: 592

write.tyolabs.com/?p=36

#programming #sql #posgresql #testdata

2025-06-17

@Beiz I miss it too, believe me...

2025-06-17

@amd I gave up on Woodpecker.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst