Назад в архив
I. Собственные продукты и фреймворкдополнительносоло

davr.dev — This Site

Собственный сайт dev-студии пользователя «DavrDev» (позиционируется как Venture Builders) на Next.js 16 / React 19 + shadcn/ui: главная, проекты, команда, контакты с reCAPTCHA → Telegram.

Статус
активный
Период
2025-12-28 → 2026-01-09
AI-сессий
Стек
Языки
TypeScriptPython
Фреймворки · Инфра
Next.js 16React 19Tailwind v4shadcn/ui (Radix)Framer MotionReact Hook FormZod
§01

Обзор

  • Что это: маркетинговый/корпоративный сайт студии DavrDev — по материалам docs/, позиционируется как «Venture Builders» (партнёрское предложение DavrDev_VentureBuilders_Proposal.pdf + HTML/py-генератор). Домен в коде — davr.dev. Разделы: Home, Projects, Team, Contact. Часть личного бренда/воронки пользователя (студия + команда).
  • Тип / статус / роль: landing (многостраничный сайт-визитка) / active / solo — все 8 коммитов за авторством Davron Yuldashev <yul.davron.93@gmail.com>.
  • Период активности: 2025-12-28 → 2026-01-09 (~2 недели интенсивной сборки), 8 коммитов.
§02

Стек

  • Языки: TypeScript (сайт), Python (вспомогательные скрипты обработки фото команды + генератор PDF-предложения).
  • Фреймворки/библиотеки (по `package.json`): Next.js 16.1 (App Router, RSC), React 19.2, Tailwind CSS v4 + tw-animate-css, shadcn/ui (полный набор Radix — accordion, dialog, navigation-menu, popover, select и т.д.), Framer Motion (анимации), React Hook Form + Zod v4, next-themes (тёмная тема), react-google-recaptcha, embla-carousel, recharts, cmdk, vaul, gray-matter (парсинг md-профилей), шрифты @fontsource Inter/Syne.
  • Инфра/деплой: next start -p 3434; ориентирован на Vercel. sharp для оптимизации изображений (в trustedDependencies).
  • Данные: контент-как-код — профили команды в Markdown (team/*.md, парсинг через gray-matter), данные проектов/команды в lib/projects.ts, lib/team.ts.
  • Заметный тулинг: Python-скрипты process_team_images.py / fix_team_images.py (пакетная обработка фото команды), генератор коммерческого предложения docs/venture_builders_proposal.py → печатный A4-HTML.
§03

Что реализовано

Все 8 коммитов — пользователь (solo):

  • 5a45fa3 Initial commit (Create Next App).
  • ec295c9 подключена обширная UI-библиотека (shadcn/Radix), docs, профили команды.
  • 8a0131b страницы home/projects/team/contact + компоненты + data-utils + ассеты команды (убраны resizable, favicon).
  • 0c9f076, 59b89a9 — правки контактов (email/телефон), адаптивная мобильная навигация в Navbar.
  • 9637289 контактная форма через server action + toast (Sonner).
  • 3682c66 добавлена reCAPTCHA.
  • 8c6dcca фикс порта в start-скрипте.
  • Объём: компактный, законченный сайт, выпущенный за ~2 недели; типичная «студийная визитка» с фокусом на команду и захват лидов.
§04

Технические челленджи

Подтверждено кодом.

  • Контактная форма на Server Action (app/actions/contact.ts) → 'use server', валидация полей, серверная проверка reCAPTCHA (POST на siteverify с RECAPTCHA_SECRET_KEY из env), затем отправка в Telegram (sendMessage) с человекочитаемым форматированием. Progressive enhancement через паттерн useActionState (prevState/formData) + toast. Правильный, современный подход Next.js без отдельного API-роута.
  • Контент-как-код для команды → профили в Markdown + gray-matter, что упрощает правки без БД. team/davron.md — расширенное CV (full-stack, AI/ML, LangGraph, MCP, Temporal и т.д.) — по сути готовый источник для брендового позиционирования.
  • Автоматизация ассетов → Python-скрипты для пакетной обработки фото команды (единый размер/формат) и кодогенерация PDF-предложения из A4-HTML-шаблона с print-CSS.
  • ⚠️ Критическая дыра в безопасности: в app/actions/contact.ts живой токен Telegram-бота (8530982815:AAG…) и chatId захардкожены прямо в исходниках и закоммичены в git. Секрет reCAPTCHA корректно вынесен в env, а токен бота — нет. Любой, у кого есть доступ к репозиторию/бандлу, может угнать бота. (Хотя 'use server' не отдаёт токен на клиент, он всё равно остаётся в истории git.)
§05

AI-разработка

  • Найденные сессии: директория сессий Claude Code существует, но содержит только sessions-index.json0 `.jsonl`-транскриптов (вероятно, перемещены/очищены). Отдельный проект …-davrdevfolio не связан с этим (портфолио).
  • Что делалось с AI: прямых транскриптов нет; индекс намекает на ≥1 сессию. Стиль сообщений коммитов (feat:/fix: с описаниями) типичен для AI-assisted разработки.
  • Паттерны AI-воркфлоу: данных нет (транскриптов нет).
§06

Достижения и метрики

  • 4 страницы (home/projects/team/contact), полная адаптивность + тёмная тема.
  • Полный набор shadcn/ui (~30 компонентов Radix) на Tailwind v4.
  • Самописный пайплайн лидов: форма → reCAPTCHA → Telegram, без бэкенда.
  • Команда из 6 человек (профили: bobur, davron, doniyor, ilhom, shahzod, yuri).
  • Готовое коммерческое предложение «Venture Builders» (PDF + генератор).
§07

Контрибьюторы

git shortlog · все ветки

  1. Dave938
1 контрибьютор8 коммитов всего
Сейчас

Открыт к ролям Senior / Staff инженера и избранному фрилансу — продакшн-AI, платформы и full-stack разработка.

Связаться