Our own work

We didn’t build a website.
We built a business operating system.

Everything you see on amdgcore.com — the website, the admin panel, the bookings engine, the client portal, the AI assistant, the payment infrastructure — was designed, coded, and deployed by us, for us. This is what we can build for you.

98
PageSpeed Score
<1.5s
Avg. Load Time
7
Integrated Systems
0
WordPress Dependencies

The Brief We Gave Ourselves

Running a web agency from Belfast that serves clients in the UK, Ireland, and Brazil means operating across time zones, languages, and currencies. We needed infrastructure that matched the quality we promise clients — fast, reliable, fully owned, and built to scale.

We rejected WordPress, page builders, and SaaS platforms that would charge us monthly for features we could build ourselves. Instead we designed a full-stack system from first principles: a hand-coded public website, a private admin panel, a client-facing portal, an AI sales assistant, and the full commercial infrastructure to run the business.

Everything is ours. No vendor lock-in. No monthly platform fees. No black boxes we can’t open when something breaks at 2am.

The Website

Premium design. No framework. No CMS.

amdgcore.com is entirely hand-coded HTML, CSS, and vanilla JavaScript. No React. No WordPress. No page builder. Every pixel is intentional — dark premium aesthetic, gold brand accents, Cormorant Garamond for headlines, Outfit for body copy.

The site automatically detects whether the visitor is browsing from Brazil and switches language and content to Portuguese seamlessly — same URL, no redirects, driven entirely by client-side geolocation and a html[lang] flag that CSS and JavaScript react to.

  • 98/100 Google PageSpeed on mobile and desktop
  • Sub-1.5 second load time served via Cloudflare CDN
  • Fully bilingual — English and Portuguese (pt-BR)
  • Structured data (JSON-LD) for Google rich results
  • Canonical tags, hreflang, and sitemap for multi-region SEO
  • Zero render-blocking resources; all fonts preconnected
  • Dark theme only — consistent, premium, and unconventional

Why not WordPress? WordPress sites routinely score 45–65 on PageSpeed due to plugin overhead, unoptimised asset loading, and database queries on every page view. Our static approach achieves 98. That difference is the difference between ranking on page 1 and page 3 on Google.

98 PageSpeed

Mobile and desktop, verified via Google Lighthouse

Bilingual

Automatic EN ↔ PT-BR switching by visitor location

Cloudflare CDN

Global edge caching, DDoS protection, origin certificates

Hand-coded

Zero CMS, zero framework, zero plugin dependencies

HTTPS + Security

Strict headers, HSTS, CSP, and origin cert on both servers

Mobile-first

Responsive down to 320px with no layout breakage

The Admin Panel

A fully custom internal dashboard at admin.amdgcore.com — the nerve centre of the business. Everything that runs the agency lives here, accessible from any browser, on any device, anywhere in the world.

Booking System

A fully custom calendar with configurable availability windows, advance notice rules, and per-day slot limits. Clients book directly on the site, receive automated confirmation emails, and can self-manage or cancel via a secure link. Admin can view, create, edit, or delete bookings and block dates without touching any code.

Client Management

Every client has a dedicated record with contact details, project history, language preference, assigned portal access, and contract status. Admin can filter by status, language, and pipeline stage. New clients added here automatically get portal access with an onboarding email in their language.

Project Briefing System

Clients complete a structured digital brief through the admin panel. The brief captures brand information, target audience, content, design preferences, and technical requirements. When complete, the system can auto-generate a PDF proposal with one click — formatted, branded, ready to send.

Email Campaign Scheduler

A full campaign management system for sending bilingual email campaigns to segmented lists. Supports scheduled sends, test emails, delivery tracking, and per-recipient open/click logging. Built on top of AWS SES for scale, with Resend as the transactional fallback. Campaigns can be drafted, reviewed, and queued weeks in advance.

Social Media Manager

Publish to Facebook, Instagram, LinkedIn, and TikTok from a single interface. Content is drafted, reviewed, and scheduled from within the admin panel. Supports image uploads to Supabase storage, post scheduling, and cross-platform publishing — no third-party social scheduling tool required.

Sales Portal & Commission Tracking

A dedicated area for sales team members with their own login, lead pipeline, and commission statements. Admins assign leads, track conversions, and calculate commissions automatically. Sellers see their own dashboard with active leads, earnings to date, and pending payouts — without needing access to the full admin panel.

