01 / 05
Client project · 2023, rebuilt 2025
Geoxify
A one page marketing site for an SEO and online growth agency, built around one action: start a conversation on Telegram.
View the case study: GeoxifyWhere ideas find form
We design, build and host websites and web apps for teams in any country. Every project is priced after we read your brief.
Selected work
Sites we designed and built. Scroll, and each one opens the way it does for the people who use it.
01 / 05
Client project · 2023, rebuilt 2025
A one page marketing site for an SEO and online growth agency, built around one action: start a conversation on Telegram.
View the case study: Geoxify02 / 05
Client project · 2024
A personal site for a business growth strategist. It sets out what he does and routes enquiries through a contact form with topics.
View the case study: Ashraful Islam03 / 05
Client project · 2026
A short portfolio site for a software engineer. It puts his work and links first, with search and sharing details in place.
View the case study: Md Mehedi Hasan04 / 05
Concept project, not commissioned · 2026
Concept project, not commissioned. A booking site for an imaginary photo studio, built to show that two people can never take the same slot.
View the case study: Northlight booking05 / 05
Concept project, not commissioned · 2026
Concept project, not commissioned. A marketing site for an imaginary uptime monitoring product, built to show how light a SaaS page can be.
View the case study: TidewatchWebsites and web apps, designed and built for speed, clear type and access for everyone. Each part below is a small live demo of how we work.
01
Lighthouse, mobile profile, measured on the build you are reading. Scores move a point or two between runs.
02
Designed for the smallest screen first, then opened up.
03
A clear focus ring, a sensible order and no keyboard traps. We test it with the keyboard and a screen reader, not only with a checker.
04
scroll-to-section.ts
// Scroll to a section, respect reduced motion, and move keyboard focus with it.
export function scrollToSection(id: string): void {
const target = document.getElementById(id);
if (!target) return;
const reduce = matchMedia('(prefers-reduced-motion: reduce)').matches;
target.scrollIntoView({ behavior: reduce ? 'auto' : 'smooth' });
if (!target.hasAttribute('tabindex')) target.setAttribute('tabindex', '-1');
target.focus({ preventScroll: true });
}
It scrolls to a section, respects reduced motion and moves keyboard focus with it. A link that scrolls but leaves focus behind fails people who do not use a mouse.
05
Lines that are too short break the rhythm and lines that are too long lose the reader. We keep body text between 60 and 72 characters. Drag the slider.
A good page reads the way a good book does. The eye needs a line it can finish without effort and a gap between lines that lets it find the next one. Drag the slider and watch the same paragraph change. At around sixty characters the text settles. Much wider and you start to lose your place at the end of each line. Much narrower and every sentence feels broken into pieces.
Most projects take 7 to 15 days from a confirmed brief to launch. Your written quote gives the exact date.
Ask a question before, during or after your project, in the channel you prefer.
Chat on this site
The first reply comes from an AI assistant, always labeled as AI. You can ask for a person at any time.
hello@rupovia.com
Our assistant answers at any hour. A person from our team replies whenever someone is online, on any day and at any time.
We are a small team that designs and builds websites. We like clear briefs, honest scope and decisions written down. We would rather tell you that a feature is not worth building than build it and send an invoice. You will know what is included before we start, you will see the site while it is being made, and you will own it when it is done.
The team at Rupovia
Short, practical notes from our builds: what we tried, what we measured and what we would do again.
Fade in on scroll looks easy. We found two ways it quietly fails, including one where headings could stay hidden for good.
Our footer name had a light that kept running. It looked busy, not premium. Here is how we made it play once, only when someone asks.
Checking that a time is free and then saving it are two steps. Here is how we made them one, and how we tested it with a race.
Every project is scoped from your tasks and priced after we read your brief.
Start a project