TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What is your preferred light weight stack for personal projects?

10 pointsby code_lettuceover 2 years ago
What do you reach for when you want to spin up a side project or proof of concept quickly?<p>Lately, I&#x27;ve been partial to next.js, tailwind, and firebase. Curious what others are using; I&#x27;m in the mood to learn something new!

20 comments

robbiejsover 2 years ago
I am using old school php like this:<p>``` &lt;?php include(&#x27;header.inc.php&#x27;); &lt;?php include SOME PAGE BASED ON URL ?&gt; &lt;?php include(&#x27;footer.inc.php&#x27;); ```<p>And &lt;script&gt; tags of course, with vanilla JS. Super quick and reliable. No layers.
评论 #34017110 未加载
评论 #34015626 未加载
评论 #34015464 未加载
alin23over 2 years ago
After building SPAs in next.js and blogs in Hugo, I finally settled on the simplest stack: Caddy+Markdown&#x2F;HTML templates<p>I’ve talked about it more here: <a href="https:&#x2F;&#x2F;notes.alinpanaitiu.com&#x2F;How%20I%20write%20this%20blog%20on%20my%20iPhone%20in%20a%20train" rel="nofollow">https:&#x2F;&#x2F;notes.alinpanaitiu.com&#x2F;How%20I%20write%20this%20blog...</a><p>But the gist is that you have a Caddyfile like:<p><pre><code> http:&#x2F;&#x2F;localhost, notes.alinpanaitiu.com { root * &#x2F;static&#x2F;notes&#x2F; file_server templates { mime text&#x2F;html text&#x2F;plain text&#x2F;xml } encode zstd gzip try_files {path} &#x2F;index.html?path={path} } </code></pre> …and any .md inside &#x2F;static&#x2F;notes will be rendered to HTML, plus any .html&#x2F;.xml will support Go template syntax.<p>This comes with the benefit of automatic HTTPS, asset compression and a one binary server.<p>Deploying is as simple as copying the folder with the Caddyfile and assets to my public server and running “caddy run”
评论 #34017159 未加载
评论 #34015578 未加载
FlyingSnakeover 2 years ago
I’ve been on this route before and evaluated tons of frameworks (Postgrest, Supabase,Directus, SpringBoot, FastAPI Laravel etc) and I’ve settled on the following to quickly create an MVP:<p>- Django+AlpineJS+HTMX<p>- Hugo+ Netlify for static landing page with a custom form linking to GForms.
zamubafooover 2 years ago
Generally for side projects I start with a simple PoC and then iterate into a better fit for the projects needs. Most projects start out with the following PoC stack.<p>PoC: Python + file system as a database<p>If I actually use it a lot or performance is bad then I tweak the stack. Usually persistence is the first thing upgraded to SQLite. Then, if it&#x27;s an HTTP project, I usually throw in jinja2 templates to make editing the layout is easier. Finally, if it&#x27;s something I expect to always be up I&#x27;ll rewrite it in Rust.<p>PoC w&#x2F; web front end: Python + file system as a database + fastAPI&#x2F;Flask + HTML&#x2F;JS&#x2F;CSS as python strings<p>Rust doesn&#x27;t have everything under the sun, so sometimes I&#x27;ll split the service into two: one which handles requests over a named pipe or unix socket in python and the front end in rust.<p>Rust Services w&#x2F; web front end: Rust + axum + askama + SQLite via tokio-rusqlite Python Services: Python + asyncio using asyncio.loop.add_reader and file descriptors to attach to the named pipe or unix socket.
karmakazeover 2 years ago
I typically make a REST backend and client in Vue with all code in one repo that auto-deploys to a cloud VM and&#x2F;or Nelify with a CDN for app and sometimes also the API.<p>For the backend I&#x27;ll use MySQL or PostgreSQL and language&#x2F;framework I&#x27;m interested in, e.g. Go+libs, F#&#x2F;Giraffe, Elixir&#x2F;Phoenix, Kotlin&#x2F;Javalin+JDBI, etc. Even Python&#x2F;Web2py or Php&#x2F;Yii2 or Ruby&#x2F;Rails works alright sometimes.<p>I&#x27;m not much of a fan of ORMs that have a dsl that differs from SQL query composition patterns, JPQL&#x2F;Hibernate is pretty bad.<p>Edit: If I were to make a typical&#x2F;bland mobile app, I&#x27;d probably use Dart&#x2F;Flutter rather than native (and certainly not React-native).
graderjsover 2 years ago
Client &#x2F; Server Web App: Node.JS, Bang.html[0], the filesystem<p>Native downloadable executable desktop GUI application: Node.JS, GraderJS<p>CLI app: ??? Don&#x27;t know yet, GraderJS can work but it&#x27;s focused around GUI<p>Mobile app: ??? Don&#x27;t know yet<p>Embedded: ??? Don&#x27;t know yet<p>Graphics: Processing (but surely there are much better options nowadays)<p>AI: ??? Don&#x27;t know yet<p>[0]: <a href="https:&#x2F;&#x2F;github.com&#x2F;crisdosyago&#x2F;bang.html&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;crisdosyago&#x2F;bang.html&#x2F;</a><p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;crisdosyago&#x2F;graderjs&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;crisdosyago&#x2F;graderjs&#x2F;</a>
surprisetalkover 2 years ago
Front-end: VanillaJS[1] or Elm<p>Server: Deno or Rust<p>Database: Postgres<p>Hosting: Cloudflare Pages and fly.io<p>---<p>Front-end is usually the complex part, so I focus on that first. Elm creates fast and clean front-ends (and the community packages never have bugs), so I embed Elm when the UI demands extra complexity.<p>I generally keep my server code _extremely_ light-weight. I shove most of the complexity of my systems into the database queries, where it&#x27;s easy to optimize.<p>I also find it useful to organize my API into &quot;one POST for each button&quot; and &quot;one GET for each table&quot;.<p>---<p>[1]: <a href="http:&#x2F;&#x2F;vanilla-js.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;vanilla-js.com&#x2F;</a>
eternityforestover 2 years ago
I never use anything truly lightweight for personal projects or prototypes. For one thing, then I&#x27;d have to learn a lightweight stack in addition to the heavier ones for real projects, plus, they&#x27;re not usually that fast and easy to use.<p>I&#x27;m a fan of Node&#x2F;Svelte(I&#x27;ve never started a new project in it but I have enjoyed working on existing stuff in it).<p>For new work I&#x27;ll almost always be using Python, CherryPy, and a Vue3&#x2F;Websockets based approach, usually with quite a few supporting libraries.<p>I also use a lot of Mako templating, but I&#x27;m moving away from that as Mako doesn&#x27;t have good IDE support and it can get in the way of realtime responsiveness.<p>If there will be content involved, which there often is, I&#x27;ll use Showdown to render markdown.<p>One technology I really want to work with more is Microsoft&#x27;s Adaptive Cards, they will likely be finding their way into my projects soon.<p>Against my better judgement I do have a project idea in mind at the moment, but it would need either Dart or Kotlin, and the backend would probably be MQTT, although anything personal project sized would be trashed instantly by a DDoS since part of the design involves an open public backend with all the security on the client.<p>And of course, if my project is embedded, ESP32+Arduino all the way, At $5 or so, there&#x27;s rarely any reason to use a bare MCU or anything that doesn&#x27;t have WiFi unless you&#x27;re doing mass production.<p>One thing I <i>never</i> touch for anything personal is a database. No postgres, no mysql, none of it. If I need one I use sqlite.<p>If nobody is paying for I&#x27;m not doing sysadmin work at home. My stuff is all unzip and run, with dependencies from the Debian or language package repos.<p>I don&#x27;t use Docker or Kubernetes or anything like that, because I avoid anything microservice-like, or anything that requires an external process with nontrivial configuration. Needing an MQTT broker or relying on an external daemon for something very big and complex like Zigbee2mqtt is about as far as I&#x27;ll go.<p>Even apache&#x2F;php is too much config for me. I have very little tolerance for system level configuration needed to support one specific app, and messing with containers isn&#x27;t my idea of fun either.
account-5over 2 years ago
This will be unpopular. For simple PoC stuff that require a GUI and SQL I&#x27;ll reach for MS Access. It&#x27;s so quick at getting something up and running pretty much immediately.<p>Obviously you move on from it, but Im unaware of anything with pretty much everything in one place like it.<p>Recently I&#x27;ve been using Dart and Flutter. I can&#x27;t complain at all.
speedylightover 2 years ago
I’ve been using vite + svelte quite a lot and it’s super nice and extremely lightweight&#x2F;flexible. Server side I stick mainly with flask because it’s the devil I know and it’s super simple to spin up a functional API. I use boostrap for a lot of prototyping, I usually pair it with bootstrap studio which is very good when it works.
j-romover 2 years ago
Vanilla Javascript &#x2F; HTML is the fastest for me. Maybe a couple of Python scripts for automation.
matdehaastover 2 years ago
Laravel with tailwind. Great DX and quick to setup
PenguinCoderover 2 years ago
Simple stuff. If I need more than basic static HTML, I&#x27;ll reach for Flask and postgres.
mikewarotover 2 years ago
Lazarus&#x2F;Free Pascal for anything involving a GUI<p>Python for things related to libraries, etc.
schwartzworldover 2 years ago
Front end: Preact, Solid or VanillaJS<p>backend: a nasty hybrid of NodeJS, zsh and SQLite3
PaulHouleover 2 years ago
arangodb, python asyncio, jinja2 templates, homemade microframework, very little javascript<p>i also interested in systems based on websockets and webgl but that&#x27;s another project
not_me_everover 2 years ago
rust (plus whatever packages the problem needs) on any posix compliant system. Usually leaning toward BSD in production.
0xblinqover 2 years ago
Laravel + Turbo + Alpine + Tailwind
systemshutdownover 2 years ago
Blazor Server
gardenhedgeover 2 years ago
Remix Run