Laid Out is a passion project that I've been working on after work and on the weekends for about the past 5 months. I'm thrilled to finally be able to share it! Website GitHub What is it? It...
Laid Out is a passion project that I've been working on after work and on the weekends for about the past 5 months. I'm thrilled to finally be able to share it!
It consists of minimalistic tools that focus on mental health, and is available on desktop and mobile browsers. Account creation is optional and serves the purpose of data synchronization across your devices.
I don't do any tracking or monetization of any sort.
How it started
I had just learned the basics of coding and wanted to build something when I came up with the idea of creating a tool to help manage anxiety a bit better and sharing it with people in hopes of helping those who suffer from anxiety. Even if nobody used it, I would, which allowed me to work on it with minimal expectations and pressure.
I had many variations of the tool in mind but ended up with one where you write down your worries, cross out the uncontrollable and accept them, and action the rest. The idea is to help lift off some of the mental fog you might have under an anxious state.
When I was close finishing the implementation of the anxiety tool, I thought it would be too bland to put out there on its own, so I added a gratitude journal and a regular journal.
I also wanted to add lots of pixel pets with various animations, which I posted a dilemma about here on Tildes. If you're wondering, what ended up happening is I bought Aseprite and a subscription to an AI service that focused on pixel art, came to the realization that it was no good and that I couldn't draw for the life of me, and so paid an artist on Fiverr for a cat and one animation for it. It turned out alright, but for now, I gave up on the idea of having lots of pixel pets.
Technical stuff
Feel free to skip this section if the technical side of things don't interest you! I really like reading about the technical details of web apps and I thought some people (especially beginners, like me) might find it interesting, so here goes.
To reiterate, I started this project with some basic Python knowledge and I gotta say, it has been an absolute journey to get here :D. A journey that frequently involved working on a single, seemingly simple bug for days with no progress; I think part of me became a monk to maintain motivation through said slumps :D.
I changed technologies many times and generally had little idea what I was doing but ended up with:
Django and django-rest-framework backend; the backend and frontend aren't fully decoupled, only three pages (Anxiety, Gratitude, and Journal use Vue.js SFCs)
Postgres as the DB
Celery worker for tasks and Celery Beat for task scheduling
Alpine.js for some light interactivity on the frontend
Vite to bundle up Typescript, Tailwind, and Vue SFCs
Mailjet for transactional emails
S3 for DB backups and later on maybe log backups
Gunicorn as the web server
Traefik as a reverse proxy
Whitenoise to serve static files via Nginx behind Cloudfront
Everything is dockerized both during development and deployment (cookiecutter-django was really helpful here.) The web app is deployed on a VPS with 2 shared vCPUs and 2 GBs of RAM.
Final thoughts
It'd be awesome to see Laid Out slowly grow into a self-help hub maintained by many people.
I'd also love to receive feedback of any kind, as well as answer any questions you might have!
I just have to say, this looks extremely well done especially if you started out with only basic Python knowledge! Congrats on seeing it through to completion. I love this idea and I hope people...
I just have to say, this looks extremely well done especially if you started out with only basic Python knowledge! Congrats on seeing it through to completion. I love this idea and I hope people use it and get something out of it.
I'll have to try this running locally. You may even want to place a link to "youfeellikeshit" in the app just for convenience for yourself/others. It's easy to forget and a handy resource.
I'll have to try this running locally. You may even want to place a link to "youfeellikeshit" in the app just for convenience for yourself/others. It's easy to forget and a handy resource.
Laid Out is a passion project that I've been working on after work and on the weekends for about the past 5 months. I'm thrilled to finally be able to share it!
What is it?
It consists of minimalistic tools that focus on mental health, and is available on desktop and mobile browsers. Account creation is optional and serves the purpose of data synchronization across your devices.
I don't do any tracking or monetization of any sort.
How it started
I had just learned the basics of coding and wanted to build something when I came up with the idea of creating a tool to help manage anxiety a bit better and sharing it with people in hopes of helping those who suffer from anxiety. Even if nobody used it, I would, which allowed me to work on it with minimal expectations and pressure.
I had many variations of the tool in mind but ended up with one where you write down your worries, cross out the uncontrollable and accept them, and action the rest. The idea is to help lift off some of the mental fog you might have under an anxious state.
When I was close finishing the implementation of the anxiety tool, I thought it would be too bland to put out there on its own, so I added a gratitude journal and a regular journal.
I also wanted to add lots of pixel pets with various animations, which I posted a dilemma about here on Tildes. If you're wondering, what ended up happening is I bought Aseprite and a subscription to an AI service that focused on pixel art, came to the realization that it was no good and that I couldn't draw for the life of me, and so paid an artist on Fiverr for a cat and one animation for it. It turned out alright, but for now, I gave up on the idea of having lots of pixel pets.
Technical stuff
Feel free to skip this section if the technical side of things don't interest you! I really like reading about the technical details of web apps and I thought some people (especially beginners, like me) might find it interesting, so here goes.
To reiterate, I started this project with some basic Python knowledge and I gotta say, it has been an absolute journey to get here :D. A journey that frequently involved working on a single, seemingly simple bug for days with no progress; I think part of me became a monk to maintain motivation through said slumps :D.
I changed technologies many times and generally had little idea what I was doing but ended up with:
Everything is dockerized both during development and deployment (cookiecutter-django was really helpful here.) The web app is deployed on a VPS with 2 shared vCPUs and 2 GBs of RAM.
Final thoughts
It'd be awesome to see Laid Out slowly grow into a self-help hub maintained by many people.
I'd also love to receive feedback of any kind, as well as answer any questions you might have!
Thank you
I just have to say, this looks extremely well done especially if you started out with only basic Python knowledge! Congrats on seeing it through to completion. I love this idea and I hope people use it and get something out of it.
Your comment makes me very happy. Thank you so much!
I'll have to try this running locally. You may even want to place a link to "youfeellikeshit" in the app just for convenience for yourself/others. It's easy to forget and a handy resource.
Thank you for sharing this resource! A silly website name, but a really useful tool.
Let me know if the local development instructions on GitHub don't work for you. I'll look into youfeellikeshit, thanks!
For sure!