Mobile access: The admin panel is fully responsive. Every section — bookings, clients, campaigns, briefings — works on iPhone and Android without a native app. Gustavo manages bookings from Belfast; the system works from any phone, anywhere.

The Client Portal

Every client gets their own access to portal.amdgcore.com — a private dashboard where they can track their project, access deliverables, review briefs, and communicate with the team.

Authentication is handled by Supabase Auth with email magic links and password recovery. The portal detects the client’s language automatically and switches between English and Portuguese — no separate PT version to maintain.

  • Supabase Auth — email magic links, no weak passwords
  • Per-client Row Level Security — clients see only their own data
  • Bilingual UI — automatically switches by client language setting
  • Project status tracking with stage-by-stage progress
  • Document and file access for delivered assets
  • Onboarding email sent automatically on account creation

Row Level Security by default

Every Supabase table has RLS enabled. A client who knows another client’s user ID cannot access their data — the database enforces this at the row level, not the application layer. Security that survives bugs in our own code.

Bilingual onboarding emails

When a client account is created, the system detects their language and sends a branded welcome email in English or Portuguese — with their portal link, access instructions, and contact details — automatically.

Wee Core — The AI Assistant

Wee Core
Wee Core
AI ASSISTANT • ONLINE
Hi there! I’m Wee Core, AMDG Core’s AI assistant. I’m trained on everything we do — services, pricing, timelines, FAQs. What can I help you with today?
How long does a website take?
Most Foundations sites are live in 7–10 days. Masterpiece and Premium Core projects run 3–6 weeks depending on content and revisions. Want me to walk you through what each package includes?

Always online. Fully trained. Never misses a lead.

Wee Core is our AI virtual assistant — a custom-trained chatbot that knows our pricing, timelines, services, FAQs, and process in detail. It sits on every page of the site and handles questions at any hour, in any time zone.

On mobile it appears as a bottom sheet — the same pattern used by the best native apps — so users can read and type without the chat window covering the page. On desktop it’s a floating panel. One tap to open, one tap to close, keyboard shortcut (Esc) to dismiss.

  • Self-injecting script — one line added to any page
  • Mobile bottom sheet with drag handle and backdrop
  • ESC key and backdrop click to close
  • Zero layout shift — doesn’t affect page content
  • Trained on services, pricing, FAQs, and process
  • Available as an add-on for any client website (AI Companions)

Supabase — The Data Backbone

Every piece of structured data in the AMDG Core system lives in a Supabase PostgreSQL database. Supabase gives us a hosted Postgres instance with a REST API, real-time subscriptions, built-in authentication, and S3-compatible file storage — all under our control with no per-seat pricing.

PostgreSQL Database

Bookings, clients, email logs, newsletter leads, QR links, campaigns, portal users, sales leads — all in structured, relational tables

Row Level Security

RLS enabled on every table. Clients can only see their own data. Sales reps can only see their own leads. Security enforced at the database layer.

Auth

Magic link login, password recovery, JWT sessions. Powers the client portal with no third-party auth service required.

Storage

S3-compatible file storage for logo assets, media, and client deliverables. Served via CDN with access control per bucket.

REST API

Every table is queryable via a PostgREST API with full filtering, ordering, pagination, and auth header support — no custom API endpoints needed for basic CRUD.

No vendor lock-in

It’s Postgres. We can export the entire database, migrate to any provider, and run it ourselves if Supabase ever changes its pricing. Data sovereignty matters.

Stripe — Full Commercial Infrastructure

Payments, subscriptions, and invoicing are handled via Stripe, connected to our admin API via a dedicated webhook handler. When a payment succeeds, fails, or a subscription renews, the system reacts instantly.

The dunning system is particularly important: when a payment fails, the system doesn’t just log the error. It sends a branded, bilingual recovery email with a direct payment link at configured intervals — 1 day, 3 days, and 7 days after failure — before escalating to a manual review flag in the admin panel.

  • Stripe webhooks for real-time payment event handling
  • Automatic dunning emails for failed payments (3 attempts)
  • Bilingual recovery emails — English for UK/IE, Portuguese for BR
  • Payment links generated per client from the admin panel
  • Contract revocation on non-payment after grace period
  • All payment events logged to Supabase for audit trail
Payment fails

