{
"path": "/3mchihxhfdk2c",
"site": "at://did:plc:dgtaz4vldacvqhvvmdvoc4ad/site.standard.publication/3m7iwa2i6us22",
"tags": [
"devlog",
"jobtrail"
],
"$type": "site.standard.document",
"title": "Jobtrail EP 5: The end of the Trail (For Now)",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"id": "019bc152-0d0d-7007-b60b-6024706626b6",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Well, this is it: Jobtrail is (kind of) done. I ended up rewriting it again to be just a React SPA (single page application) with a Convex backend because I honestly didn't want to bother with deploying a Laravel application and dealing with setting up CI/CD. Plus, I had done some weird stuff with Inertia that I feel would be better left alone, so there's that."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I honestly don't know how to end this: there are still some features left to develop, like email reminders and that kind of stuff, but the big picture is done; I use it myself to track applications for my job search."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I'll still clean up the code and share it on Github and on here if you're curious about how to do something similar :)"
}
}
]
}
]
},
"bskyPostRef": {
"cid": "bafyreignadcsmlqnhzciduewkzf5mr2vjnzah2ccwiy6bn2anat2dznhu4",
"uri": "at://did:plc:dgtaz4vldacvqhvvmdvoc4ad/app.bsky.feed.post/3mchii4alok2c",
"commit": {
"cid": "bafyreifgkr2rvuyiaa52v2bftrlak4vzmtefnepkgmaurm6shiw56qq3zm",
"rev": "3mchii4e46i23"
},
"validationStatus": "valid"
},
"description": "",
"publishedAt": "2026-01-15T11:34:33.502Z"
}