Marin's Side Projects 2023
For one reason or another I didn’t do much publicly in 2023 but in the last couple months I had some free time and picked some ideas from the backlog to work on.
So here’s a short summary of few interesting things I worked on in 2023 (some with source code, yay):
Breadcrumbs
I’ve had this idea for a very long time and I believe that it could be a great app if anyone could come up with a business model to sustain its development.
Breadcrumbs is an issue tracker that works off your project’s source files in real time. It picks up any TODO:
and FIXME:
comments and gives you a classic bug tracking UI with some extras like parsing any tags and issue priority from the comment text:
Conveniently you can click on tags to filter the list in the sidebar and even click on “Open in Xcode” to open the file at the precise location directly in Xcode!
Here’s a simple video walkthrough that shows some of the user experience:
Finally, after I played with this for couple days I pushed the source here if you want to peak inside: https://github.com/icanzilb/Breadcrumbs.
PackageView
This another idea from the backlog that I needed in the past on one occasion or another β PackageView displays a Package.swift
visually so you can browse targets, dependencies and more β easily.
I think it makes a lot of sense, especially for large packages (like SwiftPM in the video below) to navigate visually instead of reading through the source in a text editor:
Again, I pushed the source to GitHub in case anyone would like to explore the idea further: https://github.com/icanzilb/PackageView.
Unxippity
Who doesn’t know the frustration of waiting for Xcode to unxip? :)))
Well, no more β Saagar has written a library that does concurrent unxipping in pure Swift (I mean, omg, how did he even do this, omg) which is also a great showcase of Swift concurrency.
I used his package and slapped some nice SwiftUI on top to make the tool more appealing for users who don’t want to unxip on the command line:
The cool spin of Unxippity over the command line version is that when you start downloading Xcode in Safari, Unxippity detects the ongoing download automatically (like in the video) and will unxip it automatically and let you know when it’s finished β all hands-free!
Source: https://github.com/icanzilb/Unxippity
MarkWalkthrough
I had a quick markdown-based app walkthrough hacked for my app Rex Tables and since one of its dependencies, Pow, became open source I thought it’d be nice to extract the code and put it out there.
MarkWalkthrough reads a list of slide configuration from a markdown file and uses SwiftUI and Pow to build interactive slideshow automatically. It basically turns a table:
| image | sticker | stickerOffset | stickerScale | transition | text |
| ---------- | -------- | ------------- | ------------ | ------------- | --------------- |
| window-1 | | | | skid, | This is the ... |
| window-2 | bubble-1 | 100,-75 | 0.75 | ,wipe | First of ... |
| window-3 | bubble-2 | 80,-165 | 0.75 | glare,vanish | Then ... |
Into interactive & animated slides:
A wrote a short blog post about it here: Easy app walkthroughs with MarkWalkthrough.
And the source is on GitHub here: https://github.com/icanzilb/MarkWalkthrough.
MarkPlayground
Speaking of Markdown (one of my favorite topics), I explored shortly another fun app idea β a fusion of half markdown editor and half developer console.
The idea being that a powerful markdown editor can make a lot of automation possible if it exposes the Markdown via a DOM like structure and allows the user to run arbitrary code against it.
I can imagine all kind of fun stuff being possible β for example changing all of H1 headings to H2s, adding formatting to given keywords, counting how many citations a paper references, or even looping over all images in the text and verifying if the URLs are still valid!
Anyhow, I didn’t spend too long on that idea but I got a split editor working where you could run JavaScript against a faux Markdown DOM:
PDFDoc
This is another app I wish someone would find a way to monetize because I’d definitely pay for this β documents as markdown files. Plain text can easily contain meta information that can help the document being useful to either print or be interpreted as an interactive document.
For example, looking at this plain text you could already tell how should it be filled our right?
Customer data
----------------------
Name: [ __________ ]
Family: [ __________ ]
Date: [today: ]
----------------------
This could be really useful for sharing forms over email or in GitHub, sending surveys and more. Here’s a demo of the same markdown file in a plain text editor and rendered by PDFDoc:
LogRider
I wanted to rip some of the core code off DataFude and publish a smaller in scope app on GitHub. I called it LogRider and have a somewhat working version of it but I’ll seemingly not have a usable repo before the holidays…
In any case, I think it looks pretty neat β it reads your Mac’s console and automatically tracks useful logs (it’s basically DataFude minus the custom UI):
Much like with DataFude you can feed logs from the system log or a log file on the file system and it’ll automatically track similar prints like “Progress: 10%”, “Progress: 22%”, “Progress: 25%”, etc. and visualize them:
I really love this one β it’s like a powerful fusion between the watch variables pane in Xcode and the output log console.
It’d be so great to have something like that ship in Xcode.
DataFude is now free!
Finally, I recently converted DataFude to a free app β you can download it from the Mac App Store.
Any thoughts on any of these app ideas? Let me know!
Get in touch at https://mastodon.social/@icanzilb.