About Gio / Giorgi
I build thingsfor the web.
Mostly React, increasingly the whole stack. I like a small idea executed carefully more than a big idea executed loosely — and I like shipping it to a real domain even more.
- 01React
- 02Next.js
- 03TypeScript
- 04JavaScript
- 05HTML
- 06CSS / SCSS
- 07MUI
- 08Laravel
- 09PHP
- 10MySQL
- 11Supabase
- 12Git / GitHub
- 13Vercel
01 / What I build
Pick one.Five kindsof making.
Each one changes what the work
looks and sounds like.
Interfaces that hold up.
React and Next.js, TypeScript when a project is big enough to want it. I care about the parts people never notice: layout that survives long strings, keyboard focus that goes where you expect, and no layout shift while fonts load.
From the form to the row.
Laravel and PHP with MySQL on the server side, Supabase when a project wants auth and a hosted database quickly. Tempest Archive is the largest: a linked content model, accounts, and every route prerendered for search.
Motion with a reason.
Interaction should explain something: what changed, where it went, what is possible now. I build it with CSS and small amounts of TypeScript first, and reach for a library only when it earns its weight.
One job, done properly.
Five browser applications that do real work locally: PDF operations, image compression, Markdown to PDF, file conversion, QR codes and barcodes. No uploads, no accounts, real output verified in tests against the produced bytes.
Small studies.
The wire sculpture on the home page is one: deterministic geometry rendered on the server, then animated only in response to a pointer. This site itself is another — every section enters differently, on purpose.
02 / How I build
Idea to shipped.A short path,walked carefully.
Five steps. The last one
is the one most people skip.
- 01
Start with a real problem.
A tool I wanted, a site that did not exist yet, a thing a friend kept asking for. If I would not use it, I do not build it.
- 02
Decide what it feels like.
Type, rhythm and hierarchy before colour. Mobile layouts drawn separately, not squeezed from desktop. Motion planned as part of the design, not added after.
- 03
Write code someone can read.
Small components, honest names, no clever abstractions until the third repetition. Data models get the most thought; they are the hardest thing to change later.
- 04
Sweat the last five percent.
Focus states, reduced motion, slow connections, long names, empty states. Performance measured, not assumed. This is where a project starts to feel finished.
- 05
Put it on a real domain.
Everything here is deployed and public. Shipping is how you find out what was actually wrong, and unshipped work helps nobody.
03 / In practice
Shown, not claimed.What each projecttaught me.
Tempest ArchiveContent archive & web app
Content architecture, spoiler-aware filtering, accounts, and prerendering several hundred routes for search. The largest thing I have built.
QUIREBrowser application
Laying out a document and writing a real PDF in the browser — searchable text and working links, not a screenshot.
KILOBrowser application
Canvas API image processing at batch scale, with a comparison view so quality is judged by eye, not by number.
FolioBrowser application
A page-level document workflow on pdf-lib and pdf.js: merge, split, compress and convert without anything leaving the tab.
TransmuteBrowser application
Three conversion families behind one drop zone, with the awkward cases (JPG transparency, GIF palettes, PDF page sizes) handled and explained rather than hidden.
04 / Selected source
github.com/geopero123Read thesource.
The tools are public. Tempest Archive's
code is not, but the site is.