A Language School Website with Astro.js and Sanity
A course catalogue, a news section, a gallery and testimonials — content that changes every season. Here is why this project got Astro.js with Sanity CMS rather than WordPress.
Updated

sviesigalva.lt
Astro.js • Sanity CMS
What mattered most here
Three things every technical decision on this project followed from.
The content has a shape
A course is not a block of text but a set of fields: name, level, schedule, price, description. Described that way, adding a course means filling in a form, and the lists across the site update themselves.
News without a developer
The school runs events and exam groups it needs to announce when they are relevant. That made a content system the main condition of the project rather than an extra.
Speed stays untouched
Astro.js hands the visitor a page generated in advance. Adding content does not slow the site down — that is the core difference from a classic CMS assembling every page on request.
What this site is
Šviesi galva is a Lithuanian language school in Kaunas. Group lessons, preparation for the state language exam (categories I, II and III), educational events and cultural activities. The audience is foreigners living in Lithuania, so alongside the Lithuanian content the site carries testimonials in other languages too.
The site has a course catalogue, a news section, a section for activities and exam materials, a gallery, testimonials, a partner list and contacts. Technically it is an Astro.js site with Sanity CMS: the visitor is handed a page generated in advance, while the content is managed in a separate system.
Why Astro.js and Sanity rather than WordPress
The content here has a shape
A course is not one block of text but a set of fields: name, level, schedule, price, description. Described that way, the same course can appear in several places at once — in the catalogue, on the home page, in a list of related courses — and one edit updates all of them.
In a classic editor that same course usually becomes a hand-built layout that has to be repeated on every page. While there are five courses nobody notices; when there are twenty and a new season starts, this is exactly where mismatched schedules and outdated prices come from.
The news has to be published without me
The school announces new groups and events when they are relevant, not when a developer has time. So the content system here was not an extra but the main condition: without it the site would have been out of date within one season.
Adding content does not slow the site down
This is the core difference from a conventional CMS. Astro.js generates the pages in advance, so the visitor receives a finished file — the site is not assembling a page on every request. Twenty news entries load exactly as fast as two.
What can be done without me
Editing courses, publishing news, filling the gallery and testimonials, changing contacts. Access to the content system, the code and the hosting goes to the client — nothing stays on my side.
What the editor deliberately cannot do is rearrange the page layout itself. That limit is on purpose: freedom to lay out every page differently is exactly what makes sites drift apart over time. If a project needs the opposite — the client assembling new pages themselves — WordPress with Divi 5 is the more logical choice, which is what happened on Dalyvus.lt.
Who the same solution fits
Astro.js with Sanity is worth choosing when the content repeats along the same structure — courses, services, products, listings — and when someone other than a developer will be updating it regularly. Speed and technical SEO come with that architecture as a by-product rather than as a separate optimization stage.
When there are only a few pages and the content barely changes, such a system is overkill: that case is the Aronijos farm website.
FAQ
What people ask most often after seeing this project.
What does a site like this cost?
A business site with a content system starts at €200. The final price depends on the number of pages and on how many content types have to be described in the system. I give an exact figure after a short briefing.
Can the content really be edited without a developer?
Yes — that is what Sanity is there for. The editing interface is separate from the site: you fill in fields, not HTML. Handover includes a short walkthrough so small changes do not have to wait on me.
Why is Sanity better than WordPress here?
Not better in general, but a better fit for this content. When every entry has the same fields and several lists across different pages are built from them, a structured system protects you from duplication. When the content is free-form pages edited by several people, WordPress is usually the more logical choice.
How long does a project like this take?
A business site is usually ready in 7–15 days, depending on the scope and on how ready the content is. Describing the content types in the system is a separate stage worth planning in advance.
What is next
Need something similar?
Write what will change on your site and who will be changing it — I will tell you whether this needs a content system or whether something simpler is enough.
Get in touch