← All posts

The Story Behind Savchenko Solutions

astrosander
astrosander April 9, 2026 · 4 min read

One Student, One Problem at a Time

Savchenko Solutions started in late 2023 as a personal project. I was working through Savchenko's Problems in Physics and found that good solutions were scattered across obscure forums, handwritten PDFs of varying quality, and Russian-language sites that were difficult for international students to access. There was no single, reliable, open-access resource.

So I started building one. The first version was a static GitHub Pages site — plain HTML files, one per problem, with hand-written LaTeX solutions rendered by MathJax. No database, no user accounts, no interactivity. Just solutions.

The first month had maybe 50 visitors. Most of them were probably me, refreshing the page to check if MathJax was rendering correctly.

The Migration to a Real Platform

By mid-2024, the static site had grown to several hundred solutions, and its limitations were obvious. Editing a solution meant committing HTML to a Git repository. There was no way for other people to contribute without knowing Git. The site had no search, no way to track which problems were solved, and no mechanism for quality control.

In late 2024, I rebuilt the entire platform as a server-side rendered Express.js application with a PostgreSQL database. Solutions were migrated from raw HTML to Markdown. User accounts, contribution tracking, and an editing interface were added. The 11,493 edits from the GitHub Pages era were preserved in a separate github_contributions table so that contributor history was never lost.

This migration was the inflection point. Within weeks, contributors who had been sending me corrections via email could now edit solutions directly.

Growth by the Numbers

The numbers tell the story of a community that grew organically, almost entirely through word of mouth:

The largest contributor communities are in Russia, the United States, Georgia, Belarus, and Kazakhstan — a mix that reflects both the book's post-Soviet origins and its growing international audience.

The LEX 18 Feature

In early 2025, the local news station LEX 18 in Lexington, Kentucky ran a segment about the project. It was surreal — a physics problem-solving website being discussed on evening news alongside weather reports and high school sports. But the story resonated: a student-built platform making elite physics education freely accessible.

The traffic spike from that segment introduced us to a new audience of American physics teachers and students who had never heard of Savchenko but were immediately drawn to the rigor and depth of the problems.

How Contributors Work

Every solution on the site goes through a simple but effective workflow:

  1. A contributor writes or edits a solution using our Markdown editor with live MathJax preview.
  2. The edit is saved and immediately visible (we trust our contributors, and every edit is versioned).
  3. Other contributors can review, correct, and improve the solution over time.
  4. Comments allow discussion about alternative approaches or errors.

This model is deliberately simple. We don't have a formal peer review process with approvals and rejections — that would slow things down and discourage contributions. Instead, we rely on the fact that physics is self-correcting: if a solution has an error, someone will eventually notice and fix it. Our contribution history preserves every version, so nothing is ever lost.

What We've Learned

Simplicity scales. The platform has no build step, no SPA framework, no complex deployment pipeline. It's a Node.js server rendering EJS templates, talking to a PostgreSQL database. This simplicity makes it easy for new contributors to understand the codebase and submit improvements.

Trust your contributors. Opening up editing without approval gates felt risky, but it was the right call. The vast majority of edits are genuine improvements. The few bad edits are quickly caught and reverted.

Content is king. No amount of UI polish matters if the solutions are wrong or hard to follow. We spend most of our effort on solution quality, not features.

The long tail matters. The most-viewed problems are in the early chapters, but the solutions that generate the most grateful feedback are often for obscure problems in later chapters — the ones that students simply cannot find help for anywhere else.

What's Next

We're not done. Here is what we are working on:

Every solution uploaded, every error corrected, and every comment posted makes this resource better for the next student who needs it. That's the engine that drives Savchenko Solutions, and it's powered entirely by volunteers who believe that good physics education should be free.


Want to contribute? Create an account and start editing. Every correction counts.

history community announcement
← Previous How to Start Solving Savchenko Problems Next → The Story Behind Savchenko Solutions

Comments (0)

No comments yet. Be the first!