As of today SAS is a Progressive Web App. You can install it directly from your browser. No App Store, no Play Store.
Here's exactly what's involved.
What a PWA manifest actually is
At it's core, a PWA manifest is a JSON file that tells the browser how to treat your website when someone installs it. If you use Django, it lives in your static your static folder and get's linked in your base HTML file.
json
{
"name":"SyntaxAndStories",
"short_name":"SAS",
"description":"A blogging platform built for developers",
"start_url":"/",
"display":"standalone",
"background_color":"#ffffff",
"theme_color":"#4f46e5",
"icons":[
{
"src": "/static/images/icons/icon-192.png",
"sizes":"192x192",
"type":"image/png"
},
{
"src": "/static/images/icons/icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
What each field does
- display: standalone — hides browser chrome so it feels like a native app
- theme_color — colors the status bar on Android
- background_color — the splash screen background while the app loads
- start_url — where the app opens from the homescreen
- icons — you need both 192px and 512px, otherwise the install prompt won't trigger
Linking it in Django
<--!One line in your base template `<head>` -->
<link rel="manifest" href="{% static 'manifest.json' %}">
<meta name="theme-color" content="#4f46e5">
Why I did this for SAS
SAS is built for developers who write regularly. That means returning users – people who want fast, friction-free access. Installing SAS on your homescreen means one tap, no browser, no url bar.
What's next
A full service worker for offline support. The tricky part is SAS is heavily real-time — WebSockets, live notifications, typing indicators. Caching strategies get complicated when your app is inherently connected. Still working through the right approach.
For now — install SAS from your browser and tell me how it feels. 🚀
Loading thoughts...