#BuildInPublic
Documented journey of me building PyUIBuilder
View on Twitter

> Guess what I am building??? pic.twitter.com/S21rqVhOR2

> — Paul (@pauls_freeman) August 4, 2024

...
I stopped working on this after making the base because I ran out of funds, was looking for clients...

...
After working on the clients project client refused to pay up :(. I took some time off to build another small tool...
...

> I am building a tool to help you select the right font for your landing page. You'll be able to browser 1000+ fonts right on your website and copy the code for it.
> Let me know what you think!
> watch the demo 👇️#buildinpublic #uiux pic.twitter.com/MTYoVFIHWt

> — Paul (@pauls_freeman) August 23, 2024

...

The client refused to Pay up, so I tried raising funds, but no luck :(
...

> I am starting a kickstarter campaign to fund a python GUI builder and 3 other open-source tools. If interested feel free to sponsor via @kofi_button https://t.co/DobD69p1BN

> — Paul (@pauls_freeman) September 6, 2024

...

Again not luck. So I decided to go all in with the little money left...
...

> $5 for open-source from @buymeacoffee team 🥳. Now just $3495 to go 🚀. For every $5 raised, I'll show a preview of what I am working on now. https://t.co/Tr5bvcNr89 pic.twitter.com/LLLaialgSi

> — Paul (@pauls_freeman) September 9, 2024

...

No more money raised after this point...
...

...

> Still in early development.#buildinpublic pic.twitter.com/PGxrcPo82Q

> — Paul (@pauls_freeman) September 14, 2024

> Aaaahhh... going to rewrite dragging using the html drag API instead of the react dnd-kit. Hope it doesn't mess up everything.

> — Paul (@pauls_freeman) September 15, 2024

> Only top 1% of the programmers can solve this 🙀.
> There are two divs, one inner and outer. The inner div is responsible for zoom and pan (css transforms).
> Now, during drop event you get client(x, y) position, now using this find the correct drop position relative to inner div pic.twitter.com/iyb3E2fHpb

> — Paul (@pauls_freeman) September 15, 2024

> The base is almost done, but still very early in development.#buildinpublic pic.twitter.com/3zsBAVi8aI

> — Paul (@pauls_freeman) September 17, 2024

> One of the hardest UI project I am working on seems to take for ever. A lot of thinking.... pic.twitter.com/PxlorbXOvy

> — Paul (@pauls_freeman) September 17, 2024

> Building hard things are hard.
> For more such wisdom, follow 🥴

> — Paul (@pauls_freeman) September 18, 2024

> Still long way to go... pic.twitter.com/InhfOxNeWe

> — Paul (@pauls_freeman) September 18, 2024

> Had a unidentifiable bug, was trying to find the source for hours, got tired, went to sleep.
> The answer came to me at 3 AM when I was sleeping -> woke up -> wrote it on a piece of paper -> went back to sleep.
> Fixed the bug when I woke up again.

> — Paul (@pauls_freeman) September 19, 2024

> TODO and FIXME in my codebase#buildinpublic pic.twitter.com/7IF0SF4UNV

> — Paul (@pauls_freeman) September 20, 2024

> I finished working on Drag and drop, look what I made using the prototype of DND 🤩#buildinpublic pic.twitter.com/PnY4UTxCC1

> — Paul (@pauls_freeman) September 20, 2024

> A React component in my code has gone over 900+ lines 😵‍💫. Will have to refactor after putting out the MVP. pic.twitter.com/hftJer5MSO

> — Paul (@pauls_freeman) September 21, 2024

> Swappable and droppable layout is kinda ready. The program switch between swap and drop by checking if the drop is in the black rect or the colorful rect. (black rect swap, else drop)
> Ofc, now this isn't ideal, but prototype I think its fine.
> (self note)#buildinpublic pic.twitter.com/L3TRtj3Gw1

> — Paul (@pauls_freeman) September 21, 2024

> Planning on fixing this FIXME's today.
> Hard parts will be done, tomorrow will be working on much simpler parts. pic.twitter.com/Go7xNOyxQk

> — Paul (@pauls_freeman) September 21, 2024

> The first window is ready pic.twitter.com/E52SLDIlqj

> — Paul (@pauls_freeman) September 22, 2024

> I made this colorful boxes with the tool I am building 🤩 pic.twitter.com/Y41R72oM86

> — Paul (@pauls_freeman) September 22, 2024

> Made some more progress... pic.twitter.com/XI8QTajdvt

> — Paul (@pauls_freeman) September 23, 2024

> Still work in progress..... :), pretty soon will release the initial version pic.twitter.com/5SFnAdgKEd

> — Paul (@pauls_freeman) September 24, 2024

> Working on layout manager today, tomorrow will start with code generation :)

> — Paul (@pauls_freeman) September 24, 2024

> Updated toolbar styling. Now collapsible toolbar headings. :) pic.twitter.com/jThwx7Qcpz

> — Paul (@pauls_freeman) September 24, 2024

> I should definitely rewrite my project in TS. Will do it as soon as I release the initial version.
> Should have started in TS, never thought the project would get too complicated :(

> — Paul (@pauls_freeman) September 25, 2024

> spent most of my time building and debugging the grid layout today :(. Should speed things up

> — Paul (@pauls_freeman) September 25, 2024

> Aaaa here are the grid monkeys...... 😵‍💫.
> I worked on making the grid layout work 🤩 pic.twitter.com/99Ff7yMdGU

> — Paul (@pauls_freeman) September 25, 2024

> Added smoother toolbar animation. If none of the widgets is selected the toolbar moves to the side :) pic.twitter.com/ZVaf98NalB

> — Paul (@pauls_freeman) September 26, 2024

> Code generation :) pic.twitter.com/IF8A4EgBZ0

> — Paul (@pauls_freeman) September 26, 2024

> Added file upload dropdown on the toolbar 🚀 pic.twitter.com/P0bitfWO6N

> — Paul (@pauls_freeman) September 27, 2024

> added more attributes + added a delete button to uploaded media, which can now be deleted. :> pic.twitter.com/xosXYlBzaL

> — Paul (@pauls_freeman) September 27, 2024

> added more attributes to plugins pic.twitter.com/i2Gy9ZB4V5

> — Paul (@pauls_freeman) September 28, 2024

> I am sooo tired....

> — Paul (@pauls_freeman) September 28, 2024

> I made doggo :) pic.twitter.com/Nnmx5D4Xga

> — Paul (@pauls_freeman) September 28, 2024

> aaahh... it finally worked, the build command for cloudflare react app pages should be
> ```
> CI='' npm run build
> ```
> It sucks that it was not mentioned in the docs. The cloudflare logs are also not that obvious :(

> — Paul (@pauls_freeman) October 1, 2024

...

That's it for now 😅. For more updates Follow me
Want to support the development?
Get a license

### Faq

Is the source code available?
Yes, this is an open-source project, you can visit the source code on Github
Can I try the PyUIbuilder for free?
Yes, the PyUIbuilder is free to use forever, however to support open-source development, some features are only available to premium users.
What frameworks and UI libraries are supported?
For now Tkinter and CustomTk are supported soon there will be support for Kivy and Pyside
Where can I find the upcoming features?
You can find the upcoming features on the Roadmap