{
"path": "/3maght5qwkc2l",
"site": "at://did:plc:dgtaz4vldacvqhvvmdvoc4ad/site.standard.publication/3m7iwa2i6us22",
"tags": [
"jobtrail",
"devlog"
],
"$type": "site.standard.document",
"title": "Jobtrail EP 4: Feature Parity & Trails",
"content": {
"$type": "pub.leaflet.content",
"pages": [
{
"id": "019b3b8a-f762-7cc5-82d9-eefca67a84ce",
"$type": "pub.leaflet.pages.linearDocument",
"blocks": [
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "We got feature parity after the rewrite!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "It didn't take that long, though I'm still not at the typesafety that I would like (but that's okay)."
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Now I can get on with the feature that defines the Jobtrail name: trails!"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Trails?"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Trails are just an action log for your application, starting from when it's created to when it ends - either with you being hired, rejected or refusing to continue (because you can also do that, did you know?)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.header",
"level": 2,
"facets": [],
"plaintext": "Got a homepage"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Here it is (ignore the tanstack devtools in the bottom right)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.image",
"image": {
"$type": "blob",
"ref": {
"$link": "bafkreifrvyp23v7llr3f4qtrogpuizhwdbiwxfkd5aa7rc4sk5sxxfdebq"
},
"mimeType": "image/png",
"size": 240252
},
"aspectRatio": {
"width": 1466,
"height": 2446
}
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "I'm not entirely happy with it, but at least it gives the correct information :)"
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": ""
}
},
{
"$type": "pub.leaflet.pages.linearDocument#block",
"block": {
"$type": "pub.leaflet.blocks.text",
"facets": [],
"plaintext": "Coming up next: trails and probably some brand identity (because right now it looks like any other app that was made using shadcn/ui)"
}
}
]
}
]
},
"bskyPostRef": {
"cid": "bafyreidydfbu5g7npg7axtep2dhqfjhrtmsyu3j7klyj5kekpnwur5cmna",
"uri": "at://did:plc:dgtaz4vldacvqhvvmdvoc4ad/app.bsky.feed.post/3maghtcin222l",
"commit": {
"cid": "bafyreia54lju5rkxeeqhohjryukbr2chw273siuyypzk7foro3nm35d6gq",
"rev": "3maghtclbqh2q"
},
"validationStatus": "valid"
},
"description": "",
"publishedAt": "2025-12-20T14:59:52.469Z"
}