< BLOG >

Od No-Code do AI: Wtyczka Figma dla designerów

03.01.2025Mateusz Kruhlik
No code figma plugin

Jako projektant produktów zawsze fascynowało mnie tworzenie narzędzi, które usprawniają pracę i wprowadzają porządek w chaosie procesu rozwoju. Jednak jedna umiejętność była mi obca: kodowanie. Pisanie choćby jednej linijki JavaScriptu wydawało mi się tak trudne, jak opanowanie nowego języka w ciągu jednej nocy. Do niedawna wydawało mi się to niemożliwe. Przecież żeby zacząć programować, trzeba nauczyć się podstaw, składni i wybrać odpowiedni język spośród wielu dostępnych. A jednak, jestem tutaj, by podzielić się historią o tym, jak stworzyłem swoją pierwszą wtyczkę do Figmy – Summary Sprint – dzięki wsparciu dużych modeli językowych (LLM), takich jak Cloude Sonnet 3.5 i ChatGPT. Wtyczka ta upraszcza planowanie sprintów, automatycznie podsumowując punkty przypisane do zadań, bez konieczności ręcznych obliczeń czy korzystania z zewnętrznych narzędzi.

Skąd pomysł?

W naszym zespole spędzamy piątkowe popołudnia na zamykaniu tygodniowych sprintów. W teorii do tego momentu wszystkie zadania powinny być ukończone. W praktyce często dopiero w piątek grupujemy „zbłąkane” taski i spotkanie się przedłuża. Zliczanie punktów, grupowanie zadań i podsumowywanie postępów jest kluczowe – pozwala zweryfikować działania i lepiej zaplanować kolejny sprint. Jednak zliczanie punktów bywa nużące. Zadania się piętrzą, karteczki mnożą, a Ty toniesz w ręcznych kalkulacjach, starając się nie pomylić, zwłaszcza przy większej liczbie zadań. Było jasne, że ten proces da się zautomatyzować. Nasz zespół potrzebował rozwiązania, a ja jako osoba bez umiejętności programistycznych musiałem znaleźć sposób, by je wdrożyć. Więc rozpocznijmy nasz eksperyment: Tworzenie wtyczki za pomocą Cloude i „gptsów”

Jak wyglądało tworzenie wtyczki?

Zacząłem od przestudiowania dokumentacji Figmy dotyczącej widgetów i pluginów, a następnie „nakarmiłem” nią dwa modele: Cloude Sonnet 3.5 oraz ChatGPT, zapewniając im potrzebny kontekst technologiczny. Dodatkowo, ChatGPT zaoferował mi coś, co nazwałem „gptsy” – specjalne role nadawane mu za pomocą odpowiednich promptów oraz danych (np. z PDF-ów czy notatek). Pozwoliło mi to przypisać różne specjalizacje w ramach ChatGPT:

  • Jeden „gpts” do rozdzielenia funkcjonalności wtyczki na mniejsze elementy.

  • Kolejny „gpts” do wsparcia przy implementacji i debugowaniu. Dzięki temu najpierw rozbiłem wtyczkę na drobne moduły, a następnie CloudE Sonnet 3.5 mógł po kolei dodawać kolejne elementy. Inny „gpts” wspierał mnie przy rozwiązywaniu problemów z kodem.

    Pytania zadawane w trakcie procesu

    Spróbujcie sami, prompt poniżej :)

You are Developer GPT, a professional programming assistant who helps UX/UI
designers in writing code for plugins and widgets for Figma. You are an expert
in writing clean, efficient code for figma plugin and providing implementation
advice. Occasionally, you also offer UX/UI tips when relevant.

GOAL: Today, you will become my virtual programming assistant. Your task is to
help me write code for a plugin by offering suggestions, solutions, and code
examples. You will be responsible for supporting me in implementation and
providing practical advice.

CRITERIA FOR THE BEST PROGRAMMING ASSISTANT:

- You are specific and practical.
- You avoid generalities and lengthy sentences.
- You help me in writing code by providing examples and explanations.
- You suggest better solutions in terms of implementation and code optimization.
- Occasionally, you provide UX/UI advice when it's pertinent.
- You make task execution easier for me, knowing that I might not be an expert
  in programming.
- You assist me with valuable tips and comprehensive checklists.

STRUCTURE OF OUR SESSION:

- I will set the context of our work. I will choose one challenge to focus on.
  You will generate specific solutions or code snippets/whole code to solve it.
  You will give me a practical action plan with key steps and code if necessary.
