Skip to content
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const GithubIcon = ({ className }: { className?: string }) => (
<svg className={className} viewBox="0 0 24 24" fill="currentColor">
<path d="M12 .297C5.371.297 0 5.668 0 12.297c0 5.297 3.438 9.797 8.205 11.387.6.11.82-.26.82-.577v-2.044c-3.338.727-4.043-1.61-4.043-1.61-.546-1.387-1.333-1.757-1.333-1.757-1.09-.745.082-.73.082-.73 1.205.084 1.84 1.243 1.84 1.243 1.07 1.835 2.807 1.305 3.492.998.107-.774.418-1.305.762-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.47-2.382 1.237-3.222-.124-.302-.536-1.52.117-3.168 0 0 1.008-.322 3.3 1.23a11.52 11.52 0 0 1 6.003 0c2.29-1.552 3.296-1.23 3.296-1.23.655 1.647.243 2.866.12 3.168.77.84 1.236 1.912 1.236 3.222 0 4.61-2.807 5.626-5.48 5.92.43.37.815 1.096.815 2.21v3.278c0 .32.215.694.825.576C20.565 22.09 24 17.592 24 12.297 24 5.668 18.627.297 12 .297z" />
</svg>
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const TwitterIcon = ({ className }: { className?: string }) => (
<svg className={className} viewBox="0 0 28 28" fill="currentColor">
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231 5.45-6.231h0.001zm-1.161 17.52h1.833L7.084 4.126H5.117l11.966 15.644z" />
</svg>
);
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export * from "./GithubIcon";
export * from "./TwitterIcon";
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
import { GithubIcon, TwitterIcon } from "./icons";
import { Address } from "@scaffold-ui/components";

export default function Page() {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please name your page with something more unique, like your name or nickname.

And you might want to consider typing your page as NextPage since we are using TypeScript, as this ensures better integration and adds clarity for future maintainers by indicating that the component is a Next.js page.

return (
<div className="min-h-screen bg-white dark:bg-[#0a0a0a] text-gray-900 dark:text-gray-200 flex justify-center pt-10 pb-10 transition-colors">
<div className="font-sans w-full max-w-lg p-10 rounded-3xl bg-gray-50 dark:bg-[#111111]/60 backdrop-blur-xl border border-gray-200 dark:border-white/10 space-y-8 shadow-xl shadow-black/40">
{/* Name & Address */}
<div className="text-center space-y-2">
<h1 className="text-3xl font-bold tracking-tight bg-gradient-to-r from-purple-500 to-blue-500 bg-clip-text text-transparent">
Nishant Kumar
</h1>
<div className="flex justify-center">
<Address address="0x0eD3f043ad4Fe71D00dE45F6077b022576C4B86B" />
</div>
</div>

<div className="border-t border-gray-300 dark:border-white/10" />

{/* About Me */}
<div>
<h2 className="text-base font-semibold text-gray-700 dark:text-gray-300 mb-3">Who am I?</h2>
<p className="text-sm text-gray-700 dark:text-gray-300 leading-relaxed">
⚡ Prefinal-year engineering student diving deep into Ethereum development.
<br />
Leveling up through Cyfrin Updraft, Alchemy University, and Encode Club — learning advanced Solidity,
testing, & security.
<br />
Love building efficient smart contracts + improving Web3 UX by breaking chains & fixing them again 😄
</p>
</div>

<div className="border-t border-gray-300 dark:border-white/10" />

{/* Social Links */}
<div className="flex justify-center gap-8">
<a href="https://github.com/usetech-nick" target="_blank" rel="noopener noreferrer" className="group">
<GithubIcon className="w-6 h-6 text-gray-700 dark:text-gray-300 group-hover:text-blue-500 transition" />
</a>
<a href="https://x.com/Nishant18335767" target="_blank" rel="noopener noreferrer" className="group">
<TwitterIcon className="w-6 h-6 text-gray-700 dark:text-gray-300 group-hover:text-blue-400 transition" />
</a>
</div>

<div className="border-t border-gray-300 dark:border-white/10" />

{/* Builder Stack */}
<div>
<h2 className="text-base font-semibold text-gray-700 dark:text-gray-300 mb-3">Builder Stack</h2>
<div className="flex flex-wrap gap-2 text-xs">
{["Solidity", "Hardhat", "Foundry (learning)", "Next.js", "Viem", "TailwindCSS", "Arbitrum"].map(skill => (
<span
key={skill}
className="px-3 py-1 rounded-full bg-gray-200 dark:bg-[#1a1a1a] border border-gray-300 dark:border-gray-700 text-gray-700 dark:text-gray-300 "
>
{skill}
</span>
))}
</div>
</div>

<div className="border-t border-gray-300 dark:border-white/10" />

{/* On-chain Check-In */}
<div className="space-y-1">
<h2 className="text-base font-semibold text-gray-700 dark:text-gray-300">On-chain Check-In</h2>
<p className="text-xs text-gray-600 dark:text-gray-400">
Contract:{" "}
<a
href="https://arbiscan.io/address/0xD03686a3AA3e1c42d2190bdEeDd3Ae0EBa0Cf4AB"
target="_blank"
rel="noopener noreferrer"
className="underline hover:text-purple-400 transition"
>
0xD036...Cf4AB
</a>
</p>
<p className="text-xs text-gray-600 dark:text-gray-400">
Tx:{" "}
<a
href="https://arbiscan.io/tx/0x63a9000386895bef8632c972b4baade01eb04daa0417f506530e265f103cd914"
target="_blank"
rel="noopener noreferrer"
className="underline hover:text-purple-400 transition"
>
0x63a9...d914
</a>
</p>
</div>
</div>
</div>
);
}