import React, { useState, useEffect } from 'react'; import { Clock, Mail, Phone, X, CheckCircle, Star, Zap, Shield, Activity, ArrowRight, ChevronDown } from 'lucide-react'; export default function RomanPortfolioWebsite() { const [selectedProject, setSelectedProject] = useState(null); const [formData, setFormData] = useState({ name: '', email: '', phone: '', projectType: '', message: '' }); const [isSubmitted, setIsSubmitted] = useState(false); const [speedPrediction, setSpeedPrediction] = useState({ pages: 5, contentSize: 2, features: { animations: false, video: false, ecommerce: false, blog: false, userAccounts: false }, result: null, history: [] }); useEffect(() => { const savedHistory = localStorage.getItem('speedPredictionHistory'); if (savedHistory) { try { const parsedHistory = JSON.parse(savedHistory); setSpeedPrediction(prev => ({ ...prev, history: parsedHistory })); } catch (error) { console.error('Error loading prediction history:', error); } } }, []); useEffect(() => { if (speedPrediction.history.length > 0) { localStorage.setItem('speedPredictionHistory', JSON.stringify(speedPrediction.history)); } }, [speedPrediction.history]); const handlePredictionInputChange = (e) => { const { name, value, type, checked } = e.target; if (name.startsWith('feature-')) { const featureName = name.replace('feature-', ''); setSpeedPrediction(prev => ({ ...prev, features: { ...prev.features, [featureName]: checked } })); } else { setSpeedPrediction(prev => ({ ...prev, [name]: type === 'number' ? parseInt(value, 10) : value })); } }; const calculateSpeedPrediction = () => { let baseTime = 1.0; baseTime += (speedPrediction.pages * 0.1); baseTime += (speedPrediction.contentSize * 0.3); if (speedPrediction.features.animations) baseTime += 0.5; if (speedPrediction.features.video) baseTime += 1.0; if (speedPrediction.features.ecommerce) baseTime += 1.2; if (speedPrediction.features.blog) baseTime += 0.3; if (speedPrediction.features.userAccounts) baseTime += 0.8; const randomFactor = 0.9 + (Math.random() * 0.2); baseTime *= randomFactor; const finalTime = Math.round(baseTime * 10) / 10; let speedCategory; if (finalTime < 2.0) { speedCategory = 'fast'; } else if (finalTime < 4.0) { speedCategory = 'medium'; } else { speedCategory = 'slow'; } const result = { loadTime: finalTime, category: speedCategory, timestamp: new Date().toISOString() }; setSpeedPrediction(prev => ({ ...prev, result, history: [...prev.history, { ...result, inputs: { pages: prev.pages, contentSize: prev.contentSize, features: {...prev.features} } }] })); }; const getSpeedColor = (category) => { switch(category) { case 'fast': return 'text-green-500'; case 'medium': return 'text-yellow-500'; case 'slow': return 'text-red-500'; default: return 'text-gray-400'; } }; const getNeedleAngle = (loadTime) => { const maxTime = 8; const clampedTime = Math.min(loadTime, maxTime); return (clampedTime / maxTime) * 180; }; const portfolioProjects = [ { id: 1, title: "Astro Kids Harmonizer", shortDescription: "Астрологический сайт для детей с интерактивными элементами", description: "Современный астрологический сайт, специально разработанный для детской аудитории. Включает интерактивные гороскопы, красочный дизайн и удобную навигацию.", image: "https://assets.sitebrew.ai/generated-1748502305110.webp", category: "Детский сайт", developmentTime: "45 минут", technologies: ["React", "CSS3", "Responsive Design"], features: [ "Яркий детский дизайн", "Интерактивные астрологические элементы", "Адаптивная верстка для всех устройств", "Быстрая загрузка страниц" ] }, { id: 2, title: "Neural Scribe Hub Blog", shortDescription: "Современный блог с чистым дизайном и удобной навигацией", description: "Профессиональный блог-платформа с современным дизайном, оптимизированная для чтения и SEO. Включает систему комментариев и социальные функции.", image: "https://assets.sitebrew.ai/generated-1748502305303.webp", category: "Блог", developmentTime: "1 час", technologies: ["HTML5", "CSS3", "JavaScript", "SEO"], features: [ "Чистый и читаемый дизайн", "SEO-оптимизация", "Система комментариев", "Интеграция с соцсетями" ] }, { id: 3, title: "Speedy Site Landing", shortDescription: "Высококонверсионная посадочная страница для продажи курсов", description: "Продающая посадочная страница, разработанная для максимальной конверсии. Включает все необходимые элементы для успешных продаж онлайн-курсов.", image: "https://assets.sitebrew.ai/generated-1748502306610.webp", category: "Landing Page", developmentTime: "50 минут", technologies: ["React", "Conversion Optimization", "Analytics"], features: [ "Высокая конверсия", "A/B тестирование", "Интеграция с платежными системами", "Аналитика и отслеживание" ] }, { id: 4, title: "Корпоративный сайт", shortDescription: "Представительский сайт для IT-компании", description: "Современный корпоративный сайт с презентацией услуг, командой и портфолио. Полностью адаптивный дизайн и быстрая загрузка.", image: "https://assets.sitebrew.ai/generated-1748502305110.webp", category: "Корпоративный", developmentTime: "1 час 15 минут", technologies: ["React", "TypeScript", "Tailwind CSS"], features: [ "Презентация услуг", "Раздел команды", "Портфолио проектов", "Форма обратной связи" ] }, { id: 5, title: "Интернет-магазин", shortDescription: "E-commerce решение с корзиной и оплатой", description: "Полнофункциональный интернет-магазин с каталогом товаров, корзиной, системой оплаты и административной панелью.", image: "https://assets.sitebrew.ai/generated-1748502305303.webp", category: "E-commerce", developmentTime: "1 час 30 минут", technologies: ["React", "Node.js", "Payment API"], features: [ "Каталог товаров", "Корзина покупок", "Система оплаты", "Административная панель" ] }, { id: 6, title: "Портфолио фотографа", shortDescription: "Элегантное портфолио с галереей работ", description: "Стильное портфолио для фотографа с красивой галереей, информацией об услугах и формой заказа съемки.", image: "https://assets.sitebrew.ai/generated-1748502306610.webp", category: "Портфолио", developmentTime: "40 минут", technologies: ["HTML5", "CSS3", "Lightbox", "Responsive"], features: [ "Галерея с лайтбоксом", "Презентация услуг", "Форма заказа", "Мобильная оптимизация" ] } ]; const painPoints = [ { icon: Clock, title: "Сжатые сроки", problem: "Нужен сайт \"еще вчера\", а разработчики говорят о месяцах", solution: "Создаю сайты за 1 час. Публикация через 2 часа после утверждения." }, { icon: Shield, title: "Высокие цены", problem: "Стоимость разработки сайта начинается от 50 000 рублей", solution: "Мои цены начинаются от 2 500 рублей. Качество не страдает." }, { icon: Zap, title: "Сложное общение", problem: "Разработчики говорят на техническом языке, не понимают бизнес", solution: "Говорю простым языком, понимаю потребности бизнеса." } ]; const handleInputChange = (e) => { setFormData({ ...formData, [e.target.name]: e.target.value }); }; const handleSubmit = (e) => { e.preventDefault(); setIsSubmitted(true); console.log('Form submitted:', formData); }; return (
Быстро. Качественно. Доступно. От 2 500 рублей.
Каждый проект создан с нуля за рекордное время без потери качества
Нажмите для подробностей
{project.shortDescription}
Я решаю типичные боли при заказе сайтов
{point.problem}
{point.solution}
Специалист по быстрой разработке сайтов с многолетним опытом и сотнями успешных проектов
Работаю с современными технологиями и фреймворками
От лендингов до сложных корпоративных сайтов
Уникальная методология для быстрого создания сайтов
Сопровождение проекта после запуска
Узнайте, насколько быстрым будет ваш сайт на основе требований проекта
Ожидаемое время загрузки вашего сайта
Заполните параметры проекта слева и нажмите "Рассчитать скорость" для получения предсказания
Опишите ваш проект, и я создам макет бесплатно
Я свяжусь с вами в течение 30 минут и предоставлю бесплатный макет вашего сайта.
{selectedProject.description}