Batyevka.NET - Internet Service Provider Platform
Web ApplicationCompleted

Batyevka.NET - Internet Service Provider Platform

When "check if we cover your address" needs to actually work.

A Ukrainian ISP needed more than a brochure site. They needed a tariff calculator, address coverage checker, SMS verification, and Telegram notifications. Built it all in Next.js.

3 months
2 people
Lead Developer
Batyevka.NET

Key Metrics

70%
Self-Service Rate
<30s
Avg. Calc Time
500+ streets
Coverage DB
<1.5s
Page Load

The Problem

ISP websites are usually terrible. "Check coverage" buttons that lead to call centers. Pricing buried in PDFs. No way to verify phone numbers. Batyevka needed something that actually helps customers self-serve.

The Solution

A real web app, not a marketing site. Enter your address—get instant coverage confirmation. Configure your plan with live pricing. Verify your phone via SMS. Request a callback that actually creates a ticket in their system.

Key Features

Live Coverage Check

Type your address, know instantly if G-PON or XGS-PON reaches your building.

Interactive Tariff Calculator

Slider for speed, toggle for TV, checkbox for static IP. Price updates in real-time.

SMS Verification

No fake phone numbers. Every callback request is verified before hitting the support queue.

Telegram Notifications

New lead? Support team gets a Telegram ping. No more checking dashboards hourly.

Address Admin Panel

Support staff can add streets, mark buildings as serviceable. No developer needed.

Ukrainian Localization

Not translated—written for Ukrainian users. Proper address formats, local conventions.

Before & After

Coverage Inquiries to Call Center
Before
100%
After
30%
-70%
Time to Get Quote
Before
24h (callback)
After
30 seconds
-99%
Fake Lead Rate
Before
~25%
After
<5%
-80%

Technology Stack

Frontend

Next.js 14ReactTypeScriptTailwind CSSshadcn/ui

Backend

Next.js API RoutesPrisma

Database

PostgreSQLRedis

Integrations

SMS GatewayTelegram APIServDesk

Technical Highlights

ServDesk Integration

Callback requests create tickets automatically. No copy-pasting between systems.

Real-time Price Engine

Complex pricing rules (speed tiers × TV packages × connection type) calculated client-side.

Address Autocomplete

Fuzzy matching on street names. Handles Ukrainian address quirks.

Duplicate Prevention

Same phone number can't spam requests. Rate limiting with Redis.

Challenges Overcome

Ukrainian address formatting is inconsistent

Built a fuzzy matcher that handles "вул.", "вулиця", "ул." and common typos.

G-PON vs XGS-PON have different speeds/prices

Calculator dynamically adjusts options based on detected connection type for the address.

Lessons Learned

  • SMS verification kills fake leads. Worth the per-message cost.
  • Telegram bots are underrated for internal notifications.
  • Ukrainian users expect Ukrainian UX patterns, not translated English ones.

Project Overview

A comprehensive web application for Batyevka.NET, a Ukrainian internet service provider, built using Next.js, React, and TypeScript. The platform serves both residential and business customers with features for service management, tariff calculation, and customer support.

Calculator page

Calculator page

Key Features

Interactive Tariff Calculator

  • Custom-built calculator allowing users to configure internet plans with various parameters
  • Real-time price updates based on selected options
  • Integration with TV services and additional features like static IP addresses
  • Support for different connection types (G-PON and XGS-PON)

Address Management System

  • Administrative interface for managing service coverage areas
  • CRUD operations for streets and buildings
  • Validation system for preventing duplicate entries
  • Status tracking for serviceable locations

Customer Service Integration

  • Integration with ServDesk for ticket management
  • Automated notification system via Telegram
  • Phone verification system using SMS
  • Call-back request functionality

Multi-language Support

  • Full Ukrainian language support
  • Localized content and interface elements
  • Adaptable content structure for multiple languages

Technical Highlights

Frontend

  • Next.js 14 with App Router
  • React with TypeScript for type safety
  • Tailwind CSS for responsive design
  • Custom component library including modals, forms, and interactive elements
  • ShadCN UI components for consistent design

Backend

  • RESTful API architecture
  • Prisma ORM for database management
  • Integration with external services (SMS gateway, Telegram API)
  • Secure authentication system

Architecture

  • Clean code architecture with separation of concerns
  • Modular component design for reusability
  • Responsive layout supporting multiple device sizes
  • Performance optimized with proper resource loading

Notable Technical Solutions

  • Custom form validation system
  • Real-time price calculation engine
  • Adaptive layout system for different screen sizes
  • Optimized image loading and resource management

Business Impact

  • Streamlined customer onboarding process
  • Reduced customer service workload through self-service options
  • Improved service area management efficiency
  • Enhanced customer experience through interactive features

Development Approach

  • Component-based architecture for maintainability
  • Mobile-first responsive design
  • Strong emphasis on user experience
  • Comprehensive error handling and validation
  • Integration with existing business systems

Challenges Overcome

  • Complex pricing calculations with multiple variables
  • Integration with legacy systems
  • Real-time address validation and verification
  • Multi-step form processes with state management

This project demonstrates strong capabilities in:

  • Full-stack web development
  • Complex business logic implementation
  • Third-party service integration
  • User interface design
  • Performance optimization
  • Enterprise-level system architecture
#ISP#Next.js#Ukrainian#B2C#Self-service#SMS Verification