Ufolio.Space

Ufolio.Space is a dynamic website that allows users to instantly create a portfolio website with a custom theme, which will automatically adapt based on the content they upload.

Dynamic Portfolio Website Builder

2023-03-24

Ufolio.Space

Development Notes

Ufolio.Space is built with a PHP framework called Laravel. Laravel is flexible in that it allows you to either create a “monolith” application (in which the frontend and backend are all part of the same code base), or to create a REST API as a standalone backend codebase, which you can plug a separate frontend codebase into. Currently, Ufolio.Space is a monolith. Since it was my first project created with Laravel, I wanted to focus in on the Laravel framework with no distractions as I programmed. However, now that I am comfortable with Laravel, I think it would be beneficial to split the backend from the frontend for Ufolio.Space to scale.

Planned Refactoring

After doing a bit of research, I want to split Ufolio.Space into a Laravel REST API with a Flutter frontend. Flutter is promising because it allows you to create a single frontend codebase, which can be deployed to the web, iOS, Android, MacOS, Linux, and Windows. If successful, splitting Ufolio.Space into a Laravel backend with a Flutter frontend would create a versatile, cross-platform application.

Flutter Tangent (Tl;dr: My phone can be laggy)

I have noticed that the couple of Flutter applications that I have tested on my Pixel 6 Pro phone have some minor lag, notably on scrolling through content sections. However, I also know that the Pixel 6 lineup with the Tensor G1 chipset had inherent issues at launch, even to the point that Google Chrome would cause noticeable GPU lag spikes on my personal phone whenever I hit the top of webpages that utilized JavaScript scroll event listeners (a major debugging nightmare for me on a couple of my past projects).

I even programmed around this (now fixed) Android Google Chrome bug on Gag Combos Info, in which previously the <body> tag would not scroll, but instead there was a page-wide wrapper which scrolled, preventing Android’s “elastic overscroll” effect from triggering. The Google Chrome issue has since been fixed on my Pixel 6 Pro (and this workaround was remove from Gag Combos Info), and therefore I feel at worst hopeful, if not entirely confident that the minor lag I experienced on the Flutter apps I tried to be isolated to my specific chipset, with a promising future outlook. At best, Flutter is going to make Ufolio.Space my best project to date.

Moving Forward

All this considered, Ufolio.Space is currently in a bit of limbo. I usually like to dedicate a single project to learning each new web framework. Therefore, ideally I will create a standalone Flutter project before I dive into this major refactor of Ufolio.Space.

Nonetheless, feel free to check out Ufolio.Space as it currently stands, and feel free to contact me with any feedback!