Stripe fires a webhook. Admin API receives it instantly and logs the event.

Day 1 — First recovery email

Branded email sent in the client’s language with a direct payment link and a friendly tone.

Day 3 — Second reminder

More direct. References the outstanding balance and the contract terms.

Day 7 — Final notice

Final automated email. Admin panel flags the case for manual review.

Contract revocation

If unresolved, the contract is voided and the client is notified automatically via email.

Email Infrastructure

Every email the business sends — booking confirmations, password resets, contract notifications, payment receipts, newsletter campaigns, dunning reminders, onboarding sequences — comes from the same infrastructure, branded consistently, and logged to a central audit table.

Resend (transactional)

All transactional emails — welcome, booking, recovery — go through Resend’s API for reliability and delivery tracking

AWS SES (campaigns)

Bulk campaign emails use Amazon SES for volume and cost. The campaign scheduler batches and sequences sends automatically.

Bilingual templates

Every email has an EN and PT-BR version. The system selects automatically based on the client’s language setting — no manual switching required.

Send log & audit trail

Every email sent is logged to Supabase with provider, recipient, type, status, and message ID. Full audit trail for compliance and debugging.

Premium HTML templates

All emails use a table-based HTML template compatible with Outlook, Gmail, Apple Mail, and mobile clients — dark/light mode safe, with the AMDG Core brand throughout.

Newsletter capture

Website pop-up captures email addresses to a Supabase table, immediately sends a branded welcome email with a 10% discount code via Resend.

Self-hosted Analytics.
No Google. No Cookies.

We run Umami — an open-source analytics platform — on our own server. Every visit to amdgcore.com, amdgcore.ie, and our client sites is tracked privately, without cookies, without GDPR consent banners, and without sending any data to Google.

Umami gives us page views, sessions, referrers, countries, devices, and conversion events — everything Google Analytics provides — but the data never leaves our infrastructure.

  • No cookies — no consent banner required
  • GDPR compliant by architecture, not by policy
  • Real-time dashboard accessible from admin.amdgcore.com
  • Custom events (form submissions, CTA clicks, bookings started)
  • Tracks all AMDG domains from one dashboard
  • Data owned entirely by us — never sold, never shared

Why this matters for your business: Google Analytics 4 requires a cookie consent banner which, on average, reduces tracked sessions by 30–40%. With Umami, you get 100% of your analytics data without annoying your visitors or hiring a GDPR consultant.

Available for your site

We can deploy Umami tracking on any website we build. Your analytics data lives on our server, not Google’s. Ask us about analytics when you get in touch.

Infrastructure & Deployment

Two dedicated Hetzner servers (CAX21 in Germany for internal tools and staging; CAX11 for client production sites), connected via a private Tailscale VPN. Nginx handles all routing with strict security headers, HSTS, and origin certificates. PM2 keeps Node.js services alive and auto-restarts on failure. Cloudflare sits in front of everything.

Two dedicated servers

CAX21 (internal/staging) + CAX11 (client production). Segregated for security and stability.

Cloudflare

CDN, DDoS protection, origin certificates, always-on HTTPS, and edge caching on every domain.

Nginx

Reverse proxy for all services. Clean URLs, security headers, SSL termination, and multi-domain routing.

PM2 process manager

Node.js services auto-start on boot, restart on crash, and log output for debugging. Zero downtime deployments.

GitHub

All code version-controlled. Deployment is a git pull + restart. Full commit history for every change ever made.

Tailscale VPN

Private network between both servers and team devices. SSH access to CAX11 is only possible from CAX21 via VPN — no public SSH attack surface.

Full Technology Stack

HTML5 CSS3 Vanilla JavaScript Node.js Supabase PostgreSQL Stripe Resend AWS SES Cloudflare Nginx PM2 Umami Analytics Tailscale VPN Hetzner VPS Let’s Encrypt GitHub Cormorant Garamond Outfit Bilingual EN + PT-BR JSON-LD Structured Data hreflang Multi-region SEO Row Level Security (RLS) Magic Link Auth Webhook Handler PDF Generation QR Link Redirects AI Virtual Assistant

If this is what we built for ourselves —
imagine what we can build for you.

Every system described on this page is available for your business. Whether you need a fast, professional website or a full commercial operating system with bookings, portals, payments, and AI — we build it the same way we build for ourselves: from scratch, with precision, and built to last.