- You will share best practices and common mistakes to help me with the
  implementation.

FORMAT OF OUR INTERACTION:

- I will inform you when we can proceed to the next step. Do not move forward
  without my command.
- You will rely on the context of this session at every stage.

INFORMATION ABOUT ME:

- My project: I am creating plugins for Figma that streamline designers
  workflows. We are building a sprint summary tool in Figjam.
- My value proposition: Figjam users can work more efficiently and creatively
  thanks to these tools.
- My target audience: people using Figjam who are looking for tools to
  facilitate their workflow and sprints.
- My current stage: I have several ideas and prototypes but need help refining
  them and effectively implementing the code.

Cloude Sonnet 3.5: Mój Szeptacz Kodów

Cloude Sonnet 3.5 stał się moim głównym narzędziem do generowania bazowego kodu. Pozwoliło mi to skupić się na tym, co robię najlepiej – projektowaniu doświadczeń użytkowników i definiowaniu celu wtyczki – podczas gdy model zajmował się logiką programistyczną. Początkowo próbowałem wygenerować całą wtyczkę za jednym podejściem. Nie był to dobry pomysł. Po kilku nieudanych próbach zdecydowałem się działać iteracyjnie, korzystając z pomocy gptsa do podziału prac na mniejsze kroki: Iteracyjne podejście obejmowało m.in.

  • Obsługę różnych metod estymacji (Fibonacci, godziny, wartości niestandardowe).
  • Odnajdywanie wartości punktowej przypisanej do karteczki.
  • Automatyczne sumowanie punktów i grupowanie zadań.
  • Dodanie wyjątków, komunikatów o błędach i wizualnego oznaczania nieplanowanych zadań.

Debugowanie wygenerowanego kodu

ChatGPT i „gptsy”: Mój Pomocnik w Debugowaniu

Gdy miałem już wstępny kod, natrafiłem na problem: interfejs wtyczki się nie ładował. Tu wkroczył kolejny „gpts”, wyspecjalizowany w debugowaniu. Dzięki niemu, przy użyciu odpowiednich promptów i fragmentów kodu, w krótkim czasie uzyskałem:

  • Wskazówki dotyczące dodania logów i komunikatów błędów, ułatwiających namierzenie problemu.
  • Pomoc w dopracowaniu sposobu, w jaki wtyczka odnajduje i sumuje punkty.
  • Udoskonalenie metody identyfikacji zadań oraz sekcji.

Planowanie prac z pomocą ChatGPT

ChatGPT z „gptsem” nie tylko dał mi rozwiązania, ale wytłumaczył również, dlaczego działają. Dzięki temu mogłem myśleć bardziej jak programista – choć na chwilę.

Co potrafi wtyczka?

Po wielu testach i udoskonaleniach powstała Summary Sprint. Oto jej kluczowe funkcje:

  • Automatyczne Podsumowania Sprintów: Natychmiastowe generowanie podsumowań planowanych, wykonanych i niewykonanych zadań w FigJam, bez ręcznych kalkulacji czy zewnętrznych narzędzi.
  • Kolorowe rozróżnienie planowanych i nieplanowanych zadań Wtyczka rozpoznaje, które zadania nie były zaplanowane (cenne podczas retrospektyw).
  • Elastyczna Estymacja Zadań: Niezależnie od tego, czy zespół korzysta z punktów Fibonacciego, estymacji godzinowych czy wartości niestandardowych, wtyczka się dostosowuje. Nie ma ograniczeń co do liczby zadań czy członków zespołu.
  • Wyjątek dla Notatek i Komunikaty: Możliwość dodawania neutralnych karteczek z notatkami, pomysłami czy blokadami bez wpływu na metryki sprintu, a także wyświetlanie komunikatów o błędach lub informujących o efektach działania wtyczki.

Fragment wygenerowanego kodu

Wnioski

Projektanci Nie Muszą Kodować Od Zera: Dzięki narzędziom takim jak CloudE Sonnet 3.5, ChatGPT oraz „gptsy” osoby nietechniczne mogą tworzyć wartościowe narzędzia. Kluczem jest iteracyjne podejście, zaczynanie od MVP i skupienie się na potrzebach użytkowników.

Moc Jasnej Informacji Zwrotnej - proces recenzji w Figmie zwrócił uwagę na problem: wtyczka „nigdy się nie ładuje”, jeśli użytkownik nie wybierze sekcji. Dodałem więc komunikat: „Nie wybrano sekcji. Proszę pogrupować zadania w sekcji, aby kontynuować.” Drobna poprawka, a znaczna poprawa użyteczności.

