From 3a045ccd0ae1fd584c69ad32998f977c5b95e986 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 13 Feb 2026 20:46:07 +0100 Subject: [PATCH 1/5] landing Animations --- package-lock.json | 20 +++++++++-- package.json | 4 ++- src/app/globals.css | 3 ++ src/app/page.tsx | 83 +++++++++++++++++++++++++++------------------ 4 files changed, 74 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index 55d4389..59921e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,9 @@ "radix-ui": "^1.4.3", "react": "19.2.3", "react-dom": "19.2.3", - "tailwind-merge": "^3.4.0" + "tailwind-animations": "^1.0.1", + "tailwind-merge": "^3.4.0", + "tailwind-motlib": "^1.0.4" }, "devDependencies": { "@tailwindcss/postcss": "^4", @@ -7371,6 +7373,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/tailwind-animations": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tailwind-animations/-/tailwind-animations-1.0.1.tgz", + "integrity": "sha512-5ouCdgfGS4kcyuzRSb/1O3o9f5Akssi7ue46PHfKjvPLMWjtnzmqM8i6ElES3tKVTyhjSaTPfLti7aB7WSxhZg==", + "license": "MIT", + "peerDependencies": { + "tailwindcss": "^4.0.0" + } + }, "node_modules/tailwind-merge": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.4.0.tgz", @@ -7381,11 +7392,16 @@ "url": "https://github.com/sponsors/dcastil" } }, + "node_modules/tailwind-motlib": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/tailwind-motlib/-/tailwind-motlib-1.0.4.tgz", + "integrity": "sha512-4M80sHBTmXQn/fWo8xZYRDlr8yqLv4ZC2MzpHw8MsGPTbXV75Y3NW518ec3CWSiO3WSEZlhXfOHBKpxEvCuoRw==", + "license": "ISC" + }, "node_modules/tailwindcss": { "version": "4.1.18", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", - "dev": true, "license": "MIT" }, "node_modules/tapable": { diff --git a/package.json b/package.json index e931373..8b3d99b 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "radix-ui": "^1.4.3", "react": "19.2.3", "react-dom": "19.2.3", - "tailwind-merge": "^3.4.0" + "tailwind-animations": "^1.0.1", + "tailwind-merge": "^3.4.0", + "tailwind-motlib": "^1.0.4" }, "devDependencies": { "@tailwindcss/postcss": "^4", diff --git a/src/app/globals.css b/src/app/globals.css index 4db1fb8..5b22053 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -1,6 +1,9 @@ @import "tailwindcss"; @import "tw-animate-css"; @import "shadcn/tailwind.css"; +@import 'tailwind-animations'; + +@tailwind utilities; @custom-variant dark (&:is(.dark *)); diff --git a/src/app/page.tsx b/src/app/page.tsx index 9b5b65d..251ce97 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,4 +1,6 @@ +"use client"; import Link from "next/link"; +import { Motion, Staggered } from "tailwind-motlib"; export default function Landing() { return ( @@ -55,45 +57,60 @@ export default function Landing() { {/* Why Nexa */}
-
-

Risk-aware by default

-

- Every trade is evaluated against holder concentration, bundlers, - deployer behavior, and liquidity signals, before execution. -

-
+ + +
+

+ Risk-aware by default +

+

+ Every trade is evaluated against holder concentration, + bundlers, deployer behavior, and liquidity signals, before + execution. +

+
+
-
-

AI where it matters

-

- No magic predictions. Just automated checks that experienced - traders already do, instantly and consistently. -

-
+ +
+

+ AI where it matters +

+

+ No magic predictions. Just automated checks that experienced + traders already do, instantly and consistently. +

+
+
-
-

Built for speed

-

- Optimized request batching, Solana-native execution, and Jupiter - routing keep latency low even during peak volume. -

-
+ +
+

Built for speed

+

+ Optimized request batching, Solana-native execution, and + Jupiter routing keep latency low even during peak volume. +

+
+
+
{/* Risk interception highlight */} -
-
-

- Nexa can stop you before you buy a rug -

-

- When high-risk patterns are detected, Nexa blocks execution by - default and tells you exactly why. If you still want in, that's your - call. But it won't be blind. -

-
-
+ +
+
+

+ Nexa can stop you before you buy a rug +

+

