Filatrack

Filatrack

41 devlogs
47h 50m
•  Ship certified
Created by Drew Ratner

The simplest way to track your 3d printing filament. No ads, free forever. Made with Next.JS, Drizzle ORM, and Supabase.

Timeline

Slowly working on adding sharing filament boxes with other users! You can choose if they are able to only view it, be able to make logs, or edit/add filament in the box.

Update attachment

Ship 6

1 payout of shell 40.0 shells

Drew Ratner

14 days ago

Drew Ratner Covers 1 devlog

Alright this is likely the last ship, but Filatrack is finished! I can't think of any more features I want but I'm sure I'll think of all of them when SoM is over. Anyway, over 400 users have joined Filatrack and we are FOURTH on the SoM leaderboard! I'm super happy that people find this project cool and want to use it, and I'm glad I could enter it in SoM!

Update attachment

Ship 5

1 payout of shell 211.0 shells

Drew Ratner

20 days ago

Drew Ratner Covers 7 devlogs

Here is the user and filament counts now! Things have slowed down but there's still quite a few users.

Update attachment

I've done a couple updates just now, including some backend changes and bug fixes but most importantly I've reworked QR codes! They have a much better look than before and they are easier to cut out. I've also added a new color swatch option that just shows a little square of the color of the filament. Finally, the page for printing them loads a lot faster with more filament now.

Update attachment

I added little filament swatches to boxes to quickly see what's inside!

Update attachment

Was fixing a couple a bugs regarding boxes, and I was adding a reorderable list and this happened (I have no idea how to fix this)

Update attachment

v1.2.0

  • Filament Boxes! Organize your filament in boxes, available in the filament page Move filament to/from filament boxes Bulk move filament Add filament directly in boxes
  • Remove 'empty filament' section (don't worry, your filament isn't deleted!)
  • Fixed searching filament (searching on home page will search through all boxes)
Update attachment

Filament boxes are just about done!

Update attachment

Working on better organization for filament (very concept UI)

Update attachment

Ship 4

1 payout of shell 161.0 shells

Drew Ratner

24 days ago

Drew Ratner Covers 7 devlogs

I just released v1.1.0 for Filatrack!
- New dashboard page!
See overview of filament and your statistics
Quickly see recently used filament and add new filament
Now the default page when logged in
- Backend changes to logging filament
- Fixed visual bugs in filament list

Update attachment

Working on a dashboard, with a cool pie chart to graph your filament!

Update attachment

New landing page background!

Update attachment

Set up database backups on my VPS as Supabase doesn't do them for free, and this is more convenient.

Update attachment

Added changelogs! I've also been experimenting with a 'dev' branch to better stage deployments.

Update attachment

Fixed up a lot of issues with editing/deleting filament logs, also added notes to filament logs!

Update attachment

Some backend work today, I made error reporting more modualerized and easier to use for me and the end user.

Update attachment

Ship 3

1 payout of shell 56.0 shells

Drew Ratner

29 days ago

Drew Ratner Covers 2 devlogs

The prints update is done! There are still a couple things to fix/add but it's been released!

Update attachment

Working some more on logging prints. Heres part of the add print dialog

Update attachment

Ship 2

1 payout of shell 316.0 shells

Drew Ratner

about 1 month ago

Drew Ratner Covers 9 devlogs

I used the shells I got from the last ship to buy a domain for Filatrack! It now goes by filatrack.app, and I'm very excited!

Update attachment

Starting work on tracking individual prints, including what filament was used in them.

Update attachment

Got bored and made a handful of all around improvements to the interface. It's hard to notice some of the changes, the biggest one is the footer at the bottom is now visible on most pages.

Update attachment

Did a little code reorganizing and commenting. Definitely will help me and any contributors out a little!
(also changed my vscode theme lol)

Update attachment

Updated landing page

Update attachment

Added edit mode! Allows you to reorder your filament however you'd like, bulk delete and create multiple QR codes at once!

Update attachment

Working on reordering filament in the app. Turns out drag and drop is a very hard thing to get right... (i hate every part of this)

Update attachment

Spent a bunch of time on a new landing page. It was pretty barren before but has a lot more info now!

Update attachment

Did a couple general bug fixes (specifically with being a new user) and made the add filament dialog easier to understand

Update attachment

Ship 1

1 payout of shell 303.0 shells

Drew Ratner

