Help with 1602lcd and 8 bit shift register

Hi everyone,
For my project i’m low on pins so i can’t use a 1602 lcd display with 6 pins but i saw people making it working with a 74hc595 8 bit shift register. I pretty much used this : GitHub - omersiar/ShiftedLCD: Arduino Library for 74HC595 Shift Register using SPI
So i did the wiring as shown in the link, used the example “HelloWorld_SPI” :

#include <ShiftedLCD.h>
#include <SPI.h>

// initialize the library with the number of the sspin 
// (or the latch pin of the 74HC595)
LiquidCrystal lcd(8);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("pls work");

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:

I double checked everything but the only thing displaying is a line of squares on the top line. Changing the contrast eventually make the square disappear but nothing more so it’s working as intended. Removing i/o pins from the arduino does nothing so i guess the problem comes from the wiring but i checked everything and before that i tried other solutions but i ended up with the same problem.
Thank you for helping me

just for info; there are also "I2C backpacks" - ie. interface modules that convert the LCD pins into I2C usage - ie. just 4 pins. (5V, GND, SDA, SCL)