VulCode

Aphrodi: the website and client panel of a creative agency

Aphrodi is a creative agency: visual identity, interface design, video and copy. We built its website with a content back end and analytics of its own, and the panel where the agency's clients run their projects, payments and referrals.

The Aphrodi site on a desktop
The Aphrodi site on a phone

The Aphrodi website

The dark, moody look of Aphrodi's design, carried into code without simplifying it: services, the agency, pricing with category pages, a blog, questions and contact.

Aphrodi

  1. A pixel-perfect build of the design

    Page transitions, scroll motion and the design's hover states on every element.
  2. Content from its own back end

    Services, projects, questions, pricing and the blog read from the API, with a prerender serving ready HTML.
  3. In Polish and English

    Every page in both languages, and every blog post with its own address, title and Google description in each.

One identity on the site and in the panel

The palette, typefaces and corner radii of Aphrodi's design are written into the code as one set of tokens. The site and the client panel carry the same values in their code, so every screen looks like the same brand.

The Aphrodi blog: knowledge and inspiration

Palette

  • Background#1E1511
  • Sections#2A1C14
  • Cards#3A261A
  • Borders#543826
  • Text#FDFBF7
  • Secondary text#D4C5B9
  • Gold#D4AF37
  • Gold on hover#F1D570

Typefaces

  • Outfitheadings
  • Interbody text
  • JetBrains Monocodes, links and invoice numbers

Corner radii

  • Buttons6 px
  • Cards10 px
  • Panels14 px

A blog and content without a developer

The Aphrodi team runs the blog, projects and services itself, in an admin panel behind a sign-in. The site reads everything from the back end's own API.

  1. A post in the admin panel

    One form for both language versions.

    • Title, subtitle, excerpt and body in Polish and English
    • A cover from files uploaded to the server
    • Blog categories the team creates itself
  2. A draft, then publication

    A post waits as a draft until the team publishes it.

    • A publication date set on the post
    • Its own address in each language
    • A Google title and description in each language
  3. A ready page

    The back end serves the content through its API and a prerender serves ready HTML.

    • Services, projects, questions, pricing and the blog from one API
    • A sitemap generated by the back end
    • An llms.txt file and JSON versions of the pages for AI assistants

An offer laid out across its own pages

Each of Aphrodi's eight services has a page with its description and a list of what it covers, and the pricing has its own category of packages for it. All of it in both languages.

  • Visual identity

    • A logo in primary, monochrome and negative versions
    • A colour palette with RGB, CMYK and HEX codes
    • A brand book in PDF and an editable file
  • Web design (UI/UX)

    • Information architecture and a sitemap
    • An interactive prototype in Figma
    • A design system with reusable components
  • Print and merchandise

    • DTP design ready for print
    • Designs for posters, roll-ups and catalogues
    • Designs for T-shirts, bags, mugs and packaging
  • Social media

    • Post and story templates
    • Ad creatives for campaigns
    • Editable files in Canva or Figma
  • Graphics and illustrations

    • Vector illustrations in the brand's style
    • Infographics and campaign key visuals
    • Characters and brand mascots
  • Video editing

    • Reels in the 9:16 format
    • Ad spots and product videos
    • Colour grading, captions and sound
  • 3D models

    • Models of products and objects
    • Photorealistic renders and packshots
    • Models prepared for 3D printing
  • Copywriting

    • Website copy
    • Product and category descriptions
    • Blog articles written for SEO

Analytics with no third-party scripts

The site records its traffic on our server, and the Aphrodi team reads the results in the admin panel for the last 7, 30 or 90 days.

What every page view records

  • Page and language

    The address of the page visited and its language version.

  • Where the visitor came from

    The website the visit came from.

  • Referral code

    A partner's code, when the visit began from a link with one.

  • Scroll depth

    How far down the page the visitor scrolled.

  • Time

    How long they stayed on the page.

  • Session

    The page views of one visit tied together.

What the team sees in the admin panel

  • Traffic over time

    Sessions and page views day by day on a chart.

  • Most viewed pages

    Each with its average scroll depth and time.

  • Paths

    The most common routes visitors take through the pages.

  • FAQ questions

    Clicks on each question, by section.

  • Events

    Site events counted by type and detail.

  • The last 24 hours

    Page views in five-minute slots and the latest events.

Referrals, enquiries and the newsletter

Three ways a visitor becomes a contact of the agency. Each one ends in a notification for the team.

  • Referral codes

    The team creates a code with a description in the admin panel and hands the link to a partner.

    • A visit from the link keeps the code for the whole visit
    • Sessions and page views counted per code
    • A notification for every visit from a code
  • Enquiry form

    A visitor describes the project in one form.

    • Name, email and phone
    • Project type, budget and deadline
    • The enquiry with every field reaches the team at once
  • Newsletter

    A sign-up for news on the topics the visitor picks.

    • An email address and the chosen categories
    • The list of subscribers in the site's database
    • A notification for every new sign-up

The Aphrodi client panel

An agency client signs in to a panel in Aphrodi's identity and finds everything about their work there: projects, payments, conversations with the team and news.

The overview of the Aphrodi client panel on a demo account
  • Overview

    The wallet balance, active projects, unread replies and recent activity on one screen.

  • Projects

    The budget and progress of every project, and inside it the details, schedule, reports, chat with the team and documents.

  • Billing

    Invoices and transactions, a wallet topped up with an online payment and invoices paid from the wallet.

  • Support

    Tickets with the conversation history, Markdown text, attachments and extra participants.

  • News

    Announcements, the blog, a changelog and the roadmap, with an unread count in the menu.

The affiliate programme in the panel

Every Aphrodi client can refer the agency onwards. The panel runs the whole referral, from the link to the commission in the wallet.

  1. A link with a code of one's own

    The client copies the referral link from the panel and can change its code to one of their own.

  2. A discount for the referred client

    The referred client gets a percentage or fixed discount, and the referral stays valid for a set time or without a limit.

  3. Commission from payments

    The referred client's payments earn a commission, and the team can set a separate rule for a chosen person.

  4. Wallet and history

    The commission lands in the wallet the client pays invoices from, and the panel shows clicks, referred clients and the commission history.

The client's account and security

Clients manage their panel account themselves, and every sensitive change needs a password or a link from an email.

Account

  • Sign-up

    An account opened with an email address the client confirms with a link.

  • Invoice details

    Company name, tax number and address in the account settings.

  • Notifications

    For projects, tickets, billing and news the client chooses whether they arrive in the panel or by email.

  • Account deletion

    Confirmed with the password and a link from an email, with time to cancel.

Security

  • Password reset

    A link to the email address when a client forgets the password.

  • Password change

    Only with the current password, and the new one has at least 8 characters.

  • Email change

    Takes effect only after the link sent to the new address is clicked.

  • Sign-in history

    The latest sign-ins to the account, with the device and IP address.

Questions about this project

Need a site and panel like these?

Describe what you want to build. We reply within an hour with questions and a free quote.

What Aphrodi says

In one week we got the full package: the website, a CMS and a client panel with an admin dashboard. Everything works flawlessly and looks genuinely professional. The speed and quality exceeded our expectations - I recommend them without hesitation.

AphrodiBorysDesigner, Aphrodi