Jeden Krok od Błędu Podczas rozwoju wtyczka przeszła przez dziesiątki wersji. Łatwo było o „fatal error”. LLM-y pełnią rolę mentora, doradcy, a nawet asystenta od burzy mózgów, lecz trzeba nimi zarządzać świadomie. To narzędzia, a nie automatyczne rozwiązanie każdego problemu.

Co dalej?

Wtyczka jest już dostępna w społeczności Figmy, wraz z materiałami demonstrującymi jej działanie. Każda zmiana z mojej perspektywy była tak naprawdę o krok od niedziałającego kodu – doszlifowywanie wyglądu wtyczki zajęło mi zbliżoną ilość czasu co stworzenie jednej funkcjonalności. Ciężkie, złożone zadania programistyczne pozostawię jednak mojemu doświadczonemu zespołowi, który poradzi sobie z każdym problemem. Mimo to, jako ktoś, kto od lat projektuje interfejsy, miło było stworzyć coś samemu. (Wybacz, AI, za zabranie wszystkich zasług!)

Narzędzia AI pozwalają nam przekraczać własne ograniczenia. Nie trzeba być inżynierem, by stworzyć coś wartościowego – wystarczą odpowiednie nastawienie, wiedza oraz narzędzia, w tym specjalnie przystosowane „gptsy”.

Porozmawiajmy
Jeśli chcesz o coś dopytać to śmiało, chętnie podzielę się swoim doświadczeniem :)

W Blues Brackets zajmujemy się rozwiązywaniem prawdziwych problemów za pomocą najnowszych technologii.

Porozmawiajmy

<mail>hello@bluesbrackets.com
<phone>+48 535 462 678

Spotkajmy się

Kraków, PolandWrocław, PolandWarszawa, Poland

Kontakt

Blues Brackets sp. z o. o.NIP 8842824071REGON 527681035

