Show HN: How We Built an Extensible Tour System for Streak
In this technical retrospective (2013), @alooPotato shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.
Core Principles for Independent Builders:
Defaulting to simpler architectures (such as monolithic frameworks, SQLite, or managed VPS) prevents early engineering bankruptcy.
Evaluating true compute and egress costs reveals that high cloud bills can often be slashed by 80%+ through judicious re-platforming.
Code you write at 2 AM as a solo engineer must be easy to debug six months later without complex microservice dependencies.
Community Debate Themes:
HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.
CATEGORY Frugal Engineering →
HISTORICAL ERA Web 2.0 Genesis (2007–2013)
COMMUNITY SCORE ★ 25 points
TOTAL DISCUSSIONS 6 comments
We did something similar.
Configuration file with sections/selectors of the feature to highlight [1].
Model to determine if the user has unseen "tutorials" [2].
JavaScript to show an indicator that new features exist [3][4].
It looks like this, http://imgur.com/a/ZWaHV
[1] https://github.com/photo/frontend/blob/development/src/html/assets/themes/fabrizio1.0/config/tutorial.ini
[2] https://github.com/photo/frontend/blob/development/src/libraries/models/Tutorial.php
[3] https://github.com/photo/frontend/blob/development/src/html/assets/themes/fabrizio1.0/javascripts/op/Tutorial.js
[4] https://github.com/usablica/intro.js
Why bother making this from scratch? There are tons of tour plugins and companies that have sprouted in the past few months.
I just wanted to say, I LOVE your product - it's simple yet flexible...and it lives right where I need it. :)