~/donatas
available for freelance work

Full-stack developer based in Cambridge, UK. I build custom web systems that run real businesses: payments, bookings, admin panels, databases, all coded by hand, with no framework hiding what's actually happening under index.html. The result: pages that load fast, servers that cost less to run, and a system that's completely yours.

๐Ÿ“ Cambridge, UK โœ‰ icy.codeuk@gmail.com โ—† Full-stack / PHP ยท JS
donatas@cambridge โ€” zsh
donatas@cambridge:~$ welcome
Type help for commands, or jump straight to play for a live demo with a real MySQL leaderboard.
donatas@cambridge:~$
Live demo, right there in the terminal โ†‘. Real MySQL leaderboard.
~/

why-me.md

</>// why no framework

No dependency tree to patch. No bloated libraries slowing things down.

Just fast page loads, lower server costs, and a system that keeps running without surprise breakage. You get complete ownership of truly custom code, free from the plugin hell, rigid templates, and constant update cycles of platforms like WordPress or Wix. It's the kind of detail that matters less to a portfolio and more to whoever's paying the hosting bill.

โ—†// why work with me

I like building things that actually work โ€” not shipping something and disappearing.

I've seen people quoted eye-watering prices for a template with their logo slapped on, or left waiting weeks for a reply because they're client #47 on some agency's list. Work with me and you're talking directly to the person writing the code โ€” no account manager in between, no jargon you need translating, no surprise scope creep once you've paid a deposit. If something's unclear, ask. If a feature isn't worth the cost, I'll tell you honestly rather than pad the invoice.

~/

process.sh

Every project is built from scratch for your business, not assembled from a template. That means real security (bcrypt, CSRF tokens, rate limiting, hardened sessions), a database designed around what you actually do, and a site only you can log into. No marketplace gig re-skinned for the next client.

01

Enquiry

Fill in the quote form โ€” attach mockups or screenshots if you have them.

02

Instant estimate

You get a preliminary price range immediately, no waiting.

03

Confirmed quote

I review everything and email a firm price within 24โ€“48 hours.

04

Build

Development happens with regular updates as we go.

05

Launch & support

Site goes live, hosting/DNS handled, and I'm around after for fixes.

~/

projects.md

Sharon's Flower Memories

A complete digital operations platform for a UK resin flower-preservation studio โ€” online shop, custom order bookings, gift cards, and a full admin back office, built entirely from the ground up.

sharonsflowermemories.com โ†—

Frontend

  • Single index.html serving every page of the site
  • Vanilla HTML / CSS / JavaScript โ€” no framework, no build step
  • Responsive shop, gallery and booking flow

Backend

  • Vanilla PHP, core logic in sfm-api.php
  • MySQL database on Hostinger (db_sfm_production)
  • Admin panel admin.php with PHP session auth

Payments

  • Stripe Payment Intents API for checkout
  • Dedicated stripe-webhook.php for async event handling
  • Order + payment status kept in sync automatically

Automation

  • Google Apps Script for transactional emails
  • Google Sheets used as a live backup ledger
  • Hosted on Hostinger Business
database schema โ€” 11 tables
customers orders order_status_history bookings contact_messages gift_cards packages blocked_dates admin_settings gallery_items shop_items
query console โ€” try it
mysql -u sfm_app -p db_sfm_production
mysql> click a query above to run it
// illustrative sample data โ€” not live production values

This site โ€” icycode.co.uk

The portfolio you're looking at right now isn't a static page. It's a live technical demo where every claim about the stack is something you can actually run, right here, right now. Open the terminal, query the database, and watch the hand-written architecture work.

icycode.co.uk โ†—

Frontend

  • Single index.html, vanilla HTML / CSS / JavaScript
  • No framework, no build step โ€” what you see is what's deployed
  • Custom IDE/terminal-themed UI built from scratch

Backend

  • game-api.php โ€” vanilla PHP, PDO, prepared statements
  • Bounds-checked input validation on every write
  • Hosted on Hostinger Business, same as the client project above

The game

  • "Terminal Sprint: Hack the Stack" โ€” type play above
  • 5 questions drawn at random from a 100-question pool
  • PHP ยท MySQL ยท JavaScript ยท Stripe ยท security ยท web fundamentals

Live data

  • Scores write to a real MySQL table, not mock data
  • Leaderboard renders straight from a live GET request
  • Same query console pattern as the project above โ€” except here it's live, not sample data
database schema โ€” game_leaderboard
id name score time_ms created_at
query console โ€” try it (live, not illustrative)
mysql -u game_app -p u889340746_game
mysql> click a query above to run it
// genuinely live โ€” hits the same game-api.php endpoint the leaderboard uses
~/

skills.json

stack overview โ€” no framework, just fundamentals
"languages"
PHP JavaScript (ES6+) SQL HTML5 CSS3 Bash JSON
"backend"
Vanilla PHP MySQL REST APIs Session-based auth Database schema design Webhooks Cron-style automation
"security"
PDO prepared statements Password hashing Input validation & sanitization CORS configuration XSS / CSRF mitigation Webhook signature checks
"payments_integrations"
Stripe Payment Intents API Stripe Webhooks Google Apps Script Google Sheets API
"frontend"
Vanilla JS / DOM Responsive CSS Single-file architecture No-build-step delivery Fetch API & async/await State machines CSS Flexbox / Grid
"tools_workflow"
Git version control phpMyAdmin Composer API testing (curl / Postman) DevTools debugging
"infrastructure"
Hostinger Business cPanel Production deploys Live client systems DNS & domain management SSL/TLS
~/

contact.sh

# run this to reach me
send_message("icy.codeuk@gmail.com")
โœ‰ icy.codeuk@gmail.com ๐Ÿ“ Cambridge, UK
# or skip the email โ€” get a preliminary price instantly
get_quote("your project")

Have a project in mind? Fill in a short form โ€” attach mockups or screenshots if you have them โ€” and get an instant preliminary estimate. I'll confirm the final price within 24โ€“48 hours.