Commit ef81dc59 by PLN (Algolia)

feat(landing): ajustements

parent de886fcf
...@@ -13,7 +13,7 @@ export default function HoverTooltip({ children, content, links }) { ...@@ -13,7 +13,7 @@ export default function HoverTooltip({ children, content, links }) {
const handleMouseLeave = () => { const handleMouseLeave = () => {
timeoutRef.current = setTimeout(() => { timeoutRef.current = setTimeout(() => {
setIsVisible(false); setIsVisible(false);
}, 300); // 0.3 second delay before hiding }, 1000); // 1 second delay before hiding
}; };
// Clear timeout on unmount // Clear timeout on unmount
...@@ -38,8 +38,10 @@ export default function HoverTooltip({ children, content, links }) { ...@@ -38,8 +38,10 @@ export default function HoverTooltip({ children, content, links }) {
{isVisible && ( {isVisible && (
<div className={styles.hoverPopup}> <div className={styles.hoverPopup}>
<div className={styles.popupContent}> <div className={styles.popupContent}>
{/* TODO:Render markdown or JSX in content */} {/* Support for JSX content */}
<p>{content}</p> <div className={styles.popupText}>
{typeof content === 'string' ? <p>{content}</p> : content}
</div>
{links && links.length > 0 && ( {links && links.length > 0 && (
<div className={styles.popupLinks}> <div className={styles.popupLinks}>
{links.map((link, index) => ( {links.map((link, index) => (
......
...@@ -41,14 +41,19 @@ export default function Home({ posts, talks }) { ...@@ -41,14 +41,19 @@ export default function Home({ posts, talks }) {
<p className="description"> <p className="description">
At <a href="https://algolia.com">Algolia</a>, I've crafted tools that help you{" "} At <a href="https://algolia.com">Algolia</a>, I've crafted tools that help you{" "}
<HoverTooltip <HoverTooltip
content="From 2016 to 2018, I built tools to accelerate Android developers crafting unique search experiences." content={
<>
From <strong>2016</strong> to <strong>2018</strong>,<br />
I built tools to <strong>accelerate Android developers</strong> crafting unique search experiences.
</>
}
links={[ links={[
{ {
text: "Crafted the first Algolia Mobile Search Toolkit, InstantSearch-Android", text: "InstantSearch-Android, the first Algolia Mobile Search Toolkit",
url: "https://github.com/algolia/instantsearch-android" url: "https://github.com/algolia/instantsearch-android"
}, },
{ {
text: "Built the Voice-Overlay, an open-source voice input and STT helper", text: "Voice-Overlay, an open-source speech-to-text helper",
url: "https://github.com/algolia/voice-overlay-android" url: "https://github.com/algolia/voice-overlay-android"
} }
]} ]}
...@@ -56,8 +61,16 @@ export default function Home({ posts, talks }) { ...@@ -56,8 +61,16 @@ export default function Home({ posts, talks }) {
build mobile apps build mobile apps
</HoverTooltip>,{" "} </HoverTooltip>,{" "}
<HoverTooltip <HoverTooltip
content="From 2019 to 2021, I built tools to better understand search users and give them semantic answers: content={
Algolia Understand was a cross-index Intent Detection and Entity Recognition API, and Algolia Answers was a Question Answering API with Semantic Reranking using early Transformer models & Smart Highlighting with QA models." <>
From <strong>2019</strong> to <strong>2021</strong>,<br />
I built APIs to better <strong>understand user language</strong> in search engines and give them semantic answers.
<br /><br />
<strong>Algolia Understand</strong> was a cross-index Intent Detection and Entity Recognition API.
<br /><br />
<strong>Algolia Answers</strong> was a Question Answering API with Semantic Reranking using early Transformer models & Smart Highlighting with QA models.
</>
}
links={[ links={[
{ {
text: "Algolia Understand", text: "Algolia Understand",
...@@ -68,7 +81,15 @@ export default function Home({ posts, talks }) { ...@@ -68,7 +81,15 @@ export default function Home({ posts, talks }) {
understand your users understand your users
</HoverTooltip>, and {" "} </HoverTooltip>, and {" "}
<HoverTooltip <HoverTooltip
content="From 2022 to 2024, I worked on Recommendation APIs - serving at high-scale (billions of items per months) a blend of algorithms to recommend content by learning from either user behavior, semantic image analysis, or textual analysis." content={
<>
From <strong>2022</strong> to <strong>2024</strong>,<br />
I worked on <strong>Recommendation APIs</strong> - serving at high-scale (<i>billions</i><br /> of items per months) a blend of algorithms to recommend content by learning from either <i>user behavior</i>, <i>semantic image analysis</i>, or <i>textual analysis</i>.
<br /><br />
<strong>LookingSimilar</strong> is the visual recommendation API I built over Algolia's NeuralHash engine,
leveraging open-source image vectorization models and HNSW graphs to recommend visually relevant items.
</>
}
links={[ links={[
{ {
text: "LookingSimilar", text: "LookingSimilar",
...@@ -78,19 +99,19 @@ export default function Home({ posts, talks }) { ...@@ -78,19 +99,19 @@ export default function Home({ posts, talks }) {
> >
show them your world show them your world
</HoverTooltip>.<br /> </HoverTooltip>.<br />
Nowadays, i create GenAI tools for{" "} Nowadays, I create GenAI tools for{" "}
<HoverTooltip <HoverTooltip
content="Blending state-of-the-art LLMs with world-class search engines to create next-generation AI experiences." content="Blending state-of-the-art LLMs with a distributed search engine to create a new kind of content discovery experiences."
links={[ links={[
{ {
text: "Generative Experiences", text: "Generative Experiences",
url: "https://www.algolia.com/products/ai-search/" url: "https://www.algolia.com/about/news/revolutionizing-retail-algolia-unveils-groundbreaking-generative-ai-for-shopping-experiences"
} }
]} ]}
> >
builders of unique experiences builders of generative experiences
</HoverTooltip><br />{" "} </HoverTooltip><br />{" "}
that blend the best of search and AI. that blend the best of search and language understanding.
</p> </p>
</section> </section>
<section className={`${utilStyles.headingMd} ${utilStyles.padding1px}`}> <section className={`${utilStyles.headingMd} ${utilStyles.padding1px}`}>
...@@ -99,7 +120,8 @@ export default function Home({ posts, talks }) { ...@@ -99,7 +120,8 @@ export default function Home({ posts, talks }) {
</Link> </Link>
<p className="description"> <p className="description">
As <Link href="/parvagues/" className={utilStyles.inlineLink}>ParVagues</Link>, I write patterns that As <Link href="/parvagues/" className={utilStyles.inlineLink}>ParVagues</Link>, I write patterns that
shape soundwaves. shape soundwaves. <br />
I share those as <Link href="https://song.link/i/1773790994" target="_blank" className={utilStyles.inlineLink}>tracks</Link>, <Link href="https://archive.org/details/toplap-solstice-dec2024-parvagues" target="_blank" className={utilStyles.inlineLink}>videos</Link>, and <Link href="https://www.youtube.com/watch?v=dQw4w9WgXcQ" target="_blank" className={utilStyles.inlineLink}>live performances</Link>.
</p> </p>
</section> </section>
<section className={`${utilStyles.headingMd} ${utilStyles.padding1px}`}> <section className={`${utilStyles.headingMd} ${utilStyles.padding1px}`}>
...@@ -108,7 +130,18 @@ export default function Home({ posts, talks }) { ...@@ -108,7 +130,18 @@ export default function Home({ posts, talks }) {
</Link> </Link>
<p className="description"> <p className="description">
Using <Link href="/hydra/" className={utilStyles.inlineLink}>Hydra</Link>, I create animations that Using <Link href="/hydra/" className={utilStyles.inlineLink}>Hydra</Link>, I create animations that
offer windows into other worlds. offer{" "}
<HoverTooltip
content={
<>
<img src="/images/halley.png" alt="Hydra" />
<br />
With <Link href="https://github.com/ojack/hydra" target="_blank" className={utilStyles.inlineLink}>Olivia Jack's Hydra.js</Link>, I create interactive or slowly morphing pixelscapes.
</>
}
>
windows into other worlds
</HoverTooltip>.
</p> </p>
</section> </section>
<section className={`${utilStyles.headingMd} ${utilStyles.padding1px}`}> <section className={`${utilStyles.headingMd} ${utilStyles.padding1px}`}>
......
...@@ -478,8 +478,8 @@ ...@@ -478,8 +478,8 @@
transform: translateX(-50%); transform: translateX(-50%);
z-index: 100; z-index: 100;
min-width: 280px; min-width: 380px;
max-width: 380px; max-width: 500px;
animation: fadeIn 0.2s ease-in-out; animation: fadeIn 0.2s ease-in-out;
} }
...@@ -501,6 +501,18 @@ ...@@ -501,6 +501,18 @@
border-right: 1px solid #f0f0f0; border-right: 1px solid #f0f0f0;
} }
.popupText {
margin: 0 0 0.8rem 0;
}
.popupText p {
margin: 0 0 0.8rem 0;
}
.popupText p:last-child {
margin-bottom: 0;
}
.popupContent p { .popupContent p {
margin: 0 0 0.8rem 0; margin: 0 0 0.8rem 0;
} }
...@@ -561,8 +573,8 @@ ...@@ -561,8 +573,8 @@
/* Mobile responsiveness */ /* Mobile responsiveness */
@media (max-width: 768px) { @media (max-width: 768px) {
.hoverPopup { .hoverPopup {
min-width: 220px; min-width: 280px;
max-width: 300px; max-width: 340px;
} }
.popupContent { .popupContent {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment