Activity

CodingKitten

Released v0.2.0 this release includes clearer error handling for if the user doesn’t have exiftool installed and has some more default file extensions.

Make sure you install exiftool!

Attachment
0
CodingKitten

Shipped this project!

Hours: 1.68
Cookies: 🍪 35
Multiplier: 16.97 cookies/hr

I built a simple exiftool wrapper because I want to be able to easily strip metadata from my images (GPS mostly) and I find exiftool very hard to understand. That’s why I made a simple typescript wrapper around it to have human readable commands but still retain the power of exiftool.

CodingKitten

Built and packaged the executable for all major platforms and cpu architectures.

Finalise README with install instructions, development instructions, I am very proud to say my README is fully written by me

Attachment
0
CodingKitten

I have added some nice (and very needed functions to the cli):

  • Help command, prints help duh
  • No files found warning
  • Inside my strip function I now log what files matched and what it will strip.

Next up: better error handling (currently don’ t have any :3), packaging it so you can actually install it and expand the README

Attachment
0
CodingKitten

Shipped this project!

Hours: 41.02
Cookies: 🍪 1294
Multiplier: 26.28 cookies/hr

I built version 2.0.0 of my invoicing software Invio. The goal of Invio is to have all the invoicing features you need but nothing you don’ t for invoicing. There is for example no CRM, inventory management or any of that. The most notable changes are (also in project description):

  • WeasyPrint pdf rendering (1.4x faster, more architectures, smaller, less system resources)
  • Full account system with permission matrix
  • 2FA (TOTP)
  • Preset products
  • New frontend, sveltekit (read why {link to blog post})
  • Invoice change history
  • Many more small changes {changelog maybhaps here}
CodingKitten

Hey everyone this is my first devlog, this project is gonna be pretty short since it is just a simple script. The idea behind this project came because I was building my website and wanted to strip the location data of the images on there (to not dox myself) but exiftool is lets just say “advanced” my smooth brain couldn’t understand their documentation.

Thats why I decided to make an exiftool wrapper to easily strip metadata from images with handy presets (that you can remember).

I made a simple flow chart for the main idea and I have set up the project. For the “stack” if you can call it that I chose bun + typescript no dependencies/frameworks or any of that.

I have the basics down now I just need to improve the UX

Attachment
0
CodingKitten

Its totally not past 00:00 currently :3

I have revamped how demo mode is handled (this is so I can actually ship my project)

  • Backend now also returns what the reset time is (because why not)
  • Frontend takes the info of this new enpoint to,
    • Display a message on the login screen with the demo credentials (yes this is hardcoded, yes you need to set the username and password to demo if you want to host a demo instance)
    • Display a message on all pages explaining the app is in demo mode, and how often the db resets

Both messages are visible in the attached images.

I am gonna sleep now bye bye

Attachment
Attachment
0
CodingKitten

I think I am ready to ship (just in time)

Updated all of my documentation so its up to date on all the latest changes. Also added a guide on how to deploy the project with a separate frontend + backend container.

I also slimmed down the final docker image, its now 100mb smaller. Also deployed the live demo.

Attachment
0
CodingKitten

Added a status history as requested in a github issue. This was a pretty significant change in how the invoice data is stored. There now is a status history (new structure is also added as image on this devlog). I also fixed a shit ton of linting errors, like an unreasonable amount, but they are fixed now.

Also small side-note I have been really enjoying switching to zed as my code editor over vscode.

Attachment
Attachment
0
CodingKitten

Update documentation to be up-to-date on all the latest changes. Also fixed the .env.example because it still had references to chrome-headless-shell, the old pdf rendering sytem. I now use weasyprint so that was old

Attachment
0
CodingKitten

Fixed two bugs (idk why but when you think you have one bug its always more than one)

  1. Mismatch between what the name of the cookie being set and read was. The login page set session: {jwt token from backend} but the rest of the apps reads invio_session: {jwt token from backend}. Silly me
  2. A very annoying issue that made me look trough my entire stack like a fricking detective. CRSF was blocking login saying it was cross origin but the request was from localhost:8000 -> localhost:8000 the fix in the end was to set an ORIGIN=http://localhost:8000 env var.
Attachment
0
CodingKitten

Shipped this project!

Hours: 23.87
Cookies: 🍪 366
Multiplier: 15.33 cookies/hr

I built a personal website (becuase my old one was vibecoded), I have written all the code myself for this one. The hardest thing was the automatically loading blog posts and search bar, both made my step out of my comfort zone. I managed to get them working by reading trough too many documentation pages at 1 am.

CodingKitten

Got my site deployed to cloudflare pages (after a big battle with env vars). I basically had to rewrite the way I handle them. But after 9 failed deployments I managed to get my site working. And its really fast now.

I am gonna update some of the project info and hit that ship button

Attachment
Attachment
1

Comments

indy
indy 5 days ago

Yo I just took a look at your demo because it popped up on our dashboard as an awesome project and this is sick, I’ve never seen a website laid out like this before! And here I believed myself to be all-seeing 😭

CodingKitten

Added an image gallery page, it has some pcs I built, my awesome cat and some other random photos.

I also made the projects page responsive, that required a pretty substantial change in how the layout works, but I managed to get it working.

Attachment
Attachment
Attachment
0
CodingKitten

I worked on making the homepage mobile responsive, for mobile the layout switches to 2 collumns instead of 5, for this though I had to make the bottom button span 2 wide. I think it looks decent like this.

Also had to make the search bar have aspect-3/1 on mobile (it was looking too big for a search bar)

Now only every single other page is left

Attachment
0
CodingKitten

Added some easter eggs to the seearch page (with “gamble” being one of them).

Had a lot of fun doing this, some are very random (I did this at midnight for context)

Yeah fun

Attachment
0
CodingKitten

Wrote some new development instructions and removed unused files cleaning up my codebase

Attachment
0
CodingKitten

Finally hooked up the search bar (that was just there for vibes since the start of this project) to a working search page. Had to learn how sveltekit handles state saving in the url, after messing around for a long time I managed to get it working. Idk why but the sveltekit docs are pretty short about this specific topic, normally they have an example snippet etc but no this was just a concise description.

Thanks for reading thats it for this devlog

Attachment
0
CodingKitten

Added an interactive cat petting card, the idea is that you can click it to let me know you visited my website. From a technical standpoint it uses an upstash free tier data base with just one key “petCount” which gets incremented on click. To piece it all together I added a simple API route at /api/pet with two operations GET and POST.

GET retrieves the pet count, and POST increments it by one. I love SvelteKit

Anyhow thats about it for this devlog, bye bye

Attachment
0
CodingKitten

Made the actual project cards themselves and filled the coding projects page with them.

I ended up choosing to not make one singular project card component since each project card had to be a little different. No image, not buttons different status etc. could have probably made a singular component, but… I am lazy so chose not to.

Anyhow thats it for this devlog

Attachment
0
CodingKitten

Spent most of my time working on this design for the project cards (this is just a mockup) The pain and suffering of turning this into code is yet to come :)

Attachment
0
CodingKitten

Made auto loading blog posts. Posts now dynamically load in using a meta glob import.

I also fixed up the navbar to center the title (which was a pain by the way, but it worked so yay)

Attachment
0
CodingKitten

Progress so far, I have decided on a 5x3 grid with cards

Attachment
0
CodingKitten

Add support for a ton of new themes

Attachment
0
CodingKitten

Switch pdf rendering to WeasyPrint instead of chrome-headless-shell.

This unlocks: smaller bundle size, more cpu architecture support, 1.3X faster. + ARM64 support + More Cooler

Attachment
0
CodingKitten

Did a ton of work on the website, added new page for templates, made website mobile responsive, added bigger feature list, added screenshot.

Worked on Invio aswell

Attachment
0
CodingKitten

Cleaned up the navbar so less used options are placed under a more dropdown

Attachment
0
CodingKitten

Added a new invoice status: completed (was requested in a gh issue), added correct version display, and some more + worked on the site a little more

Attachment
0
CodingKitten

Working on a new website for the project

Attachment
0
CodingKitten

Made a ton of progress on porting the frontend to svelte.

  • Invoice detail page and editor now fully work
  • Product editor now works
  • Customer detail page and editor now work
  • And made 2 custom DaisyUI themes, Invio and Invio-light
Attachment
0
CodingKitten

Started rewriting my entire frontend in Svelte instead of Fresh, I have a long road ahead of me…

Attachment
0
CodingKitten

Worked on and implemented a full account sytem with granular permissions and shit yeah that

Attachment
0
CodingKitten

Started working on full account system

Attachment
0
CodingKitten

Update to newest fresh version fully done. Allow voiding invoices. Refactor pdf generation to use chrome-headless-shell

Attachment
0
CodingKitten

Working on updating the project to 2.2.0 from 1.7.3

Attachment
0
CodingKitten

Merged some PR’s from other people. Fixed some bugs and rethought why I am even making this in the first place

Attachment
0
CodingKitten

Fixed double currency bug

Attachment
0