Verba volant, scripta manent

Vibe Coding: Lovable

2025-06-15

Free Weekend: AI Showdown

Lovable is free this weekend. Pick your AI model to build your app.

This is a nice opportunity to test different AI models and create at least some draft pages for side/pet projects. Possible options to use at the moment are Google, Anthropic, OpenAI (have not checked the exact models yet, drop down shows just vendor selection).

So far in the context of Lovable my favorite model vendor is OpenAI, and Anthropic is on the second position (but close to OpenAI). Google is unfortunately far behind. Not sure why, but with the same prompts Google generates more simple and dark website versions.

That was an exciting experience (despite some We are currently under heavy load, please try again later messages).

DBML for Mongodb

2025-06-03

Recently I have tried to parse mongoose schema definitions to some meaningful db markdown to visualize the data models connections.

Original choice was mermaid (Entity Relationship Diagrams) however after producing the diagram for 50+ collections with 150+ relations it appeared to be unusable and not something you can deal with.

Another option was dbml. Once I finally produced the valid dbml definitions I have pasted them at https://dbdiagram.io/. You still need to manually move the blocks to visualize the relationships better, but looks much more promising now.

Few notes regarding https://dbdiagram.io/:

mongodb compare indexes

2025-05-31

Prepared and published the module for comparing two mongodb instances and publishing the indexes discrepancies between them (e.g. what is missing in the source server and what is missing in the destination).

Module name is mongo-compare-indexes

The usage is pretty straight forward. You either define the URLs along with the command:

npx mongo-compare-indexes run mongodb://localhost:27017/db_name_source mongodb://localhost:27017/db_name_target

or you define the ENV variable first (they are TARGET_MONGO_URL and SOURCE_MONGO_URL). Example:

export TARGET_MONGO_URL="mongodb://user:pass@host:port/db_name"
export SOURCE_MONGO_URL="mongodb://localhost/db_name"

and then just use:

npx mongo-compare-indexes run

JS fwdays 2025

2025-05-24

Few notes from the conference.

Yuriy Artyukh Fronted/Animations

Serhii Babich Signals/Frontend

Taras Shevchuk Effect oriented programming

Khrystyna Landvytovych 30 years of web evolution

Illya Klimov Architecture? Didn't hear

SCRUM

2025-05-12

Refreshing my knowledge about SCRUM in preparation for the interviews.


The Scrum master serves to facilitate scrum to the larger team by ensuring the scrum framework is followed.

A Scrum Team is a small (typically 10 or fewer) team of people that work together, using the Scrum Framework, to create something valuable. The team consists of:

  %%{init: {'theme':'dark'}}%%
  stateDiagram

    sp: Sprint Planning
    ds: Daily Scrum
    sr: Sprint Review
    sretro: Sprint Retrospective
    [*] --> sp
    sp --> ds: Sprint Backlog is prepared during the planning
    ds --> ds: Daily Event timeboxed for 15 minutes
    ds --> sr: End Of Sprint
    sr --> sretro
    sretro --> [*]

Scrum, known for its empirical process framework, revolves around three core pillars:

  kanban
  Foundation
    empiricism
    lean thinking
    small team of people
  SCRUM pillars
    transparency
    inspection
    adaptation
  Events
    Sprint <= 1 month
    Sprint Planning <= 8h
    Daily Scrum <= 15 mins
    Sprint Review <= 4h
    Sprint Retrospective <= 3h
  Values
    Commitment
    Focus
    Openness
    Respect
    Courage
  Scrum Team
    Scrum Master
    Product Owner
    Developers
  Artifacts & commitment
    Product Backlog -> Product Goal
    Sprint Backlog -> Sprint Goal
    Increment -> Definition of Done


The Scrum Master helps the Scrum Team:

helps the Product Owner:

supports the Organization:


What should we remember during the Sprint:


The Scrum framework is immutable. While implementing only parts of Scrum is possible, the result is not Scrum. Scrum exists only in its entirety and functions well as a container for other techniques, methodologies, and practices.


see SCRUM guide for more details.

Preparing code to share

2025-05-10

Looking for new opportunities now. I will need few examples of code to share during the interviews. Going to focus on TypeScript & lambda functions first.

Calculating taxes might be a good option for such case.

GitJournal android app

2025-05-10

GitJournal is pretty cool app for modifying markdown on Android. Testing it for blog posts creation and modification.

11ty styles for this blog

2025-05-01

Making few css updates for the blog to finalize its look and feel.

AWS Lambda deployments

2025-04-30

Going to learn different deployment options for AWS Lambda, starting with SAM.

Static generators (11ty)

2025-04-29

Playing around with 11ty; looks interesting and pretty straight forward. Going to try this for the personal blog.

Random number in JS

2025-04-28

javascript-fortuna npm package was not updated in while; but still is being used in the project I am working on and it works fine. It would be great to find the way to properly compare it with the Math.random.