Agile Software Development PolskaUsługi tworzenia oprogramowania metodą AgileUsługi Tworzenia Chatbotów AIAnimowane Strony Internetowe | Profesjonalne UsługiEksperci w Embedded Android i BluetoothAplikacje webowe vs desktopowe | bluesBracketsAplikacje webowe czy mobilne? Fullstack & UX/UIEkspercka firma tworząca aplikacje iOS w PolsceTworzenie oprogramowania medycznegoAplikacje mobilne dla biznesu | bluesBracketsPolski Software House | UI/UX, Fullstack, Mobile, IoTAutomatyczne testy regresji i kompleksowy developmentDedykowane oprogramowanie na zamówienieBody leasing React Native i embeddedRozwój aplikacji cross-platform (wieloplatformowych)Nowoczesny software house: Dyrektor IT jako usługa (CTO as a Service), DevOps, UX/UIDevOps jako Usługa | Doradztwo AWS CloudPolski Software House: Agile & UI/UXTworzenie oprogramowania zgodnego z EAAEdge Computer Vision i Embedded | bluesBracketsSkalowalne aplikacje desktopowe i embedded – bluesBracketsFirma konsultingowa DevOps | bluesBracketsRozwiązania AI szyte na miarę dla biznesuMigracje Data Center i IT – Bezpieczne UsługiKonsulting migracji do chmury – bluesBracketsTworzenie aplikacji Flutter | bluesBracketsUsługi Rozwoju Aplikacji FlutterOutsourcing IT i AI dla branży medycznejUsługi tworzenia aplikacji hybrydowychIntegracje systemów i wdrożenia ChatGPTBezpieczne testy systemowe i integracjaUsługi integracji systemów ITOprogramowanie IoT i Smart City | bluesBracketsUsługi inżynierii oprogramowania embedded | bluesBracketsTworzenie oprogramowania IoT dla przemysłuIoT MQTT Dashboardy i rozwiązania embeddedIIoT i Przemysł 4.0 – oprogramowanie na miaręPolski Software House | Rozwiązania IoT i EmbeddedTworzenie produktów IoT | Embedded & Fullstack Software HouseRozwój IoT i Wearable | bluesBracketsOprogramowanie IoT dla handlu, wearables, nieruchomościPlatforma zarządzania IoT i dedykowane rozwiązaniaUsługi backend i JavaScript | bluesBracketsKonsultacje Machine Learning i Rozwój Oprogramowania | UI/UX, Fullstack, Mobile, EmbeddedKoszty wdrożenia i rozwoju sklepu onlineEksperckie rozwiązania embedded i mikrokontrolerówEkspercka migracja oprogramowania | bluesBracketsMikroserwisy czy Monolit: Ekspercka ArchitekturaModernizacja aplikacji legacy dla firmUsługi rozwoju MVP | Firma tworząca MVP dla startupówDedykowane MVP i oprogramowanie szyte na miaręTworzenie MVP oprogramowania | Wdrażanie MVP i POCEksperci IoT i Embedded | bluesBracketsNB-IoT, systemy wbudowane i zwinne ITIT Nearshoring i rozwój oprogramowania PolskaUsługi Next.js i WordPressDedykowane CMS i oprogramowanie na miaręTworzenie dedykowanych aplikacji webowych | bluesBracketsAplikacje webowe & AI szyte na miaręSystemy Zarządzania i Oprogramowanie AINode.js, React i Next.js Polska – bluesBracketsFirma Node.js – zaufane usługi i rozwójRozliczenie ryczałtowe czy T&M – co wybrać?Business Intelligence dla firm | bluesBracketsTworzenie oprogramowania dla branży turystycznejTworzenie oprogramowania dla nieruchomościProfesjonalne prototypowanie oprogramowaniaDedykowane rozwiązania IT dla firm i startupówOutsourcing inżynierii oprogramowania PolskaOutsourcing Python – Polska firma offshoreFirma outsourcingowa IT — PolskaPolska firma outsourcingu ITEksperci embedded i bare metal | bluesBracketsZaufana firma offshore software development w PolsceEkspercka firma projektowa sprzętu | Własna elektronikaUsługi Proof of Concept i Proof of PrincipleProof of Concept a Prototyp – Agile SoftwareTworzenie aplikacji webowych ReactJSRozszerzanie zespołów IT dla startupów i firmKompleksowe rozwiązania IT | Software House PolskaJęzyki i usługi tworzenia aplikacji mobilnychTworzenie aplikacji mobilnych na Androida i iOSUsługi Rozwoju Aplikacji ReactRozwój produktów IoT i dedykowane oprogramowanieOprogramowanie Embedded i IoT | bluesBracketsAgencja wdrożeń LLM | bluesBracketsTworzenie progresywnych aplikacji webowych | bluesBrackets PolskaEksperckie usługi hardware | bluesBracketsUsługi rozwoju systemów wbudowanychRozwiązania embedded z RTOSRozwój oprogramowania SaaS: chmura zgodna z RODOSkalowanie aplikacji dla startupów — rozwiązania skalowalneOprogramowanie SLA & usługi zarządzane PolskaFirmy programistyczne | Rozwiązania na miaręSoftware House Polska | Tworzenie Aplikacji i Systemów WbudowanychExpert Software Migration Services | bluesBracketsSpecjalistyczne usługi inżynierii oprogramowaniaRozwój aplikacji dla sportu i ochrony zdrowiaStaff Augmentation | Rozszerzenie zespołu ITModernizacja systemów IT i dedykowane oprogramowanieRozwiązania IT dla magazynowania energii i IoTUsługi testowania jakości | bluesBracketsTesty i integracja systemów IT end-to-endTworzenie aplikacji PWA | iOS i AndroidTworzenie PWA na iOS – Aplikacje mobilneUczenie maszynowe w analizie predykcyjnejRozwiązania ML dla łańcucha dostawDedykowane usługi IT i outsourcing w PolsceRozwiązania AI Chatbot dla FirmUsługi inżynierii danych i wizualizacjiDedykowane usługi IT na żądanie | bluesBracketsRozwój aplikacji chmurowych | Polska firma ITUsługi rozwoju IoT | Internet rzeczy IoTUsługi rozwoju oprogramowania | bluesBracketsUsługi tworzenia oprogramowania na zamówienie — bluesBracketsZdalne wsparcie IT i utrzymanie aplikacjiUtrzymanie oprogramowania i modernizacja | bluesBracketsProfesjonalne usługi UX/UI designStaff augmentation czy usługi zarządzane?Warsztaty Product Discovery dla startupów i firmUsługi chmury i transformacji cyfrowejUsługi tworzenia aplikacji webowych od bluesBracketsEksperci white label dla aplikacji i IoTDedykowane systemy do zarządzania projektamiLiderzy Java w Polsce – zatrudnij ekspertówZatrudnij dedykowany zespół IT w PolsceZatrudnij dedykowany zespół IT w PolsceDedykowane zespoły programistyczne w Europie