Files
TasGrid/migration-output/context-ownership-2026-03-24T22-58-27-823Z/notes.json
T
tcardoza 52786dcd44
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m21s
user-context migration
2026-03-24 18:46:36 -05:00

1534 lines
115 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Task handoff to note protection (hide the tag so it can't be removed if it isn't linked to another context as well)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Make the \"x\" in task search be a clear search x not a close x (since click off is set)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Linked tasks disappear from the linked tasks list when the task changes at all. (until refresh or loading another note and coming back)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Make \"deleted at\" actually work</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>finish old completed task cleanup (it was partially built and committed on accident)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Fix the spacing fix meant for iphones that backfired a little</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Task loading on startup flashes 3 times. It needs to not refresh tasks that have been loaded fully already</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Add a \"Clear Filter\" button and make it more obvious when filtering (especially in tasks)</p></div></li></ul><p></p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Auto create a note when a job is created via SDK (Beth Request)</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Auto create a task for the estimator of the job</p></div></li></ul></div></li></ul><p></p><p>Other</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Make buckets soft delete. Maybe make it just cross it out and say \"Deleting Permanently on\" instead of a whole separate trash section due to sharing rules. Disable share rules immediately with full restoration if recovered.</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Tasks that are completed since using the status field for completion don't have check marks on them</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Show an indicator on tasks that were last edited by not yourself</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Add opt-in notifications?</p></div></li></ul></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Fix iframe issues? Create task… Calender picker… Stop using iframe?</p></div></li></ul><h3><br>All:</h3><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Recurring should remember level of completion? Optionally?</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Maybe more robust checklists??</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Completed task auto-delete after 3 months</p></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Checkbox size</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>When a filter is applied, a clear filters button should appear next to the filter button as well as in the filter popover</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Load all should only be visible if there are unloaded tasks</p></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Swap task size sorting effect? Bigger tasks should show up first to keep in mind as due date gets closer.</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>OR add start date as optional?</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Adjust the sorting based on task size? e.g. 2 day task with due date in two days sorts as if due today??</p></div></li></ul></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Offline edit/add que</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Notifications?</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>\"/hidden task\" tag that hides a task and a toggle to include or exclude hidden tasks</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p><u>voice notes system</u></p></div></li></ul><p></p><p></p><h1>Current Prompt:</h1><p>I get this in the console every minute. Can you tell me why and maybe fix it? It seems benign but it's getting a little annoying to have them build up and it would be nice to know what is actually causing them.</p><p></p><p>Conole Item:</p><p>realtime:1 GET https://pocketbase.ccllc.pro/api/realtime net::ERR_QUIC_PROTOCOL_ERROR 200 (OK)</p><p><br></p><p></p><h3>Prism Prompt:</h3><p>When a note is created for a job using the tasgrid sdk. Also create the following child notes:<br>- Contract<br>- Estimate and Scopes<br>- Plans and Drawings<br>- Schedule<br>- Pictures<br><br>Notes can be children of other notes simply by adding the tag \"child-of-[parent-note-ID]\" to the note.</p><p><br></p><h3>Code Cleanup (put whole flattened codebase in context)</h3><p>Let's carefully improve the structure of this codebase to improve future AI assisted development. Review this flattened repo and provide the following:</p><ul><li><p>I want to do a biggest bang for buck restructure of the code so that AI inside coding harnesses like antigravity can find where things are much more easily. This also means I want a list of key files for each major feature that I can link in my prompts when working on a specific feature to give the AI a good starting point.</p></li><li><p>I want a few basic structure tips to improve development.</p></li><li><p>I want a short list of things that are easy for you to identify but would be hard for an AI to find if using greps and searches instead of just having the whole codebase dropped into it's context.</p></li></ul><p></p>",
"created": "2026-02-27 02:40:20.077Z",
"deletedAt": "",
"id": "fqkvul3d1ect7e3",
"isPrivate": true,
"key": "tasgrid",
"tags": [
"#tasgrid"
],
"tasks": [],
"title": "Tasgrid",
"updated": "2026-03-23 23:42:26.554Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<h1>To Do:</h1><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Flip chat history (newest on bottom)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Make message length = message visual length</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Add 2x, 3x, and 4x playback options</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Sending file types:</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Add text messages</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Add image/video messages</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Add PDF messages (or build pdf hosting link system)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p></p></div></li></ul><p></p><h1>Hosting:</h1><ul><li><p>Render - good for non-serverless - stable - subscription based</p></li></ul><p></p><h1>AI Models:</h1><h3>General Purpose and Summarization:</h3><ul><li><p>LLM: Ouro-2.6B-Thinking (~3.0GB VRAM)</p></li></ul><h3><strong>Local Multi-Lingual Messaging Pipeline (2026 Spec)</strong></h3><h3><strong>1. Voice-to-Text (VTT): Whisper-v3-Turbo</strong></h3><ul><li><p><strong>Model:</strong> Whisper-v3-Turbo (deployed via whisper.cpp).</p></li><li><p><strong>Role:</strong> Real-time transcription of English or Spanish audio messages.</p></li><li><p><strong>Performance:</strong> Utilizes the 2026 \"Turbo\" architecture, providing the accuracy of full-scale models at roughly 8x the inference speed. It is specifically selected for its robustness in high-noise environments (e.g., active construction sites).</p></li><li><p><strong>Footprint:</strong> ~800MB RAM. (Near instant load-in, doesn't need to be resident)</p></li></ul><h3><strong>2. Machine Translation (MT): NLLB-200-Distilled-1.3B</strong></h3><ul><li><p><strong>Model:</strong> Metas No Language Left Behind (1.3B distilled variant).</p></li><li><p><strong>Role:</strong> Dedicated bilingual text translation.</p></li><li><p><strong>Performance:</strong> Unlike general-purpose chat models, NLLB is a pure translation engine. This eliminates \"AI chatter\" and ensures direct, literal mapping of technical terms. The 1.3B version is used over the 600M variant to ensure higher precision for industry-specific vocabulary.</p></li><li><p><strong>Footprint:</strong> ~2.5GB RAM (Resident).</p></li></ul><h3><strong>3. Text-to-Speech (TTS): Qwen3-TTS-0.6B</strong></h3><ul><li><p><strong>Model:</strong> Qwen3-TTS-0.6B-Base.</p></li><li><p><strong>Role:</strong> Synthesis of translated text into audio using the sender's cloned voice.</p></li><li><p><strong>Performance:</strong> Features a \"Dual-Track\" streaming architecture with sub-100ms first-packet latency. It handles cross-lingual cloning natively, allowing an English-speaking user's voice to be accurately reproduced in Spanish (and vice versa) using a 3-second reference sample.</p></li><li><p><strong>Footprint:</strong> ~1.2GB RAM (Resident).</p></li></ul><h3><strong>Execution Workflow</strong></h3><p>Voice to Voice translation:</p><ol><li><p><strong>Ingestion:</strong> A voice message is recorded and passed to <strong>Whisper-v3-Turbo</strong> for transcription.</p></li><li><p><strong>Processing:</strong> * <strong>Spanish to English:</strong> Whisper.cpp uses the --translate flag to output English text directly.</p><ul><li><p><strong>English to Spanish:</strong> Whisper transcribes to English text, which is then routed through <strong>NLLB-1.3B</strong> for precise Spanish translation.</p></li></ul></li><li><p><strong>Synthesis:</strong> The translated text is sent to <strong>Qwen3-TTS</strong>, which generates the final audio file using the sender's stored voice profile.</p></li></ol><p></p><p>Text to Voice (with translation):</p><ol><li><p><strong>Ingestion:</strong> A text message is sent.</p></li><li><p><strong>Processing:</strong> * <strong>Spanish to English:</strong> Whisper.cpp uses the --translate flag to output English text directly.</p><ul><li><p><strong>English to Spanish:</strong> Whisper transcribes to English text, which is then routed through <strong>NLLB-1.3B</strong> for precise Spanish translation.</p></li></ul></li><li><p><strong>Synthesis:</strong> The translated text is sent to <strong>Qwen3-TTS</strong>, which generates the final audio file using the sender's stored voice profile.</p></li></ol><h3>Execution</h3><p>The pipeline is triggered by incoming messages and routes them through the following logic, contingent on whether a user in the thread is marked as \"needing translation.\"</p><p><strong>1. Transcription &amp; Search (Standard)</strong></p><ul><li><p><strong>Trigger:</strong> User sends a voice message.</p></li><li><p><strong>Process:</strong> <strong>Whisper-v3-Turbo</strong> transcribes the audio into a text string.</p></li><li><p><strong>Result:</strong> The text is indexed for search and displayed as a \"skimmable\" text preview alongside the original audio file.</p></li></ul><p><strong>2. Text-to-Audio Accessibility (Standard)</strong></p><ul><li><p><strong>Trigger:</strong> User sends a text message.</p></li><li><p><strong>Process:</strong> <strong>Qwen3-TTS</strong> immediately generates a corresponding audio file using the sender's voice profile.</p></li><li><p><strong>Result:</strong> Both the text and the synthesized \"on the go\" audio message are served to the recipient, allowing for eyes-free consumption.</p></li></ul><p><strong>3. Voice-to-Translated-Voice (As Needed)</strong></p><ul><li><p><strong>Trigger:</strong> A voice message is sent in a thread containing a user marked for translation.</p></li><li><p><strong>Process:</strong> * <strong>Whisper-v3-Turbo</strong> transcribes the original audio.</p><ul><li><p><strong>NLLB-1.3B</strong> translates that transcription into the target language.</p></li><li><p><strong>Qwen3-TTS</strong> synthesizes the translated text into a new audio file.</p></li></ul></li><li><p><strong>Result:</strong> The system saves and serves the original audio/text to English users and the translated audio/text to Spanish users.</p></li></ul><p><strong>4. Text-to-Translated-Voice (As Needed)</strong></p><ul><li><p><strong>Trigger:</strong> A text message is sent in a thread containing a user marked for translation.</p></li><li><p><strong>Process:</strong> * <strong>NLLB-1.3B</strong> translates the text into the target language.</p><ul><li><p><strong>Qwen3-TTS</strong> generates a localized audio message from the translated text.</p></li></ul></li><li><p><strong>Result:</strong> Both English and Spanish text versions are archived; users are served the version (audio and text) matching their language preference.</p></li></ul><p></p><h3><strong>Resource Management</strong></h3><p>The system is designed to run on a server with at least <strong>8GB of total RAM</strong>, with the following allocation for these specific services:</p><ul><li><p><strong>Resident Models (NLLB + Qwen3):</strong> ~3.7GB (kept in memory for instant messaging response).</p></li><li><p><strong>On-Demand (Whisper):</strong> ~800MB (invoked during audio processing).</p></li><li><p><strong>Total Expected Load:</strong> ~4.5GB (leaving overhead for the host OS and messaging database).</p></li></ul><p></p><h1>Architecture</h1><p>Lets work on the app architecture.<br><br>This app should use a multi-tiered structure:<br>- Springs (high level grouping)<br>- Rivers (Job or topic level grouping)<br>- Streams (individual chats)<br>- Trenches (essentially like discord threads for sub-conversations)<br><br>Some specific preconfigured groups are:<br>- There should be a DM Spring (for direct user to user messaging)<br>- A Jobs Spring (for all job specific rivers)</p><p></p><p></p><h1>UI</h1><p>### The UI Refinement<br><br>Refine and modernize the UI for this communication app (RiverConnect) with a focus on professional consistency and 'Discord-meets-Linear' aesthetics. Please apply the following specific fixes:<br><br>* <strong>Sidebar Iconography:</strong> Replace the small blue icons next to 'Direct Messages' and 'Jobs' with modern, minimalist chevron or 'plus' icons. Ensure they are vertically centered with the text and have consistent padding.<br>* <strong>Header Actions:</strong> Update the search and settings icons in the top-right corner. Use a consistent SVG stroke weight (e.g., 1.5px or 2px) and ensure they are perfectly aligned within a subtle circular hover state.<br><br>* <strong>Channel Intro Text:</strong> Replace the 'This is the start of the #Stream channel.' text with more relevant text. Stream is the name of the layer of hierarchy not the name of THIS particular stream. And we aren't using \"#\" for anything.<br>* <strong>Global Styling:</strong> <em>Implement a consistent </em>*border-radius** (8px to 12px) across all UI elements.<br>* Adjust the <strong>typography scale</strong> to create a clearer distinction between channel names, user names, and timestamps.<br>* Ensure all voice note players have a uniform height and consistent padding within the chat stream.<br>* Maintain the dark theme but introduce subtle 'surface' colors (e.g., slightly lighter greys) to differentiate the sidebar from the main chat area.<br><br>* <strong>Visual Balance:</strong> The left sidebar feels a bit \"heavy\" compared to the right side. Adding a slight 1px border or a very subtle drop shadow to the sidebar can help create a sense of depth.</p><h1>SPEC DOC CREATION PROMPT</h1><p>Write me a spec document for an app for my company to use internally.</p><p></p><p>Here are the specifications I have:</p><p>Stack:</p><p>- Use Elixir, Phoenix Liveview, and a solid.js layer on the front (to prevent duplicate stores) - Unless you recommend just elixir as a backend and solid for the frontend.</p><p>- Use Supabase (or a direct connection to postgres)</p><p></p><p>Key features:</p><p>- Voxer-like audio recording/streaming messages. Record and playback by other users while recording or with a delay or days later.</p><p>- Text messaging</p><p>- Video and image sending</p><p>- PDF attachment sending</p><p>- A hierarchal chat system featuring 4 layers:</p><p>- - High level categories including \"DMs\", \"Job chats\", \"Office Chats\".</p><p>- - Chats including: various direct messages between users, all individual jobs, group chats.</p><p>- - Sub-chats for organizing conversations such as different topics within a job (these would be optional in that not all Chats need to have sub-chats)</p><p>- - \"Conversations\" or \"Threads\" which are collapsible groups of messages within a chat or sub-chat. Messages can be dynamically added to threads after the fact.</p><p>- 1x, 2x, 3x, and 4x playback speed for audio messages</p><p></p><p>UI:</p><p>- Shadcn baseline with light and dark mode</p><p>- Mobile and Desktop optimized</p><p>- Audio messages should have a playback/scrubbing bar that fits to the length of the audio message and can wrap to multi-line.</p><p>- Two-way transcription: Transcribe audio messages to text (and display a summary) and convert text messages to voice-cloned audio messages. (always transcribed and server side with company servers and ai models) use Whisper-v3-Turbo, NLLB-200-Distilled-1.3B (for translation to and from spanish for specific users), and Qwen3-TTS-0.6B as well as whatever general purpose LLM the company is already running.</p><p>- Simple modern shadcn inspired icons</p>",
"created": "2026-02-27 02:42:35.567Z",
"deletedAt": "",
"id": "6nduhfb37oe9f8i",
"isPrivate": true,
"key": "rivertalk",
"tags": [
"#rivertalk"
],
"tasks": [],
"title": "RiverTalk",
"updated": "2026-03-20 00:31:36.102Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4830: O'Reilly Auto Parts in Shell Knob</p>",
"created": "2026-02-27 22:29:42.231Z",
"deletedAt": "",
"id": "a533wg3z88that8",
"isPrivate": false,
"key": "4830-o-reilly-auto-parts-in-shell-knob",
"tags": [
"#4830-o-reilly-auto-parts-in-shell-knob",
"job_id:noc9gko3pea2t99",
"prism_job"
],
"tasks": [],
"title": "#4830 - O'Reilly Auto Parts in Shell Knob",
"updated": "2026-03-20 00:31:36.390Z",
"user": ""
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4833: Goldsmith.</p>",
"created": "2026-02-27 23:45:36.438Z",
"deletedAt": "",
"id": "e096s43ydxf9zw2",
"isPrivate": false,
"key": "4833-goldsmith",
"tags": [
"#4833-goldsmith",
"job_id:tj2amt55s6czb1s",
"prism_job"
],
"tasks": [],
"title": "#4833 - Goldsmith",
"updated": "2026-03-20 00:31:36.753Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p>",
"created": "2026-03-02 21:46:37.240Z",
"deletedAt": "",
"id": "706khpyp5b5u2fi",
"isPrivate": true,
"key": "v-f150",
"tags": [
"#v-f150"
],
"tasks": [],
"title": "V F150",
"updated": "2026-03-20 00:31:36.940Z",
"user": "naztc2sg4b4fgfc"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4827: Phillips</p><p>Estimate from plans and Eddies info in voxer</p>",
"created": "2026-03-03 18:58:54.285Z",
"deletedAt": "",
"id": "eiwpc638pe1iwmv",
"isPrivate": false,
"key": "4827-phillips",
"tags": [
"#4827-phillips",
"job_id:brypj9xa3fs0cnj",
"prism_job"
],
"tasks": [],
"title": "#4827 - Phillips",
"updated": "2026-03-20 00:31:37.313Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4836: Sedalia State Fair.</p><p></p><h3><br>Contact Notes</h3><p>Elise Bruce is an intern who was the original contact. (618) 531-3973 - <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"mailto:Elise.bruce@Nabholz.com\">Elise.bruce@Nabholz.com</a></p><p>Dana Spath is current primary contact and he has the title \"ASSISTANT PROJECT MANAGER\"</p>",
"created": "2026-03-03 19:13:58.828Z",
"deletedAt": "",
"id": "ue2grgnznwom0ze",
"isPrivate": false,
"key": "4836-sedalia-state-fair",
"tags": [
"#4836-sedalia-state-fair",
"job_id:mv0gbffhsnx56qh",
"prism_job"
],
"tasks": [],
"title": "#4836 - Sedalia State Fair",
"updated": "2026-03-20 00:31:37.500Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4802: SDC Resort Acoustical ceilings: need pricing for specific vinyl tile and 4 Ts. Look for a response from FBM and send update before 3/9</p>",
"created": "2026-03-03 22:47:05.078Z",
"deletedAt": "",
"id": "k8tg3nj6em2tsa6",
"isPrivate": false,
"key": "4802-sdc-resort-acoustical-ceilings",
"tags": [
"#4802-sdc-resort-acoustical-ceilings",
"job_id:3u3yvyxz6giypnn",
"prism_job"
],
"tasks": [],
"title": "#4802 - SDC Resort Acoustical ceilings",
"updated": "2026-03-20 00:31:37.691Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-04 23:21:39.287Z",
"deletedAt": "2026-03-04 23:26:33.796Z",
"id": "nlrfwhhxutwp0hp",
"isPrivate": false,
"key": "new-note2",
"tags": [
"#new-note2"
],
"tasks": [],
"title": "New Note2",
"updated": "2026-03-20 00:31:37.873Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4707: Springfield Office Building</p><ul><li><p>MAR 5, 2026: all information is correct and up to date -BP</p></li></ul><p></p>",
"created": "2026-03-05 15:47:04.317Z",
"deletedAt": "",
"id": "skm1yh73migktq0",
"isPrivate": false,
"key": "4707-springfield-office-building",
"tags": [
"#4707-springfield-office-building",
"job_id:nyffamaoce4p7ql",
"prism_job"
],
"tasks": [],
"title": "#4707 - Springfield Office Building",
"updated": "2026-03-20 00:31:38.065Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p><p></p><p></p><p></p><p></p><p></p><p></p>",
"created": "2026-03-05 15:48:59.765Z",
"deletedAt": "",
"id": "qnotrhp9ibvicu2",
"isPrivate": false,
"key": "4609-camp-crowder-solider-barracks-bldg-757",
"tags": [
"#4609-camp-crowder-solider-barracks-bldg-757",
"job_id:5skjxx54r875sny",
"prism_job"
],
"tasks": [],
"title": "#4609 - Camp Crowder Solider Barracks - BLDG 757",
"updated": "2026-03-20 00:31:38.242Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4610: Camp Crowder Solider Barracks - BLDG 758</p><p></p><p>MAR 5, 2025 - Address is correct and contact information is up to date</p>",
"created": "2026-03-05 15:49:50.639Z",
"deletedAt": "",
"id": "ph2highdgz1lp8p",
"isPrivate": false,
"key": "4610-camp-crowder-solider-barracks-bldg-758",
"tags": [
"#4610-camp-crowder-solider-barracks-bldg-758",
"job_id:ptek1eslv503f77",
"prism_job"
],
"tasks": [],
"title": "#4610 - Camp Crowder Solider Barracks - BLDG 758",
"updated": "2026-03-20 00:31:38.421Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 3981: SRC</p>",
"created": "2026-03-05 15:50:34.709Z",
"deletedAt": "",
"id": "7zj5jikjdski8vc",
"isPrivate": false,
"key": "3981-src",
"tags": [
"#3981-src",
"job_id:b64o8a0vqqov93b",
"prism_job"
],
"tasks": [],
"title": "#3981 - SRC",
"updated": "2026-03-20 00:31:38.598Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4798: Alpha Acquisitions</p><p></p>",
"created": "2026-03-05 16:36:13.653Z",
"deletedAt": "",
"id": "ix1xaxnirv6p7xi",
"isPrivate": false,
"key": "4798-alpha-acquisitions",
"tags": [
"#4798-alpha-acquisitions",
"job_id:dlah2ny3jp4h9lk",
"prism_job"
],
"tasks": [],
"title": "#4798 - Alpha Acquisitions",
"updated": "2026-03-20 00:31:38.784Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4709: Verizon</p><p>MAR 5, 2026 - contact information and address is correct </p><p></p>",
"created": "2026-03-05 16:56:03.987Z",
"deletedAt": "",
"id": "6029pyr82ftvwgr",
"isPrivate": false,
"key": "4709-verizon",
"tags": [
"#4709-verizon",
"job_id:nnchxchep4yq1r9",
"prism_job"
],
"tasks": [],
"title": "#4709 - Verizon",
"updated": "2026-03-20 00:31:38.971Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4323: Prayer Center Restrooms</p><p></p><p>MAR 5, 2026 - all information is up to date </p>",
"created": "2026-03-05 17:02:07.857Z",
"deletedAt": "",
"id": "jmmwcpnj2s6nari",
"isPrivate": false,
"key": "4323-prayer-center-restrooms",
"tags": [
"#4323-prayer-center-restrooms",
"job_id:na4cnfsefa4az52",
"prism_job"
],
"tasks": [],
"title": "#4323 - Prayer Center Restrooms",
"updated": "2026-03-20 00:31:39.164Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p><p>Notes for Job 3694: Assemblies of God</p><p></p><p>MAR 5, 2025 - updated project address, no plans in job folder</p>",
"created": "2026-03-05 17:04:28.534Z",
"deletedAt": "",
"id": "z24t337k0rp1pw4",
"isPrivate": false,
"key": "3694-assemblies-of-god",
"tags": [
"#3694-assemblies-of-god",
"job_id:08slo7nfszfk9qn",
"prism_job"
],
"tasks": [],
"title": "#3694 - Assemblies of God",
"updated": "2026-03-20 00:31:39.366Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4682: Bread of Life Church</p><p>MAR 5, 2026 - address is correct, need contact information for PM, no plans in job folder </p>",
"created": "2026-03-05 17:08:41.765Z",
"deletedAt": "",
"id": "qlh87ho8n8hziy8",
"isPrivate": false,
"key": "4682-bread-of-life-church",
"tags": [
"#4682-bread-of-life-church",
"job_id:km9s5e7npbigfka",
"prism_job"
],
"tasks": [],
"title": "#4682 - Bread of Life Church",
"updated": "2026-03-20 00:31:39.580Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4803: JRC South Campus Early Childhood Water Damage</p><p></p><p>MAR 5, 2026 - address is correct, no contact number for project</p>",
"created": "2026-03-05 17:13:11.854Z",
"deletedAt": "",
"id": "wrj8u6n5oggr36k",
"isPrivate": false,
"key": "4803-jrc-south-campus-early-childhood-water-damage",
"tags": [
"#4803-jrc-south-campus-early-childhood-water-damage",
"job_id:yn21jh14r5acv5r",
"prism_job"
],
"tasks": [],
"title": "#4803 - JRC South Campus Early Childhood Water Damage",
"updated": "2026-03-20 00:31:39.761Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4623: Nixa Highschool Repairs</p><p></p><p>MAR 5, 2026 - job address is correct </p>",
"created": "2026-03-05 17:27:52.185Z",
"deletedAt": "",
"id": "8vcj226dpkermwx",
"isPrivate": false,
"key": "4623-nixa-highschool-repairs",
"tags": [
"#4623-nixa-highschool-repairs",
"job_id:fyp6gjsqy372o9s",
"prism_job"
],
"tasks": [],
"title": "#4623 - Nixa Highschool Repairs",
"updated": "2026-03-20 00:31:39.937Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4019: St. Elizabeth Ann Seton Parish Hall Renovation</p><p></p><p>MAR 5, 2026 - address is correct, all contact information is correct.</p>",
"created": "2026-03-05 17:30:20.351Z",
"deletedAt": "",
"id": "yref8fhpyw677q0",
"isPrivate": false,
"key": "4019-st-elizabeth-ann-seton-parish-hall-renovation",
"tags": [
"#4019-st-elizabeth-ann-seton-parish-hall-renovation",
"job_id:adpzc3peco73sj0",
"prism_job"
],
"tasks": [],
"title": "#4019 - St. Elizabeth Ann Seton Parish Hall Renovation",
"updated": "2026-03-20 00:31:40.123Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4315: CU JTEC Locker Room and RR Remodel</p><p></p><p>MAR 5, 2026 - all job information is up to date </p>",
"created": "2026-03-05 17:31:31.700Z",
"deletedAt": "",
"id": "4mtuh2x3c3rmz2w",
"isPrivate": false,
"key": "4315-cu-jtec-locker-room-and-rr-remodel",
"tags": [
"#4315-cu-jtec-locker-room-and-rr-remodel",
"job_id:ijhz0e5j8sp5wgi",
"prism_job"
],
"tasks": [],
"title": "#4315 - CU JTEC Locker Room and RR Remodel",
"updated": "2026-03-20 00:31:40.332Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4118: Estes Express Line Addition</p><p></p><p>MAR 5, 2026 - all job information is up to date and correct. </p><p></p><p></p>",
"created": "2026-03-05 17:33:05.022Z",
"deletedAt": "",
"id": "1mg085ngfajz6t8",
"isPrivate": false,
"key": "4118-estes-express-line-addition",
"tags": [
"#4118-estes-express-line-addition",
"job_id:yvz1nm8k7xysesx",
"prism_job"
],
"tasks": [],
"title": "#4118 - Estes Express Line Addition",
"updated": "2026-03-20 00:31:40.523Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 3768: JRC Joplin Sound booth</p><p></p><p>MAR 5, 2026 - all job information is correct and up to date </p>",
"created": "2026-03-05 17:36:14.535Z",
"deletedAt": "",
"id": "fd1urum9tbadrzd",
"isPrivate": false,
"key": "3768-jrc-joplin-soundbooth",
"tags": [
"#3768-jrc-joplin-soundbooth",
"job_id:9j2g3niqvbgy6ct",
"prism_job"
],
"tasks": [],
"title": "#3768 - JRC Joplin Soundbooth",
"updated": "2026-03-20 00:31:40.699Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4310: Central Assembly of God Church</p><p></p><p>MAR 5, 2025 - all job information is correct and up to date </p>",
"created": "2026-03-05 17:39:00.882Z",
"deletedAt": "",
"id": "c6fiq2j377zj93i",
"isPrivate": false,
"key": "4310-central-assembly-of-god-church",
"tags": [
"#4310-central-assembly-of-god-church",
"job_id:juxtr4skkl1wxqz",
"prism_job"
],
"tasks": [],
"title": "#4310 - Central Assembly of God Church",
"updated": "2026-03-20 00:31:40.902Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4287: Meeks Chiropractic</p><p></p><p>MAR 5, 2026 - updated address all other job information is correct</p><table style=\"min-width: 358px;\"><colgroup><col style=\"width: 308px;\"><col style=\"min-width: 25px;\"><col style=\"min-width: 25px;\"></colgroup><tbody><tr><th colspan=\"1\" rowspan=\"1\" colwidth=\"308\"><p></p></th><th colspan=\"1\" rowspan=\"1\"><p></p></th><th colspan=\"1\" rowspan=\"1\"><p></p></th></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"308\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"308\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr></tbody></table><p></p><p></p>",
"created": "2026-03-05 17:40:19.358Z",
"deletedAt": "",
"id": "4gvd9ji3p6o9n3u",
"isPrivate": false,
"key": "4287-meeks-chiropractic",
"tags": [
"#4287-meeks-chiropractic",
"job_id:yf1usxwih9qqfux",
"prism_job"
],
"tasks": [],
"title": "#4287 - Meeks Chiropractic",
"updated": "2026-03-20 00:31:41.099Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p><strong><u>Overall Scope Detail :</u></strong></p><ul><li><p>Project Name: Mt Vernon High School</p></li><li><p>Sq. Footage:</p></li><li><p>Location:</p><ul><li><p>400 State Hwy 174, Mt Vernon, MO 65712</p></li></ul></li></ul><p>&nbsp;</p><p><strong><u>Contact Information:</u></strong></p><ul><li><p>General Contractor: Veregy</p></li><li><p>Project Manager: David Grey</p><ul><li><p>417-214-2708</p></li><li><p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"mailto:dgrey@veregy.com\">dgrey@veregy.com</a></p></li></ul></li></ul><p><strong><u>Project Platform</u></strong></p><p>&nbsp;Project Sight</p><p>****Project Start Date: 3/12 on interior</p><p></p><p><strong><u>Scope of Work:</u></strong></p><p>&nbsp;</p><p>Steel framing</p><p>Zip Sheathing</p><p>Suspended Grid Gyp.</p><p>Danback blocking</p><p>Treated sleepers for stage</p><p>Advantech 3/4\"</p><p>Weather Barrier</p><p>Hollow Metal Door Frames</p><p>Fiberglass Batt. Insulation</p><p>Drywall</p><p>Suspended Acoustical Ceilings (2x2 Rockfon Artic w/ 6\" trim)</p><p>Acoustical Pads on wall</p><p>&nbsp;</p><p>&nbsp;</p>",
"created": "2026-03-06 16:14:21.471Z",
"deletedAt": "",
"id": "ah0sv025c4riohg",
"isPrivate": false,
"key": "4150-mt-vernon-performing-arts-center",
"tags": [
"#4150-mt-vernon-performing-arts-center",
"job_id:lxtobp7liz4s3vi",
"Est.Steve Brewer",
"Rep.Regina McClain",
"PM.",
"Client.Veregy",
"Prism"
],
"tasks": [],
"title": "#4150 - Mt Vernon Performing Arts Center",
"updated": "2026-03-20 00:31:41.281Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Bidding for multiple GCs. Bid due date listed is the earliest across companies.<br>Bidding for: Nabholz, Ross, Base, and Cornerstone.<br><br>Nabholz Bid description and details:<br>Nabholz Construction is requesting subcontractor and material proposals for the Ozark Fire Protection District New Training Annex &amp; Maintenance Facility. The project consists of a 13,848 SFT Pre-Engineered Metal Building located at 911 North 9th Street, Ozark, MO 65721. <br>Attention to bidders is particularly called to the following requirements:<br>· This project is prevailing wage. Please follow Annual Wage Order 32 for Christian County. <br>· This project is tax exempt. Please exclude sales tax from your proposal.<br>· This project requires two alternate prices. Please refer to 012300 for a full description.<br>1. Alternate 1 Training Area Interior Infill<br>2. Alternate 2 Exposed Fastener Exterior Metal Wall Panel<br>· This project requires twelve-unit prices. Please refer to 012200 for a full description. <br><br>Project Description: The project consists of the following scopes of work: concrete, steel, carpentry, waterproofing, doors, frames, hardware, overhead doors, glazing, drywall, flooring, epoxy flooring, painting, signage, wall protection, toilet accessories, fire extinguishers, window shades, pre-engineered metal buildings, fire suppression, plumbing, HVAC, electrical, communications, access controls, security, fire alarm, earthwork, and utilities. <br><br>Pre-Bid Meeting: will be held Thursday, February 26th, 2026 at 11:00 AM located at 604 North 3rd Street, Ozark, MO 65721. <br><br>Bid Date: Bids are due March 12th, 2026, at 2:00 PM. Bids may be emailed to Jarrett Sims at <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"mailto:jarrett.sims@nabholz.com\">jarrett.sims@nabholz.com</a>. <br>Please contact Jarrett Sims at 417-402-9693 if you have any questions.</p><p>Use sales email to search for job name and find POC depending on client</p><p>—</p>",
"created": "2026-03-06 19:12:55.438Z",
"deletedAt": "",
"id": "bpvl5sbyak44dya",
"isPrivate": false,
"key": "4829-ozark-fire-protection-district-new-training-maintenance-facility",
"tags": [
"#4829-ozark-fire-protection-district-new-training-maintenance-facility",
"job_id:lphdba763bhkav3",
"prism_job"
],
"tasks": [],
"title": "#4829 - Ozark Fire Protection District New Training & Maintenance Facility",
"updated": "2026-03-20 00:31:41.484Z",
"user": "fdve3i2gop4huym"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p>",
"created": "2026-03-06 20:29:52.804Z",
"deletedAt": "",
"id": "zrpf1wlanzpfltn",
"isPrivate": false,
"key": "test-note",
"tags": [
"#test-note",
"__note_policy_handoff__"
],
"tasks": [],
"title": "Test Note",
"updated": "2026-03-23 22:37:41.245Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4222: Love</p><p>CO: finishes vary from room to room. See voxer </p>",
"created": "2026-03-06 21:28:39.003Z",
"deletedAt": "",
"id": "co55bm5mxkdjtwi",
"isPrivate": false,
"key": "4222-love",
"tags": [
"#4222-love",
"job_id:m0weg8p9kmpau6x",
"prism_job"
],
"tasks": [],
"title": "#4222 - Love",
"updated": "2026-03-20 00:31:41.847Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4045: Nothum</p><p>2/24/26 CO: Updated wall plans emailed. Most of 3 walls in office now paneling &amp; Bedroom #3 now has \"drywall w/trim paneling\". Everything else looks the same. Possibility the rooms showing tile are not tile all the way up and we are hanging most of those areas after all so may need to look into that if budget gets tight especially. CO Completed - BC</p><p>2/24/26 CO: Confirmed with Rex, level 4 behind wallpaper is sufficient - Dave CO completed for L5 deduct -BC</p><p>3/13 CO: hanging behind paneling. No drywall work was figured, but apparently we hung paneling walls. Also, Dave confirmed we hung bathrooms except for showers. CO completed BC</p>",
"created": "2026-03-06 22:24:54.715Z",
"deletedAt": "",
"id": "b16dsmemeubstqd",
"isPrivate": false,
"key": "4045-nothum",
"tags": [
"#4045-nothum",
"job_id:02qhvwbyhhs5zyd",
"prism_job"
],
"tasks": [],
"title": "#4045 - Nothum",
"updated": "2026-03-20 00:31:42.079Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>g</p><p>g</p><p></p><p>gg</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p><p>g</p>",
"created": "2026-03-06 22:26:06.961Z",
"deletedAt": "",
"id": "rzcze7v149bu3u6",
"isPrivate": false,
"key": "mat",
"tags": [
"#mat",
"child-of-zrpf1wlanzpfltn",
"taborder:2"
],
"tasks": [],
"title": "Mat",
"updated": "2026-03-20 17:06:10.076Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4841: Andys Custard HQ - DD Budget</p><p></p>",
"created": "2026-03-07 00:27:10.824Z",
"deletedAt": "",
"id": "xcljwpoxsngift1",
"isPrivate": false,
"key": "4841-andys-custard-hq-dd-budget",
"tags": [
"#4841-andys-custard-hq-dd-budget",
"job_id:uu6jzc4y9ump349",
"prism_job"
],
"tasks": [],
"title": "#4841 - Andys Custard HQ - DD Budget",
"updated": "2026-03-20 00:31:42.407Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p>",
"created": "2026-03-07 00:52:44.389Z",
"deletedAt": "2026-03-20 23:23:29.069Z",
"id": "n3xnlo7tjm00khg",
"isPrivate": false,
"key": "plans",
"tags": [
"#plans",
"child-of-bpvl5sbyak44dya"
],
"tasks": [],
"title": "Plans",
"updated": "2026-03-20 23:23:28.939Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Potential change orders</p><p>They turned the doors upside down</p><p>They inverted windows</p>",
"created": "2026-03-09 14:58:30.885Z",
"deletedAt": "",
"id": "t6vuflkvybpbjjp",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-zrpf1wlanzpfltn",
"taborder:0"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:42.687Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4843: Garage</p><p>Sent Dave a verbal of $4700 to pass on for a rough number</p>",
"created": "2026-03-10 16:45:48.242Z",
"deletedAt": "",
"id": "1k3w30czzvqrdsp",
"isPrivate": false,
"key": "4843-garage",
"tags": [
"#4843-garage",
"job_id:sj8bjn5p292rl1r",
"prism_job"
],
"tasks": [],
"title": "#4843 - Garage",
"updated": "2026-03-20 00:31:42.839Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-10 20:37:25.911Z",
"deletedAt": "",
"id": "0p14wk1hgrq5fzn",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-b16dsmemeubstqd"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:42.991Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-10 20:37:38.746Z",
"deletedAt": "",
"id": "wktfxxfcy45g4tl",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-b16dsmemeubstqd"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:43.143Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Make sure tectum goes on prior to MEP</p>",
"created": "2026-03-10 22:46:40.620Z",
"deletedAt": "",
"id": "l4zml17cewqnq89",
"isPrivate": false,
"key": "acoustical-install-notes",
"tags": [
"#acoustical-install-notes",
"child-of-xcljwpoxsngift1",
"taborder:0"
],
"tasks": [],
"title": "Acoustical Install Notes",
"updated": "2026-03-20 00:31:43.307Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<h1>Estimating Notes</h1><p>Ext Walls</p><ul><li><p>3\" Z Girt</p></li><li><p>2\" Z Girt</p></li><li><p>1.5\" Rigid insulation R-7.5</p></li><li><p>Fire Treated Plywood with <strong><u>liquid applied moister</u></strong> barrier (All exterior)</p></li><li><p>6\" Stud 33 mil (only ext) - PRICE as 18ga and WORD as 20ga 33 mil</p></li><li><p>Int Gyp</p></li><li><p><strong>NOT </strong>Mechanically Seamed Standing Seam Metal Panel</p></li><li><p>shiny 90 (4 per linear foot of ext wall)</p></li><li><p>(look at fasteners)</p></li><li><p>R19 UnfacedNOT ON PLANS in all ext walls - SAY we think they missed it (not in plans)</p></li></ul><p></p><p>24 OC framing (int) (Ext use 16 OC)</p><p></p><h3>Wording Notes</h3><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>SAY: All 20EQ unless otherwise notes. 3-5/8 and 6in only (no odd sizes)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>SAY: NO WORK DONE ON ROOF</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>In 123 Storage room NO CIELING FIGURED (plans unclear)</p></div></li></ul><p></p><p></p><h3>Adds/Price Notes</h3><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$10/linear foot for box beams</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ADD/CHANGE 5716 lf of acoustic / fire caulking - 0.6 per linear foot material and labor</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ADD/CHANGE Lift Rental/equipment: $8000</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ADD 400 feet of slip track for contingency</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ADD/REPLACE $5000 for ALL clips for all walls</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ADD Fasteners <strong>$1500</strong></p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p><strong>TAXES</strong></p></div></li></ul><p></p><p></p><h3>Labor Rates</h3><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Steel Framing: Labor to layout bottom track <strong>SAME</strong></p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Steel Framing: Labor to install Z channel <strong>SAME</strong></p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Foam insulation<strong> SAME</strong></p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Steel Framing: Labor to frame interior walls $0.75</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Steel Framing: Labor to frame exterior walls $1.10</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Framing Delivery Service 10 hrs</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Framing Misc Contingency 12%</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Framing Management 62 hrs</p></div></li></ul><p></p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ABC-2 Baffles $7/sqft (Just labor pre everything)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ABC-1 Folded Grid Baffle +100% contingency (Just labor pre everything)</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Parameter $500 labor (pre-everything)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$1700 for grid (pre-everything)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$850 for tile (pre-everything)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ACT-1</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$0.50 sqft (pre)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$0.30 sqft (pre)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ACT-2</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$0.50 sqft (pre)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$0.30 sqft (pre)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ACP-1</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$1 +$1 of cont and manag (pre)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ACT-3</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>$2 per foot (6 hr management) (pre)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>ACT-4 and ACT-5 - Cont 20% management 2 hrs</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>.5 Grid</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>.25 Tile</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>LWC-1 We can add suspended drywall system and add plywood and screw to plywood</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>.6 grid</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>.7 plywood</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>separate line item: $3.50 per sqft +50% cont (pre)</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Suspended Gyp</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>.5 grid</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Ceiling Insulation</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>.15 +management 8 hrs (pre)</p></div></li></ul></div></li></ul><p></p><p></p><p>1610 &amp; 1620 N Le Compte Rd, Springfield, MO, 65802</p>",
"created": "2026-03-10 23:43:54.214Z",
"deletedAt": "",
"id": "v841a7y1xpbgxe3",
"isPrivate": false,
"key": "estimating-notes",
"tags": [
"#estimating-notes",
"child-of-xcljwpoxsngift1",
"taborder:1"
],
"tasks": [],
"title": "Estimating Notes",
"updated": "2026-03-20 23:23:52.292Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>-duplicate long studs on building 758 (6\")</p><p>-remove 10ft 6\" studs from next ticket</p><p>-from dan info, adjust 11ft studs, also short for any short studs we may bring </p><p>-adjust for RC1</p><p>-confirm insulation for high walls (possibly 2 weeks out for needing insulation)</p><p></p><p></p><ol><li><p>figure out what we really need on the job</p></li><li><p>figure out what has really been delivered </p></li></ol><p></p><p>-how long studs above and below windows and doors </p><p></p><p></p>",
"created": "2026-03-11 16:37:58.094Z",
"deletedAt": "",
"id": "cjmy8zsb0x9ufn5",
"isPrivate": false,
"key": "contract",
"tags": [
"#contract",
"child-of-qnotrhp9ibvicu2",
"taborder:0"
],
"tasks": [],
"title": "Contract",
"updated": "2026-03-20 00:31:43.783Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4753: Ceiling</p>",
"created": "2026-03-11 17:29:33.661Z",
"deletedAt": "",
"id": "8jukh24j76z4mrg",
"isPrivate": false,
"key": "4753-ceiling",
"tags": [
"#4753-ceiling",
"job_id:zfa3zymu5sqitnj",
"prism_job"
],
"tasks": [],
"title": "#4753 - Ceiling",
"updated": "2026-03-20 00:31:43.939Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-11 17:29:36.649Z",
"deletedAt": "",
"id": "p5gp74ne3ck7nf7",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-8jukh24j76z4mrg"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:44.095Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-11 17:29:38.588Z",
"deletedAt": "",
"id": "hn9x5bqj17lyh7h",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-8jukh24j76z4mrg"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:44.246Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-11 17:29:39.136Z",
"deletedAt": "",
"id": "rv57rwn5mlrnwg4",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-8jukh24j76z4mrg"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:44.391Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-11 17:29:39.364Z",
"deletedAt": "",
"id": "o31grudhkjq783z",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-8jukh24j76z4mrg"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:44.535Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-11 17:29:41.609Z",
"deletedAt": "",
"id": "192lwm5boeqa2h2",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-8jukh24j76z4mrg"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:44.682Z",
"user": "1hbif9dbqng86h9"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4648:</p><p>possible CO: 100 feet of wrapped beams not in plans</p>",
"created": "2026-03-11 20:36:17.721Z",
"deletedAt": "",
"id": "8n1mdvztubx2jtn",
"isPrivate": false,
"key": "4648",
"tags": [
"#4648",
"job_id:9ow671ppw43l75a",
"prism_job"
],
"tasks": [],
"title": "#4648 - ",
"updated": "2026-03-20 00:31:44.839Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4649:</p><p>possible CO: 100 feet of wrapped beams not in plans</p>",
"created": "2026-03-11 20:37:06.475Z",
"deletedAt": "",
"id": "gsly0gfom2egpaj",
"isPrivate": false,
"key": "4649",
"tags": [
"#4649",
"job_id:4c7g0ecqf8hr2hj",
"prism_job"
],
"tasks": [],
"title": "#4649 - ",
"updated": "2026-03-20 00:31:45.011Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Auto calculate man days</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Auto Calculate Prevailing Wage</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Add a click to copy feature to calculator and have it remove any \",\"</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Make marker text editable</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Price typing issues</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Save and load versioning</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>template loading</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>scope description templates</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Replace quantities from CSV</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Add price tracking</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Price Template creation and usage</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>supplier choosing</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Price history tracking?</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Create and send pricing update forms to suppliers</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Add tax</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Export Manager Info</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Manager Notes? Nah just use estimator notes</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Man hours calculates based on sub-scope total instead of sub-scope subtotal</p></div></li></ul><p></p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Management Fee and Delivery Fee should include a man hours calculation</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Calculator UI</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>takes all numbers while open instead of only on focus</p></div></li></ul></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Filter/search unassigned items</p></div></li></ul><p></p>",
"created": "2026-03-11 22:11:17.950Z",
"deletedAt": "",
"id": "bqnpkukk3xji0x8",
"isPrivate": true,
"key": "estimaker",
"tags": [
"#estimaker"
],
"tasks": [],
"title": "Estimaker",
"updated": "2026-03-20 22:36:03.618Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4835: Kickapoo ceilings</p><p></p><p>Removal of Tile and Replace for HVAC</p><p></p>",
"created": "2026-03-12 16:58:57.416Z",
"deletedAt": "",
"id": "3vueccgfqu6nmc2",
"isPrivate": false,
"key": "4835-kickapoo-ceilings",
"tags": [
"#4835-kickapoo-ceilings",
"job_id:s1ip8t4zaajii3l",
"prism_job"
],
"tasks": [],
"title": "#4835 - Kickapoo ceilings",
"updated": "2026-03-20 00:31:45.347Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p>",
"created": "2026-03-12 20:03:41.276Z",
"deletedAt": "",
"id": "vl5aepn4eiw6slz",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-xcljwpoxsngift1"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:45.503Z",
"user": "e9vck6v3pa951wn"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p>",
"created": "2026-03-12 20:04:52.676Z",
"deletedAt": "",
"id": "lzaynkrc5kb76o9",
"isPrivate": false,
"key": "co",
"tags": [
"#co",
"child-of-zrpf1wlanzpfltn",
"taborder:1"
],
"tasks": [],
"title": "CO",
"updated": "2026-03-20 18:04:30.525Z",
"user": "e9vck6v3pa951wn"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4846: Heritage Coryell Office</p>",
"created": "2026-03-13 14:24:03.729Z",
"deletedAt": "",
"id": "2ur7d3nm0bvt7iy",
"isPrivate": false,
"key": "4846-heritage-coryell-office",
"tags": [
"#4846-heritage-coryell-office",
"job_id:ehbvq75v5l3w10i",
"prism_job"
],
"tasks": [],
"title": "#4846 - Heritage Coryell Office",
"updated": "2026-03-20 00:31:45.795Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4263: Woodring</p><p>Confirm everything was included in takeoff that should have been. Stock footage seems high.</p>",
"created": "2026-03-13 14:38:10.120Z",
"deletedAt": "",
"id": "h66xvegugjuzt62",
"isPrivate": false,
"key": "4263-woodring",
"tags": [
"#4263-woodring",
"job_id:3wel1lelo2yecae",
"prism_job"
],
"tasks": [],
"title": "#4263 - Woodring",
"updated": "2026-03-20 00:31:45.939Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4850: Intercounty Electric Rolla</p>",
"created": "2026-03-16 20:58:53.009Z",
"deletedAt": "",
"id": "4hfqo8k4hdeixxh",
"isPrivate": false,
"key": "4850-intercounty-electric-rolla",
"tags": [
"#4850-intercounty-electric-rolla",
"job_id:utzuu7dy74paqcn",
"prism_job"
],
"tasks": [],
"title": "#4850 - Intercounty Electric Rolla",
"updated": "2026-03-23 22:36:32.815Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Prevailing Wage?<br>Taxable?</p><h1>ITB Notes</h1><p>The scope of work includes:&nbsp;</p><ul><li><p>Renovation of&nbsp;(2) existing Metal Buildings.&nbsp;</p></li><li><p>Construction of (1) new, ground-up Metal Building.&nbsp;</p></li><li><p>Associated sitework, including utilities, paving, grading, and other related improvements.</p></li></ul><p></p><p>Project Plans are available to view/download using the following link: <a target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"https://wcjlc.sharepoint.com/:b:/g/IQDWv9bbak-OQodJYih7XCN-AXL58mWlXdV2ubZK8LW5oYA?e=L1HS4u\" title=\"Original URL: https://wcjlc.sharepoint.com/:b:/g/IQDWv9bbak-OQodJYih7XCN-AXL58mWlXdV2ubZK8LW5oYA?e=L1HS4u. Click or tap if you trust this link.\">Intercounty Rolla MO_Final Drawings_02-26-26.pdf</a>.</p><p>Please include the following in your bid:&nbsp;</p><ul><li><p>Detailed Scope of Work</p></li><li><p>Clarifications and Exclusions</p></li><li><p>Lead Time Considerations</p></li><li><p>Any Alternates or Cost-Saving Options You Recommend</p></li></ul><p></p><p>All bids are due by <em><u>5:00pm on&nbsp;March 18, 2026</u></em>.&nbsp;</p><p>Please send all proposals to everyone below:&nbsp;</p><p><strong></strong><u>Austin Kelly, Assistant Project Manager</u></p><ul><li><p>Email: <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"mailto:austinkelly@williamsconst.com\">austinkelly@williamsconst.com</a></p></li><li><p>Phone: (417) 349-0841</p></li></ul><p><strong></strong><u>Nathan Scribner, Assistant Project Manager</u></p><ul><li><p>Email: <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"mailto:nathanscribner@williamsconst.com\">nathanscribner@williamsconst.com</a></p></li><li><p>Phone: (417) 389-9197</p></li></ul><p><u>Josh Seibert, Project Manager</u></p><ul><li><p>Email: <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"mailto:josh@williamsconst.com\">josh@williamsconst.com</a></p></li><li><p>Phone: (417) 818-2584</p><p><br></p></li></ul><p></p>",
"created": "2026-03-16 20:59:09.379Z",
"deletedAt": "",
"id": "pnauetnkkz7nqqc",
"isPrivate": false,
"key": "estimating-notes",
"tags": [
"#estimating-notes",
"child-of-4hfqo8k4hdeixxh"
],
"tasks": [],
"title": "Estimating Notes",
"updated": "2026-03-20 00:31:46.246Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-16 23:47:35.554Z",
"deletedAt": "2026-03-18 23:38:06.109Z",
"id": "u0om2mdxmzrzqua",
"isPrivate": false,
"key": "new-note",
"tags": [
"#new-note"
],
"tasks": [],
"title": "New Note",
"updated": "2026-03-20 00:31:46.406Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-16 23:47:46.985Z",
"deletedAt": "",
"id": "10br7e968zt1quu",
"isPrivate": true,
"key": "general-coding",
"tags": [
"#general-coding"
],
"tasks": [],
"title": "General Coding",
"updated": "2026-03-20 00:31:46.550Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [
"ci_template_oe5a2y8m6i.yaml"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<h1>Below is an, endtoend record you can reuse for the next app. It includes required file changes, CI changes, server setup, verification, and expected outputs.</h1><p></p><p><strong>1) Repo changes (local)</strong></p><p>Files to edit:</p><p>- <code>C:\\Users\\TimothyCardoza\\Documents\\AI-Apps\\EstiMaker\\item-extractor-solid\\package.json</code></p><p>Add a <code>serve</code> script and dependency:</p><p>```json</p><p>\"scripts\": {</p><p> \"dev\": \"vite\",</p><p> \"build\": \"tsc -b &amp;&amp; vite build\",</p><p> \"preview\": \"vite preview\",</p><p> \"serve\": \"serve -s dist -l tcp://0.0.0.0:$PORT\"</p><p>}</p><p>```</p><p>Dependency:</p><p>```json</p><p>\"dependencies\": {</p><p> \"serve\": \"^14.2.6\"</p><p>}</p><p>```</p><p>Command to add dependency:</p><p>```</p><p>bun add serve</p><p>```</p><p>Verification:</p><p>```</p><p>bun run serve</p><p>```</p><p>Expected behavior: serves <code>dist/</code> on the port defined by <code>PORT</code> env var.</p><p>---</p><p><strong>2) CI workflow changes (Gitea Actions)</strong></p><p>File: </p><p><code>C:\\Users\\TimothyCardoza\\Documents\\AI-Apps\\EstiMaker\\item-extractor-solid\\.gitea\\workflows\\ci.yaml</code></p><p>Key requirements:</p><p>- Build output is <code>dist/</code> (Vite).</p><p>- Deploy <code>dist/</code>, <code>package.json</code>, and <code>bun.lock</code> or <code>bun.lockb</code>.</p><p>- Install production deps on server.</p><p>- Restart PM2 with <code>PORT</code> set.</p><p>Baseline working pattern:</p><p>```yaml</p><p>env:</p><p> DEPLOY_HOST: \"10.10.1.82\"</p><p> APP_PORT: \"4100\"</p><p> DEPLOY_PATH: \"/var/www/&lt;APP_NAME&gt;\"</p><p># build job uses bun to run <code>bun run build</code></p><p># deploy job:</p><p>- rsync deploy/ -&gt; /var/www/&lt;APP_NAME&gt;/</p><p>- SSH: bun install --production</p><p>- SSH: export PORT=&lt;APP_PORT&gt; and restart PM2</p><p>```</p><p>---</p><p><strong>3) Server setup (onetime per app)</strong></p><p>On the server:</p><p>```</p><p>mkdir -p /var/www/&lt;APP_NAME&gt;</p><p>```</p><p>Start PM2 for first time:</p><p>```</p><p>cd /var/www/&lt;APP_NAME&gt;</p><p>PORT=&lt;APP_PORT&gt; pm2 start \"bun run serve\" --name &lt;APP_NAME&gt;</p><p>pm2 save</p><p>```</p><p>---</p><p><strong>4) Deployment (from CI)</strong></p><p>CI should copy these to <code>/var/www/&lt;APP_NAME&gt;</code>:</p><p>- <code>dist/</code></p><p>- <code>package.json</code></p><p>- <code>bun.lock</code> (or <code>bun.lockb</code>)</p><p>Then on the server:</p><p>```</p><p>cd /var/www/&lt;APP_NAME&gt;</p><p>bun install --production</p><p>PORT=&lt;APP_PORT&gt; pm2 restart &lt;APP_NAME&gt; --update-env</p><p>```</p><p>---</p><p><strong>5) Verification steps</strong></p><p>1) Verify PM2 is running the right command and CWD:</p><p>```</p><p>pm2 show &lt;APP_NAME&gt;</p><p>```</p><p>Expected:</p><p>- <code>script args</code> contains <code>-c bun run serve</code></p><p>- <code>exec cwd</code> is <code>/var/www/&lt;APP_NAME&gt;</code></p><p>2) Verify environment and port:</p><p>```</p><p>pm2 env &lt;ID&gt; | grep PORT</p><p>```</p><p>Expected:</p><p>```</p><p>PORT: &lt;APP_PORT&gt;</p><p>```</p><p>3) Verify serve is listening on correct interface:</p><p>```</p><p>pm2 logs &lt;APP_NAME&gt; --lines 20</p><p>```</p><p>Expected:</p><p>```</p><p>Accepting connections at <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"http://0.0.0.0:&lt;APP_PORT&gt;\">http://0.0.0.0:&lt;APP_PORT&gt;</a></p><p>```</p><p>4) Verify deployment files:</p><p>```</p><p>ls -la /var/www/&lt;APP_NAME&gt;</p><p>ls -la /var/www/&lt;APP_NAME&gt;/dist | head -20</p><p>```</p><p>Expected: <code>dist/</code> updated with current timestamps.</p><p>5) Verify connectivity from a client:</p><p>```</p><p>curl -I http://&lt;SERVER_IP&gt;:&lt;APP_PORT&gt;</p><p>```</p><p>Expected: <code>HTTP/1.1 200 OK</code> or a valid response.</p><p>---</p><p><strong>6) Common failure causes and fixes</strong></p><p>- Log shows <code>Accepting connections at http://localhost:xxxxx</code> </p><p> Fix: ensure <code>serve -s dist -l tcp://0.0.0.0:$PORT</code> is in <code>package.json</code>.</p><p>- <code>PORT</code> still old after restart </p><p> Fix:</p><p> ```</p><p> PORT=&lt;APP_PORT&gt; pm2 restart &lt;APP_NAME&gt; --update-env</p><p> ```</p><p>- CI deploy “succeeds” but app unchanged </p><p> Fix:</p><p> - Confirm CI copies <code>dist/</code> into <code>/var/www/&lt;APP_NAME&gt;</code>.</p><p> - Confirm PM2 CWD is <code>/var/www/&lt;APP_NAME&gt;</code>.</p><p> - Confirm <code>dist/</code> timestamps update.</p><p>- Access works on server but not externally </p><p> Fix: open firewall for <code>&lt;APP_PORT&gt;</code> or update reverse proxy.</p><p>---</p><p>If you want, I can generate a reusable <code>ci.yaml</code> template and a short “new app checklist” you can copy/paste with placeholders for app name, port, and path.<br><br></p><div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/72skntmhl1zhlrc/ci_template_oe5a2y8m6i.yaml\" data-filename=\"ci_template_oe5a2y8m6i.yaml\" data-filesize=\"3339\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><p></p>",
"created": "2026-03-16 23:48:08.178Z",
"deletedAt": "",
"id": "72skntmhl1zhlrc",
"isPrivate": true,
"key": "ci-for-solid-js-apps",
"tags": [
"#ci-for-solid-js-apps",
"child-of-10br7e968zt1quu"
],
"tasks": [],
"title": "CI for Solid.js Apps",
"updated": "2026-03-20 00:31:46.699Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [
"a801_reflected_ceiling_plan_0zyubyshig.pdf",
"a101_floor_plan_weysfqpe6r.pdf",
"a101_floor_plan_rn5trf3l0d.pdf"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/oackngl3ndp47uc/a801_reflected_ceiling_plan_0zyubyshig.pdf\" data-filename=\"a801_reflected_ceiling_plan_0zyubyshig.pdf\" data-filesize=\"937262\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/oackngl3ndp47uc/a101_floor_plan_weysfqpe6r.pdf\" data-filename=\"a101_floor_plan_weysfqpe6r.pdf\" data-filesize=\"1148226\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/oackngl3ndp47uc/a101_floor_plan_rn5trf3l0d.pdf\" data-filename=\"a101_floor_plan_rn5trf3l0d.pdf\" data-filesize=\"1148226\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><p></p>",
"created": "2026-03-17 14:02:13.131Z",
"deletedAt": "",
"id": "oackngl3ndp47uc",
"isPrivate": false,
"key": "drawings",
"tags": [
"#drawings",
"child-of-ah0sv025c4riohg",
"taborder:2"
],
"tasks": [],
"title": "Drawings",
"updated": "2026-03-20 00:31:46.839Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [
"4150_estimate_zyb571u5bn.pdf"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/kfus6axx2ptni4t/4150_estimate_zyb571u5bn.pdf\" data-filename=\"4150_estimate_zyb571u5bn.pdf\" data-filesize=\"455515\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><p></p>",
"created": "2026-03-17 14:02:28.823Z",
"deletedAt": "",
"id": "kfus6axx2ptni4t",
"isPrivate": false,
"key": "estimate",
"tags": [
"#estimate",
"child-of-ah0sv025c4riohg",
"taborder:1"
],
"tasks": [],
"title": "Estimate",
"updated": "2026-03-20 00:31:46.979Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [
"cardoza_mt_vernon_r_v_sd_ph_3berjt8wok.028-2_encrypted_.pdf"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/opq68qm5rorkwjs/cardoza_mt_vernon_r_v_sd_ph_3berjt8wok.028-2_encrypted_.pdf\" data-filename=\"cardoza_mt_vernon_r_v_sd_ph_3berjt8wok.028-2_encrypted_.pdf\" data-filesize=\"4072750\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><p></p>",
"created": "2026-03-17 14:02:38.487Z",
"deletedAt": "",
"id": "opq68qm5rorkwjs",
"isPrivate": false,
"key": "contract",
"tags": [
"#contract",
"child-of-ah0sv025c4riohg",
"taborder:0"
],
"tasks": [],
"title": "Contract",
"updated": "2026-03-20 00:31:47.114Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [
"mtv_prelim_const_schedule_pdf_ga91ueaf3r.pdf"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/le8kbvhxldynga2/mtv_prelim_const_schedule_pdf_ga91ueaf3r.pdf\" data-filename=\"mtv_prelim_const_schedule_pdf_ga91ueaf3r.pdf\" data-filesize=\"61432\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><p></p>",
"created": "2026-03-17 14:03:23.027Z",
"deletedAt": "",
"id": "le8kbvhxldynga2",
"isPrivate": false,
"key": "schedule",
"tags": [
"#schedule",
"child-of-ah0sv025c4riohg",
"taborder:3"
],
"tasks": [],
"title": "Schedule",
"updated": "2026-03-20 00:31:47.263Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [
"image_yulhefij9z.webp",
"image_odpxog428y.webp"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>MARCH 9, 2026</p><img class=\"rounded-lg border border-border max-w-full h-auto\" src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/len231ymi0gd3r2/image_yulhefij9z.webp\" data-filename=\"image_yulhefij9z.webp\"><p>MARCH 9, 2026</p><img class=\"rounded-lg border border-border max-w-full h-auto\" src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/len231ymi0gd3r2/image_odpxog428y.webp\" data-filename=\"image_odpxog428y.webp\"><p></p>",
"created": "2026-03-17 19:07:32.792Z",
"deletedAt": "",
"id": "len231ymi0gd3r2",
"isPrivate": false,
"key": "photos",
"tags": [
"#photos",
"child-of-ah0sv025c4riohg",
"taborder:4"
],
"tasks": [],
"title": "Photos",
"updated": "2026-03-20 00:31:47.419Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [
"image_j1klxlt121.webp",
"image_cttfxevw5d.webp",
"image_utedor8bz6.webp",
"image_wh6ux05qvz.webp"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<table style=\"min-width: 134px;\"><colgroup><col style=\"width: 109px;\"><col style=\"min-width: 25px;\"></colgroup><tbody><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>FEB 24, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Intro email sent to Phillip Rogers</p></td></tr><tr><th colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p><strong>FEB 24, 2026</strong></p></th><th colspan=\"1\" rowspan=\"1\"><p>Reached out to Ben Jennings and John Miller from RTM to get ship drawings for submittals</p></th></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>FEB 25, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Question asked by RTM if shops are needed for interior or exterior or both. Follow up with Timothy on estimate — need to know how to read</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>FEB 25, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Competent person form needs to be filled out prior to being on site. Current on-site date is March 5th, there are some delays on the project, and we might be looking at the 9th. </p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>FEB 27, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Contract states that substantial completion date is 06/29/2026 // contract states that we have 10 days to submit costs for changes, 10% markup is allowed for overhead and profit, Project is Tax Exempt // Prevailing Wage is under Wage order 31</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 3, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Start date for interior framing is 3/12</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 4, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Still need Miguel to sign the competent person form. Also need to figure out what we need for the EHS plan</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 6, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Follow up on the correspondence with Phillip and Chip over the cloud insulation </p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 9, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Follow up email sent to RTM asking the status of the shop drawings needed for submittals</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 9, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Shop drawings received from RTM</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 10, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Pay application is complete and submitted to <a target=\"_blank\" rel=\"noopener noreferrer nofollow\" class=\"text-primary underline underline-offset-4 cursor-pointer hover:text-primary/80 transition-colors\" href=\"mailto:apcentral@veregy.com\">apcentral@veregy.com</a> </p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 10, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Confirmed with Bill from wildcat that material will be on site 3/16</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 10, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>We are able to work Saturdays — Veregy will not pay overtime </p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 16, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Day 1 on site, Rick and I delivered the equipment needed, site guys not on site due to weather</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 17, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>Day 2, guys not on site due to weather, anticipated start date of tomorrow 3/18</p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p>MAR 17, 2026</p></td><td colspan=\"1\" rowspan=\"1\"><p>This did not make it into the construction drawing set, but this is the layout for the band room ceiling. The highlighted strips will be open to allow sound to pass through.</p><img class=\"rounded-lg border border-border max-w-full h-auto\" src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/9hidpoanxjyfomp/image_wh6ux05qvz.webp\" data-filename=\"image_wh6ux05qvz.webp\"></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr><tr><td colspan=\"1\" rowspan=\"1\" colwidth=\"109\"><p></p></td><td colspan=\"1\" rowspan=\"1\"><p></p></td></tr></tbody></table><p></p>",
"created": "2026-03-17 19:13:06.968Z",
"deletedAt": "",
"id": "9hidpoanxjyfomp",
"isPrivate": false,
"key": "notes",
"tags": [
"#notes",
"child-of-ah0sv025c4riohg",
"taborder:5",
"__nc23vrshrg0qtdi_favorite__"
],
"tasks": [],
"title": "Notes",
"updated": "2026-03-20 00:31:47.558Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-17 20:27:34.189Z",
"deletedAt": "",
"id": "shjpmpacyzxtj1b",
"isPrivate": false,
"key": "estimate",
"tags": [
"#estimate",
"child-of-qnotrhp9ibvicu2",
"taborder:1"
],
"tasks": [],
"title": "Estimate",
"updated": "2026-03-20 00:31:47.699Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-17 20:27:52.584Z",
"deletedAt": "",
"id": "eganmofr0aqzd0m",
"isPrivate": false,
"key": "drawings",
"tags": [
"#drawings",
"child-of-qnotrhp9ibvicu2",
"taborder:2"
],
"tasks": [],
"title": "Drawings",
"updated": "2026-03-20 00:31:47.843Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-17 20:27:59.639Z",
"deletedAt": "",
"id": "q5pms6o9vsztm72",
"isPrivate": false,
"key": "photos",
"tags": [
"#photos",
"child-of-qnotrhp9ibvicu2",
"taborder:4"
],
"tasks": [],
"title": "Photos",
"updated": "2026-03-20 00:31:47.986Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "",
"created": "2026-03-17 20:38:02.879Z",
"deletedAt": "",
"id": "v6ifl804ugfp2eg",
"isPrivate": false,
"key": "schedule",
"tags": [
"#schedule",
"child-of-qnotrhp9ibvicu2",
"taborder:3"
],
"tasks": [],
"title": "Schedule",
"updated": "2026-03-20 00:31:48.134Z",
"user": "nc23vrshrg0qtdi"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4656: Northfork River Ranch House</p><p>This was brought to us by: Mourick, Travis and originally set up him as client. I believe he came through Ed Cardoza. But the actual homeowner is the one who is going to pay the bill/is the actual client.</p>",
"created": "2026-03-18 16:31:20.892Z",
"deletedAt": "",
"id": "lxf9q1oxnn0iq6n",
"isPrivate": false,
"key": "4656-northfork-river-ranch-house",
"tags": [
"#4656-northfork-river-ranch-house",
"job_id:bs6qny1xy4la1q3",
"prism_job"
],
"tasks": [],
"title": "#4656 - Northfork River Ranch House",
"updated": "2026-03-20 00:31:48.287Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p>",
"created": "2026-03-18 19:19:30.528Z",
"deletedAt": "2026-03-18 19:19:47.157Z",
"id": "2xlrgl7e3motquo",
"isPrivate": false,
"key": "new-tab",
"tags": [
"#new-tab",
"child-of-4hfqo8k4hdeixxh"
],
"tasks": [],
"title": "New Tab",
"updated": "2026-03-20 00:31:48.423Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 3778: Reller</p><p>Basement plans are not correct. Asking for updated plans.</p>",
"created": "2026-03-18 20:20:08.114Z",
"deletedAt": "",
"id": "nx9wvl55pwrsczf",
"isPrivate": false,
"key": "3778-reller",
"tags": [
"#3778-reller",
"job_id:mfebk0gg2jcuiyw",
"prism_job"
],
"tasks": [],
"title": "#3778 - Reller",
"updated": "2026-03-20 00:31:48.567Z",
"user": "h9uihmnkwngdu8y"
},
{
"attachments": [
"elec_comp_113_mdp_box_out_2rb72cbqno.pdf"
],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<div class=\"file-attachment-node w-full max-w-sm rounded-lg border border-border bg-muted/30 hover:bg-muted/50 transition-colors my-4 overflow-hidden relative group cursor-pointer shadow-sm\" data-src=\"https://pocketbase.ccllc.pro/api/files/pbc_302699226/arkby4bt69xmlcg/elec_comp_113_mdp_box_out_2rb72cbqno.pdf\" data-filename=\"elec_comp_113_mdp_box_out_2rb72cbqno.pdf\" data-filesize=\"2298528\" data-type=\"file-attachment\"><a target=\"_blank\" rel=\"noopener noreferrer\" class=\"file-attachment-link flex items-center p-3 gap-3 w-full h-full\"><div class=\"flex-shrink-0 flex items-center justify-center w-10 h-10 rounded-md bg-primary/10 text-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\"></path><path d=\"M14 2v4a2 2 0 0 0 2 2h4\"></path><path d=\"M10 9H8\"></path><path d=\"M16 13H8\"></path><path d=\"M16 17H8\"></path></svg></div><div class=\"flex flex-col overflow-hidden w-full text-left\"><span class=\"text-sm font-medium truncate w-full text-foreground\">Attachment</span><span class=\"text-xs text-muted-foreground mt-0.5\">View File</span></div></a></div><p></p>",
"created": "2026-03-18 22:03:44.716Z",
"deletedAt": "",
"id": "arkby4bt69xmlcg",
"isPrivate": false,
"key": "changes",
"tags": [
"#changes",
"child-of-7zj5jikjdski8vc"
],
"tasks": [],
"title": "Changes",
"updated": "2026-03-20 00:31:48.715Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>tset</p>",
"created": "2026-03-18 23:16:27.428Z",
"deletedAt": "2026-03-18 23:21:48.185Z",
"id": "isxzzy07dbqiw5t",
"isPrivate": false,
"key": "new-note",
"tags": [
"#new-note"
],
"tasks": [],
"title": "New Note",
"updated": "2026-03-20 00:31:48.863Z",
"user": "gk3u91dx0r79fo2"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p></p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Make \"deleted at\" actually work (seems to not)</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Fix the spacing fix meant for iphones that backfired a little</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Task loading on startup flashes 3 times. It needs to not refresh tasks that have been loaded fully already</p></div></li></ul><p></p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Auto create a note when a job is created via SDK (Beth Request)</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Auto create a task for the estimator of the job</p></div></li></ul></div></li></ul><p></p><p>Other</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Make buckets soft delete. Maybe make it just cross it out and say \"Deleting Permanently on\" instead of a whole separate trash section due to sharing rules. Disable share rules immediately with full restoration if recovered.</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Tasks that are completed since using the status field for completion don't have check marks on them</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Show an indicator on tasks that were last edited by not yourself</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Add opt-in notifications?</p></div></li></ul></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Fix iframe issues? Create task… Calender picker… Stop using iframe?</p></div></li></ul><h3><br>All:</h3><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Recurring should remember level of completion? Optionally?</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Maybe more robust checklists??</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Completed task auto-delete after 3 months</p></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"true\" data-type=\"taskItem\"><label><input type=\"checkbox\" checked=\"checked\"><span></span></label><div><p>Checkbox size</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>When a filter is applied, a clear filters button should appear next to the filter button as well as in the filter popover</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Load all should only be visible if there are unloaded tasks</p></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Swap task size sorting effect? Bigger tasks should show up first to keep in mind as due date gets closer.</p><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>OR add start date as optional?</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Adjust the sorting based on task size? e.g. 2 day task with due date in two days sorts as if due today??</p></div></li></ul></div></li></ul><ul class=\"not-prose pl-2\" data-type=\"taskList\"><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Offline edit/add que</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>Notifications?</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p>\"/hidden task\" tag that hides a task and a toggle to include or exclude hidden tasks</p></div></li><li class=\"flex gap-2 items-start my-1\" data-checked=\"false\" data-type=\"taskItem\"><label><input type=\"checkbox\"><span></span></label><div><p><u>voice notes system</u></p></div></li></ul><p></p><p></p><h1>Current Prompt:</h1><p>I get this in the console every minute. Can you tell me why and maybe fix it? It seems benign but it's getting a little annoying to have them build up and it would be nice to know what is actually causing them.</p><p></p><p>Conole Item:</p><p>realtime:1 GET https://pocketbase.ccllc.pro/api/realtime net::ERR_QUIC_PROTOCOL_ERROR 200 (OK)</p><p></p><p></p><h3>Prism Prompt:</h3><p>When a note is created for a job using the tasgrid sdk. Also create the following child notes:<br>- Contract<br>- Estimate and Scopes<br>- Plans and Drawings<br>- Schedule<br>- Pictures<br><br>Notes can be children of other notes simply by adding the tag \"child-of-[parent-note-ID]\" to the note.</p><p></p><h3>Code Cleanup (put whole flattened codebase in context)</h3><p>Let's carefully improve the structure of this codebase to improve future AI assisted development. Review this flattened repo and provide the following:</p><ul><li><p>I want to do a biggest bang for buck restructure of the code so that AI inside coding harnesses like antigravity can find where things are much more easily. This also means I want a list of key files for each major feature that I can link in my prompts when working on a specific feature to give the AI a good starting point.</p></li><li><p>I want a few basic structure tips to improve development.</p></li><li><p>I want a short list of things that are easy for you to identify but would be hard for an AI to find if using greps and searches instead of just having the whole codebase dropped into it's context.</p></li></ul><p></p>",
"created": "2026-03-20 17:03:44.417Z",
"deletedAt": "2026-03-20 20:21:19.853Z",
"id": "ra85l82akperujr",
"isPrivate": true,
"key": "tasgrid-backup",
"tags": [],
"tasks": [],
"title": "Tasgrid Backup",
"updated": "2026-03-20 20:21:19.672Z",
"user": "sivbh2pwzyew5lb"
},
{
"attachments": [],
"collectionId": "pbc_302699226",
"collectionName": "TasGrid_Notes",
"content": "<p>Notes for Job 4845: Pythian St Ceilings Colin</p>",
"created": "2026-03-20 20:33:03.302Z",
"deletedAt": "",
"id": "luppfbt04v2wpag",
"isPrivate": false,
"key": "",
"tags": [
"job_id:vcdyimj5efgg498",
"prism_job"
],
"tasks": [],
"title": "#4845 - Pythian St Ceilings Colin",
"updated": "2026-03-20 22:35:10.878Z",
"user": "sivbh2pwzyew5lb"
}
]