Hacker News new | threads | past | comments | ask | show | jobs | submit DanielBMarkham (43678) | logout
Ask HN: Companies of one, what is your tech stack?
116 points by ecmascript 4 hours ago | unvote | flag | hide | past | favorite | 128 comments
Hello dear HNers.

Each year for the last two years I have asked companies of one, meaning companies that consists of only one person of what tech stacks you use. Feel free to link to your site or project for show case if you want.

Here is the last two threads:

(2020) https://news.ycombinator.com/item?id=25465582

(2019) https://news.ycombinator.com/item?id=21024041

What is your tech stack?

Why did you choose it?

Do you think your choices had any impact on your success?

Thanks in advance!

I run a file sharing / content delivery platform called pixeldrain: https://pixeldrain.com

The system serves 4 PB of data to 60 million visitors per month. I have served 30 PB and 700 million file views since I started tracking usage somewhere in 2018.

I'll go from front to back:

- Most of the frontend is plain HTML, CSS and JS. I have started transitioning some pages to Svelte. I like this framework for its speed and simplicity

- Cloudflare Analytics to get basic info like which pages are popular and where my users are from

- The structure of the website (page wrap, menu, footer, etc) is managed with Go's template system

- Constellix for Geo-DNS. This automatically sends users to the server closest to them by doing Geo-IP lookups on the nameservers

- The user-facing servers are dedicated 10 Gbps Leaseweb servers, stuffed to the brim with SSDs in RAID6 for caching. Each of these servers cost €1200 per month. The storage servers are from Hetzner's SX line.

- The OS is Ubuntu 20.04 server edition. I use Ubuntu over Debian because it ships with TCP BBR

- The API is written in plain Go. The only HTTP libraries I use are httprouter for routing and Gorilla Websockets

- The storage system is custom built to spread files over multiple servers. I call it pixelstore, it's not open source (yet)

- The database is ScyllaDB. I landed on this one after going through multiple other systems with severe bottlenecks. I started with MySQL which was limited to a single location, so other locations had high latency. Then I tried CockroachDB, but it kept hanging under the load no matter how much hardware I threw at it. ScyllaDB is very fast and relatively reliable.

- UptimeRobot for monitoring

- Mailgun for account e-mail verifications

Feel free to ask me more questions :-)

very popular service in latam (colombia,peru,mexico,venezuela)

Definitely. Here's a screenshot from my Cloudflare analytics: https://pixeldrain.com/u/dt92pNgf

Most of my users are Vietnamese. Unfortunately bandwidth is very expensive there, so I have to serve all that traffic from Europe.

https://boxy-svg.com - vector graphics editor similar to Inkscape and Adobe Illustrator.

Both client- and server-side code is written with vanilla JavaScript. Since I'm targeting only Electron and modern Chromium-based browsers I can use latest web technologies without any transpilers or preprocessors. I'm using mostly raw DOM APIs without any abstraction layers.

Third-party services:

- Firebase (database, storage, hosting, cloud functions)

- Paddle (payments, taxes)

- Algolia (instant search)

- ProtonMail (regular emails)

- SendGrid (transactional emails)

I have been using Firebase, Paddle and Algolia for several years now. So far I had zero problems with them and the overall experience was great (intuitive dashboards, good documentation, clean APIs).

CodeApprove is a better code review tool for teams on GitHub: https://codeapprove.com

The frontend is Vue 2.0 and TailwindCSS. No other major libraries besides the Vue standards (router, store, etc).

The site is delivered by Firebase Hosting and the backend is all Firebase (Firestore, Auth, Storage and Cloud Functions)

I absolutely love this stack. It’s so simple to run and requires no maintenance. Plus the fixed cost is $0. To deploy I use manually-triggered GitHub Actions workflows.

The best part of the whole thing is the local dev experience. With the Vue CLI and the Firebase Emulators I can run my entire stack locally with hot reload across frontend and backend. When I push to production I am confident.

Take payments in browser extensions: https://extensionpay.com

- $5/month Digital Ocean server

- HTTP server: pm2 / Node / Express

