PROJECT

Peec AI - Pricing Page

Pricing Page

PROJECT

Peec AI - Pricing Page

Pricing Page

INDUSTRY

AI / SaaS / Growth

INDUSTRY

AI / SaaS / Growth

STATUS

Complete

1 page · Currency detection · Bug fixes · Live

STATUS

Complete

1 page · Currency detection · Bug fixes · Live

THE BRIEF

Fixed a pricing page where the wrong currency was showing — traced the bug to the custom component and got geo-detection working correctly.

Fixed a pricing page where the wrong currency was showing — traced the bug to the custom component and got geo-detection working correctly.

Fixed a pricing page where the wrong currency was showing — traced the bug to the custom component and got geo-detection working correctly.

FRAMER · CUSTOM CODE · GEOLOCATION

THE PROBLEM

US Visitors Seeing Euros. European Visitors Seeing Dollars.

US Visitors Seeing Euros. European Visitors Seeing Dollars.

US Visitors Seeing Euros. European Visitors Seeing Dollars.

BUG FIX · GEOLOCATION · CUSTOM COMPONENT

Peec.ai's pricing page had a custom component that was supposed to detect the visitor's browser locale and display the right currency — USD or EUR. It wasn't working reliably. The wrong price was showing for the wrong audience, which is exactly the kind of detail that kills conversion on a pricing page.

THE SOLUTION

Currency Detection Fix

Currency Detection Fix

Currency Detection Fix

Traced the bug into the custom code component powering the price cards. The geolocation logic was reading the browser locale incorrectly and failing silently — defaulting to the wrong currency without any visible error. Fixed the detection logic so USD and EUR display correctly based on where the visitor actually is.

Skeleton Loader

Currency detection takes a moment. Without a loading state the price cards flash the wrong value before correcting — a jarring experience on a page where trust matters most. Built a skeleton loader that holds the layout while the locale is resolved, so the correct price appears the first time, cleanly.

VISUAL SYSTEM & OUTPUT

The Bug Was in the Component

The Bug Was in the Component

The Bug Was in the Component

The page looked fine — the bug was inside the custom Framer component code. Debugging someone else's custom component means understanding what it was trying to do before you can fix what it got wrong. The geolocation logic wasn't broken outright, it was reading the wrong browser property. One targeted fix, tested across browsers and locations with a VPN.

PRICING PAGE — VIEW

Peec AI - Pricing Page: Pricing page — view

PRICING PAGE — VIEW

Peec AI - Pricing Page: Pricing page — view

PRICING PAGE — EUR VIEW

Peec AI - Pricing Page: Pricing page — eur view

PRICING PAGE — EUR VIEW

Peec AI - Pricing Page: Pricing page — eur view

PRICING PAGE — EUR VIEW

Peec AI - Pricing Page: Pricing page — eur view

ADDITIONAL PRICE CARDS

Peec AI - Pricing Page: Additional price cards

ADDITIONAL PRICE CARDS

Peec AI - Pricing Page: Additional price cards

ADDITIONAL PRICE CARDS

Peec AI - Pricing Page: Additional price cards

WHY IT MATTERS

Every Visitor Sees the Right Price.

Every Visitor Sees the Right Price.

Every Visitor Sees the Right Price.

USD for US visitors. EUR for everyone else. The skeleton loader means no flash of wrong content. A pricing page that was quietly losing trust with the wrong audience now works exactly as intended.

0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
4100
4200
4300
4400
4500
4600
4700
4800
4900
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
6100
6200
6300
6400
6500
6600
6700
6800
6900
7000
7100
7200
7300
7400
7500
7600
7700
7800
7900
8000
8100
8200
8300
8400
8500
8600
8700
8800
8900
9000
9100
9200
9300
9400
9500
9600
9700
9800
9900
10000
10100
10200
10300
10400
10500
10600
10700
10800
10900
11000
11100
11200
11300
11400
11500
11600
11700
11800
11900
12000
12100
12200
12300
12400
12500
12600
12700
12800
12900
13000
13100
13200
13300
13400
13500
13600
13700
13800
13900
14000
14100
14200
14300
14400
14500
14600
14700
14800
14900
15000
15100
15200
15300
15400
15500
15600
15700
15800
15900
16000
16100
16200
16300
16400
16500
16600
16700
16800
16900
17000
17100
17200
17300
17400
17500
17600
17700
17800
17900
18000
18100
18200
18300
18400
18500
18600
18700
18800
18900
19000
19100
19200
19300
19400
19500
19600
19700
19800
19900

Everything new in Framer, monthly.

Product updates, fresh templates & components, and Berlin Framer meetups — one email a month, no spam.

Frequently Asked Questions

Most Framer projects move from discovery to launch within 2 to 4 weeks. This includes high-fidelity design, interactive prototyping, and final development. Timelines vary based on the complexity of custom animations and CMS requirements.

Yes. While Framer is a powerful no-code tool, I often implement custom React components and overrides to achieve specific functionality or complex data integrations that aren't available out of the box.

Once the project is finalized and approved, I transfer the Framer project directly to your account. I provide a recorded walkthrough of the CMS and site settings so your team can manage content with zero friction.

Absolutely. I offer monthly retainers for high-growth brands that need continuous updates, new landing pages, and ongoing performance optimisation. Priority availability, ongoing Framer support, and a dedicated expert in your corner.

0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
4100
4200
4300
4400
4500
4600
4700
4800
4900
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
6100
6200
6300
6400
6500
6600
6700
6800
6900
7000
7100
7200
7300
7400
7500
7600
7700
7800
7900
8000
8100
8200
8300
8400
8500
8600
8700
8800
8900
9000
9100
9200
9300
9400
9500
9600
9700
9800
9900
10000
10100
10200
10300
10400
10500
10600
10700
10800
10900
11000
11100
11200
11300
11400
11500
11600
11700
11800
11900
12000
12100
12200
12300
12400
12500
12600
12700
12800
12900
13000
13100
13200
13300
13400
13500
13600
13700
13800
13900
14000
14100
14200
14300
14400
14500
14600
14700
14800
14900
15000
15100
15200
15300
15400
15500
15600
15700
15800
15900
16000
16100
16200
16300
16400
16500
16600
16700
16800
16900
17000
17100
17200
17300
17400
17500
17600
17700
17800
17900
18000
18100
18200
18300
18400
18500
18600
18700
18800
18900
19000
19100
19200
19300
19400
19500
19600
19700
19800
19900
0
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
4100
4200
4300
4400
4500
4600
4700
4800
4900
5000
5100
5200
5300
5400
5500
5600
5700
5800
5900
6000
6100
6200
6300
6400
6500
6600
6700
6800
6900
7000
7100
7200
7300
7400
7500
7600
7700
7800
7900
8000
8100
8200
8300
8400
8500
8600
8700
8800
8900
9000
9100
9200
9300
9400
9500
9600
9700
9800
9900
10000
10100
10200
10300
10400
10500
10600
10700
10800
10900
11000
11100
11200
11300
11400
11500
11600
11700
11800
11900
12000
12100
12200
12300
12400
12500
12600
12700
12800
12900
13000
13100
13200
13300
13400
13500
13600
13700
13800
13900
14000
14100
14200
14300
14400
14500
14600
14700
14800
14900
15000
15100
15200
15300
15400
15500
15600
15700
15800
15900
16000
16100
16200
16300
16400
16500
16600
16700
16800
16900
17000
17100
17200
17300
17400
17500
17600
17700
17800
17900
18000
18100
18200
18300
18400
18500
18600
18700
18800
18900
19000
19100
19200
19300
19400
19500
19600
19700
19800
19900