+ When high-risk patterns are detected, Nexa blocks execution by + default and tells you exactly why. If you still want in, that's + your call. But it won't be blind. +

+
+
+
{/* How it works */}
From 1fbd48b47d417a523d941c0babf549d64fc5811c Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 13 Feb 2026 21:38:32 +0100 Subject: [PATCH 2/5] Refactored landing page --- src/app/page.tsx | 196 ++++++++++++++++++++++------------------------- 1 file changed, 93 insertions(+), 103 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 251ce97..d523e23 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,6 +1,16 @@ "use client"; import Link from "next/link"; import { Motion, Staggered } from "tailwind-motlib"; +import { + Shield, + Zap, + Brain, + Scan, + BarChart3, + Filter, + Send, + TrendingDown, +} from "lucide-react"; export default function Landing() { return ( @@ -27,12 +37,13 @@ export default function Landing() {

- + @@ -44,118 +55,97 @@ export default function Landing() {
- {/* Live signal strip */} - {/*
-
- 🟢 12 rugs intercepted today - ⚡ Median execution: 420ms - 📉 Top 10 holder risk flagged - 🔍 Bundler detected pre-launch -
-
*/} - - {/* Why Nexa */} + {/* Features */}
-
+
- -
-

- Risk-aware by default -

-

- Every trade is evaluated against holder concentration, - bundlers, deployer behavior, and liquidity signals, before - execution. -

-
-
- - -
-

- AI where it matters -

-

- No magic predictions. Just automated checks that experienced - traders already do, instantly and consistently. -

-
-
- - -
-

Built for speed

-

- Optimized request batching, Solana-native execution, and - Jupiter routing keep latency low even during peak volume. -

-
-
+ {[ + { + icon: Shield, + title: "Stop Rugs Before They Happen", + desc: "Scans each token for risks like holder concentration, grouped wallets, deployer history, and liquidity issues. You see exactly what's wrong before you trade.", + }, + { + icon: Zap, + title: "Built for Solana Speed", + desc: "Optimized batching and Jupiter routing keep trades fast when the network is busy. Catch opportunities while they're still there.", + }, + { + icon: TrendingDown, + title: "Automated Risk Checks", + desc: "AI handles wallet analysis, deployer vetting, and liquidity checks on every trade. Skip the manual work and focus on timing.", + }, + ].map(({ icon: Icon, title, desc }, i) => ( + +
+
+
+ +
+

{title}

+

+ {desc} +

+
+
+
+ ))}
- {/* Risk interception highlight */} - -
-
-

- Nexa can stop you before you buy a rug -

-

- When high-risk patterns are detected, Nexa blocks execution by - default and tells you exactly why. If you still want in, that's - your call. But it won't be blind. -

-
-
-
- {/* How it works */}

How it works

-
-
- - 1. Detect - - New pairs, migrations, and liquidity events are tracked in real - time. -
-
- - 2. Analyze - - Risk signals, holder distribution, and deployer behavior are scored. -
-
- - 3. Decide - - AI filters or manual overrides determine execution eligibility. -
-
- - 4. Execute - - Trades are routed through Jupiter with minimal latency. -
-
-
- - {/* Fees & alignment */} -
-
-

- Fees that scale with success -

-

- Nexa charges a small platform fee on executed trades, with optional - AI and quant features available per-use. No subscriptions. No hidden - incentives. -

+
+ + {[ + { + icon: Scan, + step: "Detect", + desc: "New pairs, migrations, and liquidity events are tracked in real time.", + }, + { + icon: BarChart3, + step: "Analyze", + desc: "Risk signals, holder distribution, and deployer behavior are scored.", + }, + { + icon: Filter, + step: "Decide", + desc: "AI filters or manual overrides determine execution eligibility.", + }, + { + icon: Send, + step: "Execute", + desc: "Trades are routed through Jupiter with minimal latency.", + }, + ].map(({ icon: Icon, step, desc }, i) => ( + +
+
+
+ +
+ + {step} + +

+ {desc} +

+
+
+
+ ))} +
From 25365adba22fdb0c6ed78641046c05cb377d6cec Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 13 Feb 2026 21:50:48 +0100 Subject: [PATCH 3/5] Improvements --- src/app/page.tsx | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index d523e23..dfd5fd2 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -24,26 +24,29 @@ export default function Landing() { {/* Hero */}
-

+

Trade memecoins
without trading blind

-

+

Nexa filters noise, intercepts high-rug setups, and executes faster, so you spend less time guessing and more time surviving.

- + @@ -81,8 +84,8 @@ export default function Landing() { className="animate-fade-in-up animate-duration-500" >
-
-
+
+

{title}

@@ -99,7 +102,11 @@ export default function Landing() { {/* How it works */}
-

How it works

+ +

+ How it works +

+
@@ -125,14 +132,10 @@ export default function Landing() { desc: "Trades are routed through Jupiter with minimal latency.", }, ].map(({ icon: Icon, step, desc }, i) => ( - +
-
-
+
+
From 8ae49494e7c6d519e4ca4d7c771056e6184f31df Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 13 Feb 2026 21:56:00 +0100 Subject: [PATCH 4/5] Improvements --- src/app/page.tsx | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index dfd5fd2..b504b76 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -85,11 +85,13 @@ export default function Landing() { >
-
- +
+
+ +
+

{title}

-

{title}

-

+

{desc}

@@ -124,7 +126,7 @@ export default function Landing() { { icon: Filter, step: "Decide", - desc: "AI filters or manual overrides determine execution eligibility.", + desc: "AI flags risks automatically, or you override and trade anyway.", }, { icon: Send, @@ -135,13 +137,15 @@ export default function Landing() {
-
- +
+
+ +
+ + {step} +
- - {step} - -

+

{desc}

From 93d4e5747950512a0d6047e21cce559af31e136b Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 13 Feb 2026 22:02:46 +0100 Subject: [PATCH 5/5] Improvements --- src/app/page.tsx | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index b504b76..fc98459 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -25,15 +25,15 @@ export default function Landing() {

- Trade memecoins
+ Your copilot for
- without trading blind + memecoin trading

- Nexa filters noise, intercepts high-rug setups, and executes faster, - so you spend less time guessing and more time surviving. + Catch rugs before they happen, execute trades at Solana + speed, and automate the research pro traders do.

@@ -65,18 +65,18 @@ export default function Landing() { {[ { icon: Shield, - title: "Stop Rugs Before They Happen", - desc: "Scans each token for risks like holder concentration, grouped wallets, deployer history, and liquidity issues. You see exactly what's wrong before you trade.", + title: "Warns You Before Rugs", + desc: "Nexa scans each token for risks like holder concentration, grouped wallets, deployer history, and liquidity issues. You see exactly what's wrong before you trade.", }, { icon: Zap, - title: "Built for Solana Speed", - desc: "Optimized batching and Jupiter routing keep trades fast when the network is busy. Catch opportunities while they're still there.", + title: "Routes Trades Fast", + desc: "Nexa handles batching and Jupiter routing to keep your execution quick when the network is busy. You catch opportunities while they're still there.", }, { - icon: TrendingDown, - title: "Automated Risk Checks", - desc: "AI handles wallet analysis, deployer vetting, and liquidity checks on every trade. Skip the manual work and focus on timing.", + icon: Brain, + title: "Does the Research For You", + desc: "Nexa runs wallet analysis, deployer vetting, and liquidity checks on every trade. You skip the manual work and focus on timing.", }, ].map(({ icon: Icon, title, desc }, i) => (

- How it works + How Nexa works

@@ -115,23 +115,23 @@ export default function Landing() { {[ { icon: Scan, - step: "Detect", - desc: "New pairs, migrations, and liquidity events are tracked in real time.", + step: "Watches", + desc: "Tracks new pairs, migrations, and liquidity events in real time.", }, { icon: BarChart3, - step: "Analyze", - desc: "Risk signals, holder distribution, and deployer behavior are scored.", + step: "Scores", + desc: "Analyzes risk signals, holder distribution, and deployer behavior.", }, { icon: Filter, - step: "Decide", - desc: "AI flags risks automatically, or you override and trade anyway.", + step: "Flags", + desc: "Alerts you to risks automatically, or lets you override and trade anyway.", }, { icon: Send, - step: "Execute", - desc: "Trades are routed through Jupiter with minimal latency.", + step: "Routes", + desc: "Executes your trades through Jupiter with minimal latency.", }, ].map(({ icon: Icon, step, desc }, i) => (