react.jstypescriptbootstrapwebpackbemseojestai integration

Modernizing the Name.am Website

By Samvel Avagyan
Picture of the author
Published on

Duration
1 Year
Role
Lead Developer & Growth Consultant
Technology
React.js, TypeScript, Bootstrap, Jest, React Query, Webpack, OpenAI
Name.am Homepage
Name.am Homepage
Name.am Hosting Page
Name.am Hosting Page
Name.am Business Email
Name.am Business Email
+2

During my tenure at Name.am, I spearheaded the comprehensive transformation of the existing website, delivering a fully modernized frontend platform. My efforts focused on significantly enhancing the UI/UX, optimizing performance and SEO, adopting robust coding practices, and integrating an advanced AI-driven domain suggestion tool.

Project Overview

The goal was clear: transform Name.am into a highly intuitive, fast, and SEO-optimized platform, underpinned by sustainable, maintainable, and scalable code. I took responsibility for every aspect—from redesigning the user interface to developing new features and establishing modern engineering practices to ensure maintainability and future growth.

Key Contributions & Technical Solutions

1. Advanced UI/UX Redesign

Leveraged React.js and Bootstrap to create responsive and accessible layouts optimized across all devices, implementing the BEM methodology for maintainable styles.

Example: Advanced Responsive Component Structure

import { Container, Row, Col } from 'react-bootstrap';

const DomainPricingSection = () => (
  <section className="pricing-section py-5">
    <Container>
      <Row className="justify-content-center">
        <Col md={4}>
          <PricingCard title="Standard" price="$9.99" features={standardFeatures} />
        </Col>
        <Col md={4}>
          <PricingCardFeatured title="Professional" price="$49" features={proFeatures} />
        </Col>
        <Col md={4}>
          <PricingCard title="Business" price="$99" features={businessFeatures} />
        </Col>
      </Row>
    </Container>
  </section>
);

2. High-Impact SEO and Performance Optimization

Implemented performance-driven solutions, including optimized assets, image compression, lazy loading with dynamic imports, and precise meta-tagging for enhanced SEO visibility.

Example: Lazy Loading with Dynamic Imports

import { lazy, Suspense } from 'react';

const LazyDomainChecker = React.lazy(() => import('./components/DomainChecker'));

export const HomePage = () => (
  <Suspense fallback={<Loader />}>
    <LazyDomainChecker />
  </Suspense>
);

Structured Data Implementation

Improved search ranking and visibility through structured JSON-LD schema integration:

import { Helmet } from 'react-helmet';

const structuredData = {
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Domain Registration",
  "description": "Register your ideal domain effortlessly at Name.am",
  "brand": { "@type": "Brand", "name": "Name.am" }
};

3. Scalable and Maintainable Codebase

Refactored entire frontend architecture into TypeScript, using modular components, reusable hooks, and robust testing practices.

Reusable Custom Hook Example (React Query)

import { useQuery } from '@tanstack/react-query';
import axios from 'axios';

export const useDomainAvailability = (domain: string) => {
  return useQuery(['domainAvailability', domain], async () => {
    const response = await axios.get(`/api/check-domain?domain=${domain}`);
    return response.data;
  });
};

4. Robust Testing Strategy (Jest, React Testing Library)

Implemented comprehensive automated testing, ensuring reliable deployments and improved code stability.

Testing Component Interaction Example

import { render, screen, fireEvent } from '@testing-library/react';
import DomainSearch from './DomainSearch';

test('executes domain search correctly', () => {
  const mockSearch = jest.fn();
  render(<DomainSearch onSearch={mockSearch} />);
  
  fireEvent.change(screen.getByPlaceholderText('Search domain...'), { target: { value: 'test.am' } });
  fireEvent.click(screen.getByText('Search'));

  expect(mockSearch).toHaveBeenCalledWith('example.am');
});

5. AI-driven Domain Suggestion Tool

Developed and integrated an innovative AI-powered domain suggestion feature using OpenAI's API, allowing users to find available domains effortlessly.

Example: AI Integration for Domain Suggestions

import OpenAI from 'openai';

export const getDomainSuggestions = async (query: string) => {
  const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

  const prompt = `Suggest creative and SEO-friendly domain names related to "${query}"`;

  const response = await openai.chat.completions.create({
    model: "gpt-4",
    messages: [{ role: "user", content: prompt }],
    max_tokens: 150,
  });

  return response.choices[0].message.content.split('\n').filter(Boolean);
};

6. Security and CI/CD Implementation

Established secure practices and automated continuous integration/deployment (CI/CD) pipelines, streamlining and protecting the development-to-deployment lifecycle.

Example: CI/CD Pipeline (GitHub Actions)

name: Deploy to Production

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: npm test
      - name: Build project
        run: npm run build
      - name: Deploy to server
        uses: easingthemes/ssh-deploy@v2
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USER }}
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          source: ./build
          target: /var/www/name.am

Impact and Results

  • Enhanced User Engagement: Significant improvement in user retention, session duration, and overall satisfaction due to modernized UX.
  • SEO Performance: Noticeable increase in organic search rankings and traffic through meticulous optimization.
  • Sustainable Growth: Robust architecture and automated testing enabled seamless updates, scalability, and faster feature implementation.

Conclusion

My work at Name.am exemplifies my commitment to delivering impactful frontend solutions—demonstrating mastery of React.js, SEO best practices, and modern web development. The addition of AI integration highlighted my ability to innovate, making Name.am not only technologically advanced but also strategically positioned for future growth.