- Database: SQLite (because it's fast and needs fewer resources and less configuration than others)

- Front/backend - custom full-stack Svelte framework.

- Analytics: GA

- Email: Mailgun

- Uptime monitoring: Nine9s (https://nine9s.cloud/ from another solo dev I believe)

The Svelte framework I made is really cool. It makes it really easy to have server-rendered pages (for search engines and fast initial page load), pre-compiled static CSS, code-splitting per page, and automatically generated JSON APIs per page that re-render the Svelte component, as well as lets me use Svelte on the front-end which makes development much easier for me. Example code here: https://github.com/Glench/full-stack-svelte-prototype/

The tech stack has basically no effect on success as far as I can tell except that it's fast for me to develop.

This is pretty good. I like the concept where api and ui is in the same file. Different from sapper and nextjs but pretty interesting.

If anyone wants more of a deep dive on solo developer tech stacks, I have a podcast at https://runninginproduction.com/podcast/ with almost 100 episodes and 100 different guests. Every episode is a 60-90 minute unscripted podcast where we talk about how they built and deployed their app, what libraries they used, tech stack, lessons learned, etc.. There's also a skimmable list of tech stack tags, reference links and show notes.

Episodes are a mix of solo developers and organizations but based on having personally recorded and edited every episode my gut says about 30% of the episodes are solo devs and it's usually pointed out in the first few minutes of the show.

With that said, if you want to be on the show to chat about your tech stack let me know. There's a "become a guest" button in the nav bar to get the ball rolling.

Knowledge management for organization (Confluence/Notion competitor) https://dokkument.com

Backend: Django + Django Rest Framework + Celery + Postgres

Frontend: Vanilla Js + prosemirror

Deployment: Manually on rented servers

Picked that because this is probably the fastest way to code for me, no bullshit. I know that if I add any new tech that will slow me down, because I'll have to learn and master it and that takes a lot of time.

I don't think that has any impact on my success at all. Customers don't care about the stack, the only thing that it impacts is development speed. And this is not a significant factor. The most important thing in Saas B2B is sales skills

My app is https://bioviz-studio.com, a web-based tool to create beautiful video visualizations of molecular structures. App itself is at https://app.bioviz-studio.com.

Front end: Vue, vuetify, vuex, NGL, three.js/webgl, d3.js, 100% typescript, yarn, webpack Back end: node.js, express, Firebase, GCE, Blender, ffmpeg, docker, CUDA

Why? Vue for pretty UI & ease of coding, NGL for beautiful molecular graphics, Firebase because it makes getting from 0 to 1 easy, Blender because of Cycles renderer & scriptability.

Have choices impacted success? Definitely! Faster iteration leads to better UX, good architecture leads to stronger foundation, and standard tech means I can on-board a contractor when needed.

This is amazing

I taught myself to program to build https://comparedial.com/, a comparison website for phone contracts in the UK.

Front end: plain JavaScript

Back end: Node.js

Host: $10 DigitalOcean droplet

Web server: Nginx

SSL: Let's Encrypt with certbot

Proxy: Cloudflare

Database: Postgres

Caching: Redis

Indexing: MeiliSearch

I wanted to learn JavaScript and understand the fundamentals, so I used vanilla JavaScript for the front end without any framework (React, Vue, etc).

Initially, the comparison engine was slow, so I learnt about indexing and added MeiliSearch to the stack.

I try to keep it as simple as possible and only add what I need.

I plan on migrating to Next.js eventually - not because I need to, but because I think it will be a good learning experience. However, that's not my priority right now, and is probably an excuse for marketing/content procrastination!

Hey! This is brilliant!

Obviously you speak about the tech stack you use here, but your UX is absolutely perfect. I just used your product and got exactly what I wanted without even thinking. My brain didn't second-guess myself once. I didn't read anything superfluous - in fact I don't think I read anything at all. The search box and images of the phones did it all for me, and the autocomplete for search was perfect. I loved that only after I searched did it give me the option to refine (like size of model)

I usually use comparethemarket or something similar when shopping around, and it's a bit of a pain - though I only realised how much of a pain since using yours.

I don't know how much conscious thought and work you put into the UX - as you mainly talk about the tech - but it's great. Well done!

Thank you, your comment made my day!

I come from a design background. I didn't like the UI/UX of similar comparison sites, so my aim was to improve upon what's already out there. Glad to see someone noticed!

this is fantastic- do you get an affiliate fee?

i'm looking a new phone and total cost of ownership might swing buying it through this site

where do you source the deals? is there an api?

Thank you. I do get an affiliate fee for each sale. Most retailers provide csv feeds when you join their affiliate program. Parsing and organising the data can be quite difficult as there is no uniform structure and most retailers provide bad/incomplete data. There are a lot of weird edge cases I need to work around.

There are a lot of weird edge cases I need to work around.

This sounds like a potentially more valuable product to me. Any time I find myself doing integration work like that in an e-commerce setting I think "hm, could this be the Stripe of X".

I run a handful of dedicated PC game servers for a small community of gamers. https://noobshack.com and https://reulan.com

What is your tech stack?

- Frontend (JavaScript, NextJS)

- API (Golang)

- Observability (Honeycomb.io - for events, k8s metrics, visual data analysis)

- Infrastructure Hosting (Kubernetes - container platform to run it all, in my case Google Kubernetes Engine)

- Deployment (Terraform - all deploy components are written in HCL)

- TLS (Let's Encrypt)

Why did you choose it?

I wanted to have a minimal set of tools to manage my infrastructure, with the varied workloads of (API, game server, website, etc.) building containers and running them on the Kubernetes platform made it a one stop shop for storage, network and compute uses.

Additionally on the deployment side Terraform providers and in some cases modules were already available for me to use for bootstrapping specific infra components I am interested in.

Do you think your choices had any impact on your success?

It's allowed me to create a large amount of boilerplate, so I'm at a good point if I wanted to add more servers of different types it a relatively easy change compared to how I managed it all manually years ago.

This side project has allowed me to develop a technological skillset that definitely have helped me critically think in a software development career route.

App with Web account management:

Ionic, Stencil, Capacitor, TypeScript.

A CouchDB per user for auto sync across multiple devices.

Backend with Node, CouchDB, TypeScript, pm2 on a VPS.

Sendinblue for transactional emails (EU).

Why? Because Ionic lets me target iOS, Android and web with a single code base and almost no custom view code per platform. For non-technical users it is "good enough". Nobody ever complained about the non-nativeness.

CouchDB enables auto-sync with 0 lines of syncing code. It’s good, although there aren’t super many tutorials on the web.

CouchDB makes my app offline-first. I’d say this aspect alone is extremely great. A competitor has a similar app, but native. However, saving data requires an internet connection. This makes their native app feel slower than my non-native offline-first app.

For account management, I wouldn’t use it again, because I like SQL and that it makes it more easy to calculate some business statistics you might need only once.

https://hanami.run email forwarding services with webhook, smtp, disposable emails

Tech Stack:

- Ruby/ for webapp and user facing service: very quick to get the feature out, easiser to work with HTML, database access. Being a one man shop, I have to develop fast

- Go: mail server and anything that isn't user facing or doesn't involve rending HTML. Statically type to reduce bug, performance to cut cost, this is the core of business.

- React Native: for our (upcoming) mobile app so I can share code for both of android/ios

I think the ability to ship out feature fast is important to keep user engage. And with the performance of Go I can keep cost low. https://hanami.run currently handles about 50K domains and processes 10 email per second and the entire infrastructure is ~ $100 per month including redundancy.

Nice service!

You may want to hire a native English speaker to check the text on your website though, it's full of errors and odd wording.

https://recordwise.ch - helping founders incorporate in Switzerland:

- Django/Python

- SQLite

- Celery and Redis for task queues

- Bootstrap4

- jQuery

- Sentry for error tracking

- Stripe for payments

- EmailOctopus for newsletter

- SendGrid for transactional emails

- NameCheap for the domain

- Linode for hosting

Running costs are USD 7/month for Linode + USD 15/year for the domain. SendGrid is currently free through the Twilio Startup Program.

Why did I choose it?

I am a lawyer and startet to learn how to code from scratch.

Python was being recommended because it is easy to learn. So I chose that.

Further, there are many Python/Django tutorials available online and I was always able to find my answers online. That definitely helped me to keep going and not give up.

Hey, is this service open for non-Swiss residents? If yes, is there an English version of the website available? Thank you. :)

Getting very close in my large side projects for everything to just be Go + PostgreSQL. Go is the API, business logic, and very soon the entire web layer. This is all on Linode, there are no containers I just put a binary on an LTS Ubuntu and then iptables to just those ports (with SSH configured in their Cloud Firewall to only be possible from my home IP).

I have a long term itch that I want to scratch soon, whether it's possible to dispose of PostgreSQL and just store my data in an S3 compatible object store and yet still have a SQL interface to it. https://blevesearch.com/ is on my list of things to look into for this. I'd already structured the PostgreSQL schema with the possibility of putting individual tables into an object store, but as my databases grow I'm keen to avoid becoming a DBA and I don't use most PostgreSQL features so if I have the chance to reduce my tech stack to just Go I may take it.

What I've learned from having a mix of Python + Django + some NPM... bitrot and maintaining dependencies is a debt that you have to start paying way too soon. Originally only the API was in Go, but that is the one part that over years has required virtually no debt paydown due to the language, environment, dependencies. You can leave a Go application for 8 years and all you need do is compile it to the latest Go and everything works perfectly... I can't even run or upgrade Python apps from half that time ago without major work to bring it up to date. As the side projects proliferated or grew, it is less overall effort for me to rewrite in Go than maintain everything else.

Django, doit, tailwind, vuejs with vite, postgres, redis, poetry, git and ubuntu.

I've tried many alternatives but every time things are just slower to dev.

This stack has a great balance between integration and flexibility. The only things that matches the django ecosystem is the rail/symfony ones, but ruby and php outside the web are limited. Js has diversity but integration is seriously lacking. Anything else is too low level which is not a good cost/benefit ratio for me.

Vite, vue and tailwind makes front dev fun again, postgres and redis can deal with everything without tuning up to millions of users and ubuntu and git are just easier to find tutorials for.

The impact is huge as I can actually focus on my value proposition for my client. They can ask me to add a cms, a weird service auth or some messed up ftp pdf generation workflow and I can leverage existing libs 80% of the way, with just enough custom to charge premium.

I end up twice faster, 3 times cheapers than my competition and yet my hour billing is very good and my stress at sea level.

I'm building https://simplescraper.io - data extraction in the spirit of the late Kimono Labs.

Front: Vue.js, Tailwind

Back: Node.js, Firebase (Database, Hosting, Functions, Scheduler)

Management: Airtable, Github, a 30,000 word README file

I loved kimono I hope you are successful and I will check out your product.

I turn existing websites into apps at https://webtoapp.design

I went with Flask (python) + Bootstrap for my website.

The apps are created in Flutter, which was a great choice looking back on it. This allows me to have 1 codebase for both Android & iOS apps (most customers want both). If developing an app for just Android would be 100% effort, developing an app for Android and iOS with Flutter is around 130% effort I'd say. Those additional 30% mostly come from inconsistencies in Flutter between Android & iOS and from desired differences between the platforms, e.g. Material vs Cupertino design.

I developed native Android apps before and now I'd even use Flutter if I wanted to just create an ordinary Android app. It's just so much nicer to use in my opinion.

Summary: Flutter was a great choice, Flask is fine too, nothing to complain about there.

Wow sounds fun, the idea for the website sounds fun as well and congrats on the launch.

Small suggestion, could you not automatically display the pricing according to the location of the IP address of the user. My IP is being guessed as its from Indonesia and I see pricing that I am unable to read. And I don't see an easy way to look at the pricing in a more familiar currency.

Far too many websites do this, its so annoying :(

Thanks for the feedback! That makes sense, thanks for letting me know. I fetch the prices via an API from my payment processor, which does the guessing.

I'll add it to my todo list to offer a manual override :)

.lifting-card {height: 100%}

If you like the column heights aligned on /convert/appdetails.

Thanks for the tip! I might use that, need to think about a good way to deal with the additional white space in the card :)

How long did you spend on the Droste effect on your homepage? :D

Haha i spent like 3 days on that image in total. The starting point of the image is from undraw.co (i think it's called "web app"). First I wanted to use recursion but in the end it was a lot easier to just make a simple loop to nest the image 3 times or so (beyond that it just unnecessarily increases the DOM size without a big visual difference)

Also make sure to hover the image, it's animated! I love how the nested images get animated too.

All in all it was fun to work on and I learned a lot about SVG while I had nothing super important to do :)

love this question. hacking my stack to make it free or almost free is definitely one of the parts of having a side project i dig...

(music app #1)

- ios + macos native apps: swift + (reactnativeweb/reactjs/redux/orbitjs in a webview)

- web: reactnativeweb/reactjs/redux/orbitjs

- backend: none, just talk to streaming service APIs.

- hosting: AWS Amplify

total cost to run: $0

(music app #2)

- web front end: nextjs

- backend (which just serves up some munged public domain data): postgres+rails running on a mac mini in my basement

- backend (user profile data): firebase (i also get free auth/login with that)

- hosting: vercel.com

total cost to run: $24.95/year (for noip.com's dynamic DNS+SSL package).

Not a single-person company but I worked on projects and in roles where I was the single person making decisions. Here is my small overview of the ML (machine learning) and DS (data science) world. Hope you find it useful

> What is your tech stack?

The choices are python, scala, julia, matlab and R. Of these python takes at least 90% of the market. I am using python and will do so for the forseable future. Don't like it but it's super practical thing to do. Fingers crossed Julia hits mainstream in the next few years.

Since I am mostly in the computer vision world my stack is torch, torchvision, pytorch-lighting, opencv, scikit-image, scipy and numpy. From time to time i call upon numba when it is impossible to avoid a loop (python loops are sloooooow, numba JIT compiles). Very rarely i coded stuff in C++ and used cython to link it to rest of python. Most of the stuff is already there. For model inference serving i use fast api.

> Why did you choose it?

I chose python because there is no real choice here. It's a monopoly. Winner with most ready to use packages takes all. I am rooting for Julia to eventually win over python as using python as the (big) data language is contradictory given how slow the interpreter is. Also it is not a GPU native language.

Torch was more of a personal choice as I really hated tensorflow 1.X versions and the compute graph. It was hard to debug and follow what is going on. Tensorflow 2.X moved to same mode of computation like torch but it was already too late for me.

> Do you think your choices had any impact on your success?

I think going with tensorflow would have worked as well. Lot more annoying but good base. Using language other than python would have been a bad idea. Practical ML is a lot like JavaScript WebDev. Get a bunch of stuff from 3rd party packages and write some glue code.

https://flat.social - a webapp for building playful virtual spaces for meetings and socials. (demo here: https://www.youtube.com/watch?v=JO9o1DobMzs)

Front-end: Typescript, Next.js, Styled Components

Back-end: Typescript, Node.js, Express, Socket.io, Express Audio/video: Mediasoup

Deployment: Github workflows, Docker

Analytics: GA, Mixpanel, Sentry

Hosting: A couple CPU-optimised droplets from Digital Ocean, Firebase

Next.js + Styled Components was a really good choice. When time is limited, reducing any silly roadblocks is really important.

Mediasoup is pretty raw when it comes to setting up basics of video conferencing but allows for a much higher level of customisability and optimising final operational cost. It was a world of pain initially (not many solid examples of how to use it) but worth it at the end.

> Do you think your choices had any impact on your success?

Maybe not on success (reality will verify that in the coming months) but on avoiding any unnecessary failure on the way. I worked and interacted with startups in the past that would get excited and jump on using newest tech (the very first version of Swift or early version of React Native for example...) just to end up battling the unknowns after a couple weeks / months. I try to keep the product fun but keeping the tech stack boring and predictable.

Ruby on Rails, with a couple React bits in there for “islands of interactivity”. Coupled with old-skool Heroku it lets me punch above my weight class, iterate like you would not believe, and focus on the business.

I only recently moved to Rails though. Before that I was full stack TypeScript, which was cool and I still miss the static types, but it’s worth going without them.

Yeah I was evaluating back-end tech stack for a recent side project, most of my work these days is in TypeScript or C++, so a large part of me wanted to have types and go with a TypeScript/Node stack... but on further evaluation, both Django and Rails let you do so much on the back end with so little code, just by following their conventions and using off-the-shelf libraries, that I'm willing to trade off types in exchange for much less code to maintain (and easy Google-ability of problems).

Node is great, but I didn't come across any frameworks that rival Django or Rails in terms of maturity, and for a side project with no special requirements in terms of scalability etc., I'm not really interested in piecing together multiple libraries or writing a lot of code myself.

I actually ended up building the back-end twice lol - I was looking for the opportunity to try out GraphQL (overkill really, and it goes against what I said about keeping things simple, but I felt it was a good opportunity to try it) and ended up hitting some big performance issues with Django + Graphene – not sure how much of it was my fault vs. Python's GraphQL being slow, but in the end I rewrote the API in Rails + ruby-graphql in half a day and the performance is 5-10x faster there.

Having had the opportunity to build the same thing in them both, I'd say that Django's ORM is quite a lot better (I prefer the Django way of "update the model and the ORM will work out what migrations you need" vs Rails where you explicitly create migrations) and I prefer the Python language (simpler syntax, Ruby has so many ways to express the same thing); but Rails is probably actually quicker to work with and the quality of the Gems available for common stuff seems better than the Django equivalents.

Ultimately both Rails and Django let you get a lot done with not much code and are pretty similar conceptually – I'm impressed with both!

Talent schedule management system: https://www.flowboardpro.com

- Server: $5/month Ubuntu server from DigitalOcean

- HTTP Server: Caddy

- SSL: Caddy

- Backend: Ruby on Rails

- Database: PostgreSQL

- Frontend: Vanilla JS + Vue.js + Inertia.js + Boostrap

- Email: Mailgun

- Storage: S3 (very low usage)

- Backup: Daily on Dropbox using rclone

I'm not actively working on this anymore but I've users from a couple of organisations using the product which generates a good passive income

Engagement Ring Marketplace: https://caratdrop.com

Lots of AWS credit for 2 years from YC Startup School

- ECS / Fargate / Docker

- Deployed via Terraform and Github Actions

- Next.js / Bootstrap, mostly from boilerplate Stripe made

Chose bc I'm familiar with the backend. New to Next.js but boilerplate got me to an MVP the fastest.

Wouldn't consider myself successful yet but I'm happy developing on my stack and that goes a lot way when I'm working mornings/nights on it.

On a similar note, has anyone used a pre-built "saas starter kit" or the like? If so, how is it going? Do you regret using it?

Reason I'm asking is because I'm trying to write a new app from scratch but I'm getting demotivated having to implement things like users, organisations, and other things that is essentially just re-inventing the wheel.

There is www.divjoy.com which seems promising (haven't tried it myself though)

Nowadays I'm using Django + Unpoly + tailwind. I just discovered a few days ago slippers which is just what I was missing. Also using Huey for background jobs, whitenoise for assets, esbuild for building js. And finally dokku to deploy (and just doing daily VM images for backup)



I make a lot of prototypes along with maintaining production systems. A lot of the projects have to do with ML/NLP, which basically means I have to chose python as a core backend language. Which is great, I love python. My core production system and every new prototype is: - Django + PostgreSQL - Celery + redis - for long-running tasks - React - GraphQL - Terraform + Cloud-init to provision the infrastructure

All quite boring and stable, the way it should be :)

I have a longer writeup, along with my reasoning for the technologies I chose: https://kubami.com/articles/my-modern-saas-software-stack/

How time flies... React, GraphQL and Terraform are considered boring and stable.

Fair enough for the GraphQL.

However I'd say React is so widely use I'd say it is boring and stable (as the frontend tech goes)

Terraform, well, what is the alternative? Clicking through web interfaces, or bash scripting the cloud-provider CLIs.

Terraform hit 1.0 quite recently, so let's wait for all that boring and stable please, otherwise the words lose meaning...

50+ sysadmin told me Ansible is the rock-solid.

Could you share what python libraries you use in your projects for ML and NLP?

Some of the libraries I use

- nltk - preprocessing

- spacy - preprocessing, entity recognition, part of speech recognition

- gensim - Similarity and clustering

- pytorch - ML model building

My stack for https://www.withcardinal.com is based on my experience with working on startups and the things that come up down the road. We're technically a 2 person company because I have a more business oriented co-founder, but I'm the only programmer and ops person.

> What is your tech stack?

We use a managed K8S provider so we don't have to deal with server and cluster upgrades ourselves. That's a huge time sink, especially as server counts scale up. Our cluster has Nginx for ingress, Loki for logs, Prometheus for metrics, and Grafana to keep an eye on things.

We're building the app in Node.js, primarily because in our app there are a handful of spots where we can share code between front-end and back-end. We use Next.js a lot, and use Bull for our queueing at present, and use the ws module for our websockets.

We use PostgreSQL for database, without an ORM just because that's my preference, and we use Redis for queues and some caching. That'll likely change over time as we grow, but managed Redis is pretty much ubiquitous at this point so it's an easy place to jump in.

> Why did you choose it?

My stack is mostly based on past experience and the requirements of the app. Since I'm hoping to grow the company and am mainly b2b focused, having a popular infrastructure stack makes life a lot easier in security audits and contract redlines, and in finding ubiquitous tools. Like I mentioned above, I didn't want to deal with server upgrades, so I'm using a managed k8s provider. We're using node.js heavily because there were a few obvious paths where code could be shared between server and client.

> Do you think your choices had any impact on your success?

We will see. We're very early in our journey, but I'm hoping keeping things easy to change and ubiquitous will help us as we progress.

Something different. I'm a Voice Actor, my "tech stack" is Reaper-iZotope

My "business stack" is Zoho One, which has been fantastic for managing everything else that isn't my tech stack (crm, website, billing, books, docs, mail, file storage, etc...)

I have a couple of corporations:



It seems most folks have "tech stacks," which, to me, means "Internet-based software applications, or SaaS." I write native apps for Apple devices (iOS/iPadOS, WatchOS, TVOS, and MacOS). Some, use Internet-derived services, but some are also standalone on the device, or use things like Bluetooth.

My "Stack" is basically Xcode.

I've found that CI/D tools aren't actually very useful, for me. I work in a very dynamic fashion that has lots of twists and turns, and these tools tend to be "Concrete Galoshes"[0]. I'll script portions of the build, like docgen.

Basically, the four apps that I use, are Xcode, BBEdit, SourceTree, and Adobe Illustrator (for creating assets. I like to use vector, if at all possible). I have dozens of others that are used on an "as-needed" basis, like Charles Proxy, or Postman. I also have a bunch of devices that are used as test subjects.

I make heavy use of Apple's TestFlight beta-test service.

And I use GitHub as my offsite repo (pro account/free account ).

[0] https://littlegreenviper.com/various/concrete-galoshes/

1. How do you handle bug reports? Do you use a ticketing system where your customers can report bugs?

2. Do you publish directly to the App Store, or do you send the application to the customer who publishes it for themselves?

Full stack serverless. It's always important to reduce ops but even more so as a team of 1.

I use serverless-stack with every AWS service I can possibly use to reduce my code liability.

For my side company I design and build audio electronics for DJs.


Here is my tools & workflow:


Professional CAD tools are not cheap, so I'm basically breaking even. I'm mainly doing it for the love it -- I love to create things to inspire others to also create.

Luckily I have a full time job to keep me going :)

Did you take a look at Shapr3D?

Wow thanks for the heads up on Shapr3D, definitely going to check it out :)

Tell me about it, I also use some professional CAD tools (Revit) but on my day job.

I hate to say it, but maybe no one would really care if you would pirate it? It just doesn't seem right to spend so much money on such expensive software that is probably that expensive due to big business using it and no competition.

Looking at the workflow I guess it's SOLIDWORKS.

I used to pirate everything, but is it a solution? In the past perhaps, I wanted to use expensive software, I was experimenting, didn't have the means to buy a license, and there weren't many alternatives to mainstream software, either proprietary or free. But nowadays things has changed for the better, so I try to build my workflow around what I can afford.

On a tangent, in my opinion, the advent of crazy cloud subscriptions have stimulated the community to find alternatives and promote more sustainable software. GIMP or Blender wouldn't be what they are today if everyone kept easy pirating Photoshop or Maya for example.

To op, if SOLIDWORKS is draining your pockets look at these alternatives[1], it's not my field, I can't say anything about them.

[1] https://expertratings.net/solidworks-for-free-and-alternativ...

I've managed to find some middle ground by taking advantage of short term licenses, i.e. renting software for a couple of months to get the work done after balking at four to five-digit sums to own perpetual licenses. Still, would be nice to own the software outright.

Appreciate the links! Indeed, we're seeing OSS tooling getting better and better!

> I used to pirate everything, but is it a solution?

Well it could be a solution if you are just starting out. CAD is very complex stuff so it's not likely that there will be a good open source replacement to Revit for example any time soon.

I really don't want to pirate software in general but if the license is like $2500 / yearly it's such a ridicolous amount that there is no good options left.

Minimal blogging platform https://mataroa.blog/

* Django for backend

* Django management commands + cron for recurring tasks

* Django templates for frontend

* Very few lines of vanilla JS


* Caddy for reverse proxy + SSL generation

* Let’s encrypt for wildcard SSL

* Hetzner instance as server

* Deployment through SSH + git with a simple script: https://git.sr.ht/~sirodoht/mataroa/tree/master/item/deploy....

I’m not a registered company, but a solo dev who creates things for joy and ends up getting paid for it.

Legacy projects: Plain HTML frontend with minimal vanilla JS for small progressive enhancements, PHP (custom framework) backend, Postgres, deployed directly on rented bare metal hosts, Salt for configuration

New projects: HyperApp JS frontend, Python (aiohttp) or Rust (warp) backends, Postgres, deployed in docker containers on rented bare metal hosts, Ansible for configuration


switched from salt-server to salt-ssh after there was a salt-server exploit which owned my whole fleet. Switched from salt-ssh to ansible-ssh after salt-ssh was broken on osx for 14 months (and counting…)

Backups done with each project having a cronjob dumping a snapshot into a folder, then SyncThing copies those onto a remote backup host, with the backup host configured to keep old versions of files

Debian stable for the hosts, language-specific images for containers. I wonder if my bare-metal OS runs basically only sshd and docker, is there a better choice than Debian? It works fine, just seems overkill...

Monitoring done with telegraf + influxdb. Previously I had grafana in front. Recently moved to influxdb 2.0 with built-in dashboards, which is ok, but grafana was better (more graph settings (influx doesn’t even do log-scale y axis??); more flexible alarming; graphing and alarming were integrated where influx has them separate) - considering putting grafana back even if it means re-creating all the dashboards and alarm rules for a second time...

I have always used Rails for my projects. In the most recent I took a detour to Django, which was successful, but never felt quite as productive.

If I start something new this year I think I would opt for Rails again. Even though it’s long in the tooth nowadays, I would choose it for productivity, time to market and availability of people if the project scales.

As I mentioned in another comment (https://news.ycombinator.com/item?id=28299878), I recently built a fairly simple GraphQL backend in Django, then switched to Rails as I hit performance issues with Python's GraphQL support.

I had no real experience with either before, but I think I'd agree with your summary. I felt Django was a bit "cleaner" and the code felt less magical, but I definitely spent quite a few hours trying to get things working which "just work" on Rails. The Rails library ecosystem seems a bit better too (both in terms of quality and quantity). Both enabled me to get a lot done with very little code, which when it comes to back-end I'm a fan of!

Why did you choose Django for your last one? What's your setbacks/difficulty compared to Rails?

Never forget an autorenewing subscription again: https://everlint.com

Hosted on a simple Debian Linux VPS with https://tilaa.com. Running nginx with Let's Encrypt certs.

Built in Ruby on Rails with PostgreSQL for the database and Stimulus as JavaScript framework. Charts are generated with ChartJS and CSS is using Bulma framework.

Niche music streaming service http://lofi.limo/

Front end: plain JavaScript

Back end: Phoenix and Elixir, Postgres, OpenBSD

Deployment: tmux on a bare-metal server at a local colocation facility

Audiobook meta search: https://www.audiobookmate.com

- Backend: Flask + SQLAlchemy + Celery

- Frontend: Angular + Bootstrap

- Database: MySQL + Elasticsearch + Redis

- Deployment: Kubernetes on GKE

https://optduty.com/ - smart on-call scheduling for PagerDuty. Small startup with about 20 clients right now and $30k ARR.

Front-end: ClojureScript, Rum and Javelin spreadsheet cell for state handling

CSS: Tailwindcss

Backend: Django + Django REST framework

Deployment: Ansible

Analytics: GoAccess

Statics: GoHugo

Misc: Nginx, Postgres, Redis Docker only for running client specific optimizers.

A lot of tools in the list, but everything is pretty lean, and allow me iterate really fast.

About success criteria, having more analytics would help me get a few extra clients, but because it's side project without any investors I'm happy with trade off.

And after companies are starting to use the produce, I hear a lot of positive vibe about strong privacy.

For UI Drafter https://uidrafter.com I keep deps at a minimum for the sake of having fewer moving pieces. I chose a stack that I was already familiar with.

The impact on success is marginal, but I'd say that it's cost effective due to being more stable (in the easy to upgrade sense).

Cloudflare DNS => 2 Baremetal FreeBSD => 3 jails [Nginx, Node, PG]


SSL Let's Encrypt


Fastmail, Stripe

The PWA only uses React


I am buiding a Purchasing system for construction comapanies ( I own one and it's test subject atm).

The sofware focus on automating tasks other systems don't, document decisions and an extremelly tight link between the budget and the real and projected expenses.

Construction is a very local dependent business so good systems from other countries didn't adapt really well here. Hence the effort to make our own. I am the solo dev.

Stack is

* Backend: Quarkus.io , Lombok and Java

* Frontend: React, Ant Design and Typescript

* Persistentency: Postgres

* Automatic Backup: S3 and custom Postgres container

* Platform: Civo and K3s for PROO

* Security: Keycloak

* CI/CD: Github actions and Cloudflare pages

* Local Env: Docker for local.

* Ide:IntelliJ

Why did I Chose it: * Java and Quarkus: because I have 20 years of experience with Java, it's rock solid, performance is great and I am fast with it.

* Civo and K3s: Because I love k8s but it's too expensive to run for my operation.

* Postgres: It's just great.

* React and Ant Design: I like React approach, I have used Angular and Backbone before and react is awy better. Ant Design is just awesome, great looking components and they work 99% of the time, documentation is also very good.

* Keycloack: because makes me faster, implementing security by your self is always a bad idea unless you are a pro, which I am not. Keycloak let's me focus on the business.

* Github actions: Simple, powerful, free!

* Cloudflare pages: Simple, powerful, free!

Do you think your choices had any impact on your success?

Not there yet, let's talk in 3 years. But we are using the system at my company already and locally it's been a great sucess, improved our work by a mile, people are happy using it even with some bugs, we are already saving money and identifying places where we didn't have a good budget to improve next time. We also are not afraid of people leaving anymore, since with the system their replacements can pickup where they left and continue to work on Day 1 and buy stuff maintaining the time requirements, that was the best part.

I built https://primerlabs.io. A conversational learning medium designed for people who wish to learn Computer Science on their own.

The tech stack is Meteor.js for backend and React + Apollo Graphql for front end. I use AWS lambda for Anki Card Generation generation and Latex-based PDF Generation for personalised Books. The main website uses self-hosted Ghost blog. Using Ghost for the main website + blog, saves a lot of time with SEO and Image compression. While compiling Latex on AWS Lambda Container is pretty slick.

Deployment: Docker, AWS Beanstalk

> Why did you choose it?

It's been an absolute joy working with Meteor. You can prototype quickly. For instance, last week, I was trying to add anonymous accounts i.e. no need to sign up to view the application and can merge directly once the user is ready to sign up. It took me a half a day of work to do that in Meteor.

There is a feature of real-collaborative learning I want to add in the application i.e. you can learn with friends and see their responses, notes in real time. Meteor has real-time capabilities using pub-sub which makes it quite easy to do so.

> Do you think your choices had any impact on your success?

The product is not mainstream yet. A small number of people who use it, love it. It requires a bunch of more courses to make the value proposition clearer to the users. But Meteor.js enabled me to prototype quickly since this is the third iteration of the product which I finally thought was closer to what I had in mind.

I am not in anyway associated with Meteor. I really love Meteor, that's all.

I built https://applesilicongames.com with Python and Flask on https://www.deta.sh

Currently looking into adding Tailwind (CSS)

Backend and frontend were generated using jhipster, then jhipster specifics removed completely, parts replaced with openapi generator, liquibase with flyway

Backend: Spring Boot + PostgreSQL

Frontend: TypeScript + Angular (considering switching to DartAngular) for future components

mobile: Dart + Flutter

hosting: k3s and operations using gitlab

Why did I choose it? These are tech stacks I know best.

>Do you think your choices had any impact on your success?

I regret using less mature backend frameworks at the beginning, I spent a lot of time fighting interfaces, DB transactions and mocks in quarkus and micronaut. They improved a lot since then, but I didn't look back.

As a solo dev working in the public sector I recently moved to using Nim.

Backend: Jester (Nim) Front-end: Karax (Nim) Db: sqlite/mariadb Host: digital ocean

I find that I can implement features much faster and with less code compared to my previous Go/Js stack.

I mostly optimize for dev time over performance.

Next.js, Vercel + API functions, DigitalOcean postgres with Prisma.

The biggest dev bottleneck for me was styling & css(mostly because I put away learning it!), tailwind ui components have been a big saver.

My principle for https://phish.report (a tool for semi-automating the reporting of phishing sites) is: do as much statically or server side rendered as possible.

Deployment: Docker Compose. It's great to just set a DOCKER_HOST environment variable and I can deploy to any server with Docker installed.

Backend: a Go service. Could be any language really but that's what I know. Just takes requests, does some business logic and returns HTML templates.

Frontend: I'm not a frontend dev so I try to avoid it as much as possible. For UI, I use Bulma (a pretty comprehensive bunch of CSS components), with a tiny sprinkling of vanilla JS for small client-side animations (e.g. burger menu toggles). For any user action that hits the backend, I use https://htmx.org/ and just return a small HTML snippet as the API response. No point using client-side JS for that (no latency gains and makes the tech stack less homogenous).

> do as much statically or server side rendered as possible

Love this - a terrific cheat code!

An environment-health-security app for the B2B market

* Flutter frontend iOS/Android

* Parse Platform backend backed by MongoDb, hosted on Hetzner dedicated server with backups in Azure

- Migrated from Firebase

* ASP.NET 5.0 backend for various other integrations and periodic back office jobs

- Migrated from Firebase Functions

* Back office tools (CRM, billing etc) in React/Redux

- Currently experimenting with Appsmith to allow for quicker iterations

* Landing page in React

- Originally just plain HTML. Re-wrote to React to be hip.

I would try Budibase instead of appsmith

Thanks, I'll check it out. Definitely seems like Budibase fits my use case.

or you could check Dronahq.com

https://moogle.cc is a fully functional React SPA blog with Bulma css for styling. Uses emails (yes you heard that right) as the CMS to extract content and images.

Interfacing with emails is through S3, API Gw, Cloudfront, lambdas (nodejs), and step functions. One small part of the product is on an Ec2 box. Everything else is serverless.

Not really a company yet, just a WIP product.

Vanillajs for the frontend,

crystal for the backend,

postgres for the db,

fly.io for the app hosting,

Cloudinary for the CDN,

trello and Github issues for management.

IMO, simple vanillajs blows any other js framework out of the water in simplicity. Crystal is an amazing and very performant language for the backend. If you love ruby, you would love Crystal.

Love to see Crystal in the thread!

Profilehunt( https://profilehunt.net ) is a Kanban board built for organizing your job search. It comes with a browser extension so you can add jobs from any website to your board. Profilehunt sends weekly reminders and updates on applications.

It has been built using following technologies: - Ruby on Rails - Web framework

- StimulusJS - Javascript

- TailwindCSS - CSS

- Redis - Memory store

- Postgres - Database

- Nginx - Reverse proxy

- AWS Cloudfront - CDN

- AWS lightsail - VPS

- Github - Code hosting

- Capistrano - Automated deployments

- Sidekiq - Background Jobs

- AWS SES - Email SMTP server

Edits : Formatting

I'm a fullstack JavaScript dev. I used to write everything in pure React and serve it with Express on Node but two years ago I started experimenting with all the fancy new frameworks and now my every project is:

- Gatsby or Next depending on how dynamic the content is

- Firebase for db, auth, and bucket storage, and sometimes hosting

- Vercel for NextJS hosting

- Recoil for state management; after years of using Redux it feels amazing, like it's a part of React

- ImmerJS for immutability

- SASS for CSS

I love my current stack. It definitely took a while to make everything work together smoothly. I don't understand the complaints about modern web dev. I've been building websites for almost 20 years and this is the most productive and fast I've ever been.

The only thing I still haven't figured out is CMS. Tried all of the fancy new headless CMSs but nothing works for me. Working on my own.

I think you don't find many problems because you're using firebase and that's outsourcing a lot of problems you'd face if you weren't using it.

Many people don't want to be tied to a provider to this level (I think it's all about trade offs, not saying it is a good or bad thing).

In the stack you described, in my experience, it is a real headache to get a stable and realiable system where you need authentication, permissions, users management, a CMS, background jobs, input validation, migrations, internationalization, etc.

Ruby on rails, Laravel, Django, etc provide a clean, well documented and battle tested solution to all of this. The modern stack you describe, if not outsourcing all of this to a third party, it is pretty complicated and no one builds it the same way.

That's why people complain about these modern stacks being complicated, you're just not feeling it because of the trade offs you've made. (Good for you!).

I had a look at a lot of the available headless CMS systems last year. Didn't fancy any of them as they just seemed like a UI for building a db schema essentially. So I just added the relevant tables for my content to my db and then it was trivial to add content management UI to react-admin and add react pages on the main website to show the content.

Have you tried sanity.io (a headless CMS)? I used it in conjunction with Gatsby and have had a great experience overall.

Yes, it was my favorite for a while. But recently I switched to GraphCMS for more basic data structure and I love it. Especially the UI.

I think what the market is missing is a sort of locally run CMS that is file based with Sqlite and managed completely with Git. Something that can can be moved around with project easily and have great version control.

Let's say you have a /content folder in your project that is it's own separate git repo, and there you have .md or .txt or sqlite files, and your assets, and there's a browser based client to manage it that runs locally.

I think you've just described getkirby.com including the content folder naming.

Decision Log SaaS with Slack Integration:

* PHP with Laravel + Postgres on the back

* Blade + Livewire on the front

* hosted on Clever Cloud

I chose it, because it's a stack where almost all problems have already a solution because others had it before. Also, and this was really important at the time: There is just so much built in, PHP+Laravel is a powerhouse for rapidly developing MVPs.

I'm still pretty happy with it. It can take you pretty far if you keep your code base clean, use all the existing tooling like static analyzers, code formatter, and write tests. While success is still moderate, I don't think I could have done it with a different Tech Stack, at least not in the same time-frame and with the same confidence.

Jeppers, there's some heavy stacks in this post - I'm not sure where folks find the time !!

HTMX for JS. Go (GORM, Gofiber) + Sqlite (w. Litestream for replication). Linode for hosting. Ansible for config/deploy.

Both API and web app served out of AWS lambda/API Gateway/Cloudfront. Back office app served from S3.

- React and next.js for the web app.

- Node.js & express for the API.

- React-admin for the back office.

- Postgres for the DB.

The biggest benefit to me of the above stack is running it out of AWS lambda. Pay only for what actually gets used, and more importantly it will scale to any sudden surge in customers without any effort on my part.

Hi, honest questions of things I struggled a lot with when tried to build applications with his stack:

What do you use for accessing the database or as ORM, etc?

How do you do validations server side and show error messages to the user?

How do you do i18n in general, and also related to the previous question (error messages)

Do you use any CMS? How do you explore your data?

How do you do background jobs?

How do you do migrations?

How do you do authentication and permissions?

All these things are what drove me back to Django. I wonder how people solve this without reinventing the wheel or having to write and test a ton of glue code. I wonder if I'm missing something or I'm just too lazy or not good enough (I'm not trolling, just genuine concerns)

Presumably Next answers some of those, and things like background jobs must just be lambdas as well?

Can you point me to the docs or those solutions? I haven't found them when I looked for. Of course there are tons of examples integrating with third party libraries, etc...but tying everything together is what worries me.

Heroku works best for a company of one to offload most of the devops out

Otherwise, https://dokku.com has been really stable to launch your own heroku on cloud services like Digital Ocean or AWS

Gives the same experience as Heroku but with more flexibility

Dokku is GREAT. I've been using it for about 4 years now and it's rock solid. I love it.

> What is your tech stack?

Backend: LAMP (Linux Apache Mysql Php)

Backend Framework: Php no framework only composer

Frontend Framework: Vuejs 2.6

Deployment: rsync

Hosting: contabo (8gb/€5)

Email: SES

Error reporting: Honeybadger (it's free)

> Why did you choose it?

It's something I've known my entire life and it works great for me.

Website: HTML/CSS/JavaScript, hosted with Nginx on one VPS. D language for products/tools/website.


- CloudFlare

- Google My Business for emails

https://bruzu.com runs on a small Digital Ocean VPS.

API is powered by Node js.

Other pages are php.

OP and respondents can you update your question and the answers to include mention the scale of the business in terms of traffic, customer served, revenue.

I built an open source Reddit/HN clone:


The back-end is Node.js and PostgreSQL (no ORM). The front-end is plain HTML, plain CSS and plain JavaScript. I chose that stack because I wanted to try Node.js and Postgres, and I'm not a big fan of front-end frameworks. I don't think the stack matters but people think the site is fast.

Elixir / Phoenix, Heroku with Postgres addon.

Fronted mostly static with Stimulus + Hotwire for a few dynamic parts.

Images via S3 + Imgix.

Metabase (also on Heroku) for analytics.

Trying to keep it as simple as possible. Not quite successful yet, but pleased with the tech stack so far.

How come you are using Hotwire instead of Liveview?

Main reason is I think it's conceptually simpler. In particular, Liveview is stateful and Hotwire is stateless.

I think there are some potential performance benefits of liveview (less sent over the wire and less work done server side) however I prefer to optimise for simplicity and fewer bugs.

Edit. Caveat this with the fact that I haven't used Livewire in anger.

Single person company with a few products out now:

https://surplusci.com - Rentable dedicated CPU runners for GitHub Actions/GitLab CI https://ragtime.cloud - Hosted storage for Joplin the note taking application

> What is your tech stack?

- Front: Vue + NuxtJS

- API: NestJS + Typescript

- DB: Postgres

- Infra: Kubernetes + Ansible + Pulumi

- Hosting: Hetzner

> Why did you choose it?

- Front: Vue is less complex than React, NuxtJS enables SSR and pre-rendering which is ideal for SEO (not that I'm chasing SEO too agressively just yet)

- API: NestJS is the best implementation of light yet structured MVC I've seen for (spend enough time with wild Express/Fastify codebases and you'll want some structure), has a lot of concerns taken care of just about the same way I've (re)written them on various projects myself. Typescript because life is too short to not have a compiler do some of the work for you.

- Infra: I've paid the initial cost of learning Kubernetes so it's actually a really easy way to deploy containers and manage my infra (TLS certs, open ports, machines, virtual machines, etc) for me. Ansible is great for initial setup, Pulumi is great for managing big IaaS provider pieces (AWS Route53, SES, etc)

At this point I've actually built a set of reusable projects to launch SaaSes, and at this point what it takes for me to launch a new SaaS is copying ~3 repos, find/replacing and running make a few times.

I want to make that SaaS-launching setup a SaaS itself -- as a completed/perfect implementation would cut this down to only value changes in a single file, which I could easily make a web form and then people could launch their own things. That's far in the future though.

> Do you think your choices had any impact on your success?

It delayed launching quite a bit, but I'm convinced that my problems might lie in the markets I'm aiming for and products I'm making more than the technical choices.

The technical choices are on the fanciful side -- I could have gotten by just fine with Rails + Caprover/Dokku, but at this point that cost is paid so it's much more about finding traction.

My iteration speed is much faster now as I've developed a reusable set of repos, so it should be much easier to take more shots.

https://webcrate.app - OSS bookmarking tool to help you organize your web

- Vue / Nuxt / Plain CSS

- TypeScript / Node / Express

- Hosted in your own personal cloud thanks to Deta Space (https://deta.space/discovery/webcrate)

Nuxt made the frontend super simple and fast to build, it takes care of a lot of things for you! Deta is also awesome for devs


- TypeScript / Node / Express

- PostgreSQL / RabbitMQ

- HTML / Tailwind CSS / Vanilla JS

- Hosted on two DigitalOcean droplets

- Deployed as Docker

- AWS SES for sending emails

linux,mysql,php,svelte,bootstrap and Go for any "heavy-lifting"

Rails, PostgreSQL, Vanilla JS, Bootstrap, AWS

Fast to iterate, vast ecosystem, beautiful readable lang(Ruby)





All running on 3 VPS's. Everything I want to do can still be done with this stack.

Postgres -> Django w/Graphene -> Vue.js w/ Apollo

Breakfast of champions right there.

Do you leverage types on the FE from Graphene/GraphQL?

Great thread!

I have a question for everybody who uses Laravel or Symfony:

Did you compare it to the other one before you made a decision? What made you decide on the one you are using now?

I also would be interested in the same question regarding Django and Flask!

Does it even make sense to "compare frameworks"? I've got an impression they all do more or less the same and it's a matter of preference really.

Wouldn't that be exactly the reason to compare them? If both work fine, but they are just different, the comparison helps you know which you'd prefer.

Personally I think comparisons are useful not for the framework itself but the ecosystem. Available libraries, resources for common scaling/implementation problems, available consultants, etc.

I run a side project podcatcher site https://jcasts.io. As I don't have a lot of spare time and this isn't making money, simple+cheap are important factors, so I stick with what I'm familiar with and only adopt new things when I have the need.

- Django

Enough said, really, it's a solid workhorse with a healthy ecosystem. The admin feature is very useful for simple backend data management. No other particular reason to pick this over Rails, Laravel etc other than my familiarity with Python and the framework.

- PostgreSQL

No issues here, works just fine. I use the full text search instead of a separate search indexer such as Elastic - it makes the deployment simpler and reduces overhead of serializing and syncing the search index and database. You can get good performance by paying attention to queries and indexing.

- Redis

Caching and queuing. I use rq [1] rather than Celery for running background tasks, it's less complex and generally easier to work with, especially if your needs are simple.

- HTMX and AlpineJS

SPAs can be a pain to build and maintain if you are a solo developer - it's almost like building two separate applications, and then you have to handle the integration of your backend API and frontend app. HTMX [2] lets me get 90% of the way there while still using plain Django views and templates, while still providing a smooth end-user experience. AlpineJS [3] is great for dealing with the more complex interactions where Javascript is really needed, but I still want some lightweight structure.

- Tailwind

I'm not a designer/CSS guru, so Tailwind is great for providing sensible defaults. Was a bit skeptical at first of maintaining long inline class names vs something like Bootstrap, but Tailwind turned out to be surprisingly productive.

- Dokku

Basically Heroku without the expense. Has a ton of features and buildpacks for managing single-node applications, from LetsEncrypt integration to database backups. As I run the whole thing on a single Digital Ocean droplet, this is perfect - not sure what the next step would be when/if I need to scale up to a multi-server setup.

- Ansible

For any server setup and routine maintenance stuff.

- Mailgun

Email sending. Still on free tier.

- Github Actions

CI/CD pipeline. Works fine, very few outages or issues, pretty easy to set up.

- [1] https://python-rq.org/

- [2] https://htmx.org

- [3] https://alpinejs.dev/

I use almost the same stack, except instead of Alpine + htmx I just use Unpoly. Have you tried it? If so, why did you prefer your choices? Any reason you'd recommend your approach?


IOS, native Firebase + Java and Google Cloud, for the backend Database, Firebase Realtime DB, as a NOSQL solution (works better than Firestore for me) and actually build a simple RCP service on top of it.

My next backend might be on Go and just use a simple Rest service, and minimize Firebase usage (it is still good for real time chat type of apps).

Boring, but it works and I am very fast with it:

PHP with Laminas FW







Google Workspace



It's clunky, it's like a tractor, not very good at any one thing but I use it everywhere.

Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact