You are browsing as a guest. Sign up (or log in) to start making projects!

Papertrail - Receipt manager

  • 34 Devlogs
  • 209 Total hours

Never lose a receipt again. Papertrail organizes receipts, warranties and coupons, and reminds you before they expire. Has smart product recognition and vaults. Built with Django, Postgres, Alpine.js, HTMX and Tailwind.

Open comments for this post

6h 18m 23s logged

Created the peer to peer reimbusrements system that is evidence backed and MOVES REAL MONEY!
At this point, Ive also had the website penetration tested. The website at this stage also has IRS/IRD audit compliancy.

0
0
4
Open comments for this post

2h 7m 14s logged

Today, I did a lot of work in the background. Now - document processing occurs in a background process - users immediately are redirected to a skeleton loader, and then the add_record form when the data is ready. Furthermore, ocr results are cached for 15 mins so any page reloads, or tab closes prevent api rate limits being prematurely hit. The logs show this. the consistent get requests are the same add_record form being loaded with prepopulated data, after multiple reloads and tab reopens.

0
0
2
Open comments for this post

1h 1m 15s logged

I optimized the dashboard and records list view. I realized cards were good for only a few records, but the moment they start piling up - it gets claustrophobic. So, i made the results appear as rows, like search results from google, or firefox.

0
0
2
Open comments for this post

10h 51m 2s logged

I just did some small optimizations today. I realized that anybody could just “url-hop” to get to a password view and create a password - so I fully locked down all password views securely.

0
0
1
Open comments for this post

13h 14m 33s logged

Over the past few days - i worked a bit more on micro interactions. I fixed a few bugs and added persistance for things like the sidebar and accordian state. I also added loading states for most other things as well (like the active search, auth pages…)

0
0
2
Open comments for this post

3h 49m 36s logged

Today, I implemented HTMX in my records home view to create an active search, with the dateparser library for natural language date support. I also added it in the sidebar so no reloads are required for filtering records, changing pages…

0
0
4
Open comments for this post

9h 41m 41s logged

Today, I created the system to upload multiple supporting files to a single record. So currently, the record creation process is a multi step process.

Upload file –> OCR –> record validation and creation –> supporting files addition

0
0
3
Open comments for this post

6h 44m 53s logged

Today, I created a system where (in one step) - a document can be scanned, uploaded to cloudflare storage, and used to pre-populate a form.
the pipline so far looks like:
Scan doc –> OCR + llm –> prepopulate form –> user validation –> create record.
Or you can create a record manually.
The entire process is extremely secure. Documents are only interacted with via signed urls, all authentications are passwordless, and all uploads occur client side for fastest speed possible.

0
0
3
Open comments for this post

7h 27m 45s logged

Today, I created the document storage system. Users can securely add, delete and read documents from cloudflare using temporary signed urls. The next step is to create a record system, that can be related to many documents.

0
0
1
Open comments for this post

4h 33m 20s logged

Added dark and light mode support for all the other auth and account related pages (like email changing…). This was lots of fun (and quick) because much of the base work was completed because of django templating inheritance.

0
0
2
Open comments for this post

5h 19m 51s logged

Today, I completed styling the auth pages. Now all match the light and dark theme of the landing page. This was wayy more time consuming than it ought to be, but, its finished now.

0
0
2
Open comments for this post

3h 49m 18s logged

Today, I created a basic landing page for the project with tailwind and alpine js. It uses the notion interface as the hero image (since my interface isn’t even built yet!) but that will change soon…

0
0
2
Open comments for this post

1h 48m 53s logged

I finally added Tailwind CSS and Alpine js to the project. For the longest time, Tailwind has always caused issues, but I finally got it working and it feels like magic - not having long css files. Here is a simple h1 element that changes from blue to red on hover.

0
0
2
Open comments for this post

26m 19s logged

Integrated Authentication (Local and OAuth).
Authentication is probably my favouite part of making a website - but also the most sensitive. Today, I integrated Django Allauth with Google and Github OAuth (and local sign in/up). The process was A LOT easier, quicker, and more secure than my previous “default” (default django auth), simply due its level of sophistication. I’m really excited about the progress today! Next step - styling.

0
0
3

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…