about 2 months ago

Drew Ratner Covers 14 devlogs

Final devlog!
The app has a couple big updates I want to make, but it's in a state I'm very happy with so it's time to ship!
So far, the app has amassed 345 users, collectively tracking 598 filament rolls!
I'm amazed how many people found interest in this app.
You can find the app at https://filatrack.vercel.app/ !

Update attachment
Veronica Dawson Veronica Dawson about 2 months ago
I have a friend who would love this! He is obsessed with 3D printing, I will definitely share with him. :)

I've updated the details pane to actually show notes about filament. Previously you just couldn't see notes so this is a big improvement

Update attachment

Quick bug fix involving user preferences- turns out I forgot to actually implement it.

Update attachment

I've added a bunch of things recently but I'm most excited about QR codes! You can print one out for each filament you have and then you can scan it to quickly see details and log the filament!

Update attachment

I made a reddit post yesterday and woke up this morning with almost 200 users! I am astonished how much people actually want to use the app. I'm working on a lot more things that have been suggested and many bugs as of now, the pressure is really on!

Update attachment
Dennis Dennis about 2 months ago
this is actually really useful and its great that you identified a problem that nobody had made a neat solution for before. This is one of those “why didn’t I think of that” projects :)

Quick tangent, added Google OAuth! I'm not sure what other providers would be useful, please comment anything you'd want to see!

Update attachment

Some more boring backend work later, logging prints works! Here is the dialog to log a print. It works as you'd expect with multiple filaments as well!

Update attachment

Frontend for the printer update is done (mostly), now working on backend!

Update attachment

Still slowly working on tracking printers, but progress is being made! Right now it's all about making the UI, then I'll work on the backend. Here's the modal for selecting what printer to load a filament to!

Update attachment

Slowly working on a whole new section of Filatrack. You will be able to add your printers (not connect, unfortunately (yet)), track individual prints and what filament is loaded in what printer!

Update attachment

Improved the landing a bit! Changed the text and added this rolling filament preview, I think it looks pretty good and adds a little flare!

Update attachment

Added a search bar for filament! You can use b: and m: to search brand and material respectively! Also made a bunch of backend changes for organization, as well as added the Sonner library for really nice toasts!

Update attachment

I updated and added some analytics for me to look at for the app-- and it has already reached 10 registered users! It's not a lot but I'm pretty proud of it.

Update attachment
Venco Venco about 2 months ago
11 now :)

I've done a bunch of work before uploading the project here- let's talk about it!

Stack
The whole thing is made in NextJS, with Drizzle ORM + Supabase for the database, Auth.JS for authentication, and Vercel for hosting. This is a really smooth stack to work with, it makes it easy for me to handle authentication and database queries through server functions. When I push any changes, Vercel just builds and ships it! I've managed to create and run the whole project for free, but it may not stay that way in the future depending on how many users I get.
That being said, if you want to see this project grow further in the future, please feel free to give me some support! Go to https://mrdiamond.is-a.dev/support if you would like to give me a hand.

Authentication
I use AuthJS, which makes it super easy to set up any authentication. There are probably less than 100 lines of code currently handling authentication. It's a really nice framework!

Database
At first, I was using Prisma ORM, but as it turns out, it doesn't run very well when it comes to serverless in my experience. I wanted to try something new anyway, so I switched to Drizzle ORM. It's much smoother and more tightly integrated to my workflow!
Supabase is also a very good db provider, it just works and it's free.

Struggles
At first, I was also trying to deploy to Cloudflare Workers. After wranglering with it for hours, I gave up. Workers is extremely hard to deploy NextJS on. Every error I got didn't seem to match anyone else's errors, and I couldn't solve any problem that arose. I switched to Vercel and on the second build, everything was up and working. I am really disappointed with Cloudflare Workers and Wrangler, they don't have very good documentation and it is extremely hard to configure an existing project to use Wrangler. There are much better options, and even some with better free tiers. I also tried CF pages, but that also just didn't work.

All that being said, the app is fully functional! There are a handful of features I will be adding in the future, but right now, it is perfectly functional, exactly how I envisioned it. If you are interested in 3d printing, please check it out @ https://filatrack.vercel.app/

Update attachment
Maksiks Maksiks about 2 months ago
This us a great project I’ll genuinely need this
Dennis Dennis about 2 months ago
wait this is awesome im using this like now