@omniharmonic/openspace-cli 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-md-7DESZGEN.js → agents-md-3W4PIY4N.js} +2 -2
- package/dist/bin.js +2 -2
- package/dist/{chunk-TQZ5F7VG.js → chunk-6NIIOHOX.js} +91 -3
- package/dist/chunk-6NIIOHOX.js.map +1 -0
- package/dist/{chunk-AAMRGTSI.js → chunk-7I6IJI6Z.js} +9166 -874
- package/dist/chunk-7I6IJI6Z.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/starter/site/AGENTS.md +11 -4
- package/dist/templates/beacon/content/collections/events/_collection.json +13 -0
- package/dist/templates/beacon/content/collections/events/keeper-training-november.mdoc +14 -0
- package/dist/templates/beacon/content/collections/events/planting-day-harbour-ward.mdoc +14 -0
- package/dist/templates/beacon/content/collections/events/planting-day-linden-north.mdoc +14 -0
- package/dist/templates/beacon/content/collections/news/2026-09-12-heat-map-2026.mdoc +13 -0
- package/dist/templates/beacon/content/collections/news/2026-09-30-school-gardens-harvest.mdoc +13 -0
- package/dist/templates/beacon/content/collections/news/2026-10-14-planting-season-begins.mdoc +13 -0
- package/dist/templates/beacon/content/collections/news/_collection.json +16 -0
- package/dist/templates/beacon/content/pages/about.json +572 -0
- package/dist/templates/beacon/content/pages/contact.json +260 -0
- package/dist/templates/beacon/content/pages/donate.json +406 -0
- package/dist/templates/beacon/content/pages/get-involved.json +412 -0
- package/dist/templates/beacon/content/pages/home.json +701 -0
- package/dist/templates/beacon/content/pages/our-work.json +855 -0
- package/dist/templates/beacon/content/site.json +363 -0
- package/dist/templates/beacon/content/styles.json +17 -0
- package/dist/templates/beacon/media/LICENSES.json +163 -0
- package/dist/templates/beacon/openspace.json +21 -0
- package/dist/templates/beacon/template.json +113 -0
- package/dist/templates/commons/content/pages/{members.json → directory.json} +15 -15
- package/dist/templates/commons/content/pages/home.json +1 -1
- package/dist/templates/commons/content/site.json +2 -2
- package/dist/templates/commons/template.json +2 -2
- package/dist/templates/darkroom/content/collections/work/_collection.json +13 -0
- package/dist/templates/darkroom/content/collections/work/after-hours.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/dry-season.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/faces-of-the-guild.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/two-weddings.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/white-lines.mdoc +28 -0
- package/dist/templates/darkroom/content/pages/about.json +449 -0
- package/dist/templates/darkroom/content/pages/contact.json +185 -0
- package/dist/templates/darkroom/content/pages/home.json +636 -0
- package/dist/templates/darkroom/content/pages/services.json +636 -0
- package/dist/templates/darkroom/content/site.json +264 -0
- package/dist/templates/darkroom/content/styles.json +17 -0
- package/dist/templates/darkroom/media/LICENSES.json +284 -0
- package/dist/templates/darkroom/openspace.json +21 -0
- package/dist/templates/darkroom/template.json +103 -0
- package/dist/templates/encore/content/pages/home.json +86 -0
- package/dist/templates/encore/media/LICENSES.json +22 -0
- package/dist/templates/field-notes/content/pages/home.json +94 -0
- package/dist/templates/fixwell/content/pages/about.json +508 -0
- package/dist/templates/fixwell/content/pages/contact.json +321 -0
- package/dist/templates/fixwell/content/pages/home.json +888 -0
- package/dist/templates/fixwell/content/pages/pricing.json +467 -0
- package/dist/templates/fixwell/content/pages/services.json +648 -0
- package/dist/templates/fixwell/content/site.json +293 -0
- package/dist/templates/fixwell/content/styles.json +17 -0
- package/dist/templates/fixwell/media/LICENSES.json +119 -0
- package/dist/templates/fixwell/openspace.json +21 -0
- package/dist/templates/fixwell/template.json +108 -0
- package/dist/templates/folio/content/collections/projects/_collection.json +13 -0
- package/dist/templates/folio/content/collections/projects/field-notes-app.mdoc +28 -0
- package/dist/templates/folio/content/collections/projects/harbour-health-dashboards.mdoc +28 -0
- package/dist/templates/folio/content/collections/projects/open-budget.mdoc +28 -0
- package/dist/templates/folio/content/collections/projects/transit-times.mdoc +28 -0
- package/dist/templates/folio/content/collections/writing/2026-08-30-designing-for-night-shifts.mdoc +9 -0
- package/dist/templates/folio/content/collections/writing/2026-09-20-testing-with-real-data.mdoc +9 -0
- package/dist/templates/folio/content/collections/writing/2026-10-12-one-honest-number.mdoc +9 -0
- package/dist/templates/folio/content/collections/writing/_collection.json +16 -0
- package/dist/templates/folio/content/pages/about.json +366 -0
- package/dist/templates/folio/content/pages/contact.json +218 -0
- package/dist/templates/folio/content/pages/experience.json +552 -0
- package/dist/templates/folio/content/pages/home.json +410 -0
- package/dist/templates/folio/content/site.json +186 -0
- package/dist/templates/folio/content/styles.json +17 -0
- package/dist/templates/folio/media/LICENSES.json +229 -0
- package/dist/templates/folio/openspace.json +21 -0
- package/dist/templates/folio/template.json +103 -0
- package/dist/templates/gather/content/collections/fringe/_collection.json +13 -0
- package/dist/templates/gather/content/collections/fringe/library-open-studio.mdoc +14 -0
- package/dist/templates/gather/content/collections/fringe/morning-run.mdoc +14 -0
- package/dist/templates/gather/content/collections/fringe/plain-language-pub-quiz.mdoc +14 -0
- package/dist/templates/gather/content/pages/about.json +435 -0
- package/dist/templates/gather/content/pages/contact.json +196 -0
- package/dist/templates/gather/content/pages/home.json +527 -0
- package/dist/templates/gather/content/pages/programme.json +449 -0
- package/dist/templates/gather/content/pages/speakers.json +225 -0
- package/dist/templates/gather/content/pages/tickets.json +495 -0
- package/dist/templates/gather/content/pages/venue.json +382 -0
- package/dist/templates/gather/content/site.json +222 -0
- package/dist/templates/gather/content/styles.json +17 -0
- package/dist/templates/gather/media/LICENSES.json +185 -0
- package/dist/templates/gather/openspace.json +21 -0
- package/dist/templates/gather/template.json +118 -0
- package/dist/templates/inkwell/content/collections/essays/2026-09-17-notebooks.mdoc +13 -0
- package/dist/templates/inkwell/content/collections/essays/2026-10-01-kitchen-radio.mdoc +13 -0
- package/dist/templates/inkwell/content/collections/essays/2026-10-15-the-same-mile.mdoc +13 -0
- package/dist/templates/inkwell/content/collections/essays/_collection.json +21 -0
- package/dist/templates/inkwell/content/pages/about.json +281 -0
- package/dist/templates/inkwell/content/pages/books.json +459 -0
- package/dist/templates/inkwell/content/pages/contact.json +201 -0
- package/dist/templates/inkwell/content/pages/home.json +457 -0
- package/dist/templates/inkwell/content/pages/speaking.json +522 -0
- package/dist/templates/inkwell/content/site.json +222 -0
- package/dist/templates/inkwell/content/styles.json +17 -0
- package/dist/templates/inkwell/media/LICENSES.json +119 -0
- package/dist/templates/inkwell/openspace.json +21 -0
- package/dist/templates/inkwell/template.json +108 -0
- package/dist/templates/keystone/content/collections/notes/2026-09-17-hard-conversations.mdoc +11 -0
- package/dist/templates/keystone/content/collections/notes/2026-10-01-weekly-rhythm.mdoc +11 -0
- package/dist/templates/keystone/content/collections/notes/2026-10-15-the-first-manager.mdoc +11 -0
- package/dist/templates/keystone/content/collections/notes/_collection.json +21 -0
- package/dist/templates/keystone/content/pages/about.json +371 -0
- package/dist/templates/keystone/content/pages/contact.json +207 -0
- package/dist/templates/keystone/content/pages/home.json +815 -0
- package/dist/templates/keystone/content/pages/results.json +396 -0
- package/dist/templates/keystone/content/pages/work-with-me.json +477 -0
- package/dist/templates/keystone/content/site.json +224 -0
- package/dist/templates/keystone/content/styles.json +17 -0
- package/dist/templates/keystone/media/LICENSES.json +75 -0
- package/dist/templates/keystone/openspace.json +21 -0
- package/dist/templates/keystone/template.json +108 -0
- package/dist/templates/ledger/content/pages/home.json +62 -0
- package/dist/templates/orbit/content/collections/changelog/2026-09-21-faster-attachments.mdoc +11 -0
- package/dist/templates/orbit/content/collections/changelog/2026-10-05-snooze-until-reply.mdoc +11 -0
- package/dist/templates/orbit/content/collections/changelog/2026-10-19-help-centre-search.mdoc +13 -0
- package/dist/templates/orbit/content/collections/changelog/_collection.json +39 -0
- package/dist/templates/orbit/content/pages/about.json +396 -0
- package/dist/templates/orbit/content/pages/contact.json +195 -0
- package/dist/templates/orbit/content/pages/features.json +603 -0
- package/dist/templates/orbit/content/pages/home.json +1273 -0
- package/dist/templates/orbit/content/pages/pricing.json +608 -0
- package/dist/templates/orbit/content/site.json +368 -0
- package/dist/templates/orbit/content/styles.json +17 -0
- package/dist/templates/orbit/media/LICENSES.json +141 -0
- package/dist/templates/orbit/openspace.json +21 -0
- package/dist/templates/orbit/template.json +108 -0
- package/package.json +6 -6
- package/dist/chunk-AAMRGTSI.js.map +0 -1
- package/dist/chunk-TQZ5F7VG.js.map +0 -1
- /package/dist/{agents-md-7DESZGEN.js.map → agents-md-3W4PIY4N.js.map} +0 -0
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schema.openspace.dev/v1/site.json",
|
|
3
|
+
"title": "Fixwell Plumbing & Electric",
|
|
4
|
+
"tagline": "Licensed plumbers and electricians in north Denver.",
|
|
5
|
+
"nav": [
|
|
6
|
+
{
|
|
7
|
+
"type": "page",
|
|
8
|
+
"page": "pg_q2sbvhb6fq",
|
|
9
|
+
"label": "Services"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "page",
|
|
13
|
+
"page": "pg_k52zrsks9g",
|
|
14
|
+
"label": "Prices"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "page",
|
|
18
|
+
"page": "pg_c5jh5gv7m7",
|
|
19
|
+
"label": "About"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "page",
|
|
23
|
+
"page": "pg_g5v67q4hd6",
|
|
24
|
+
"label": "Contact"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "button",
|
|
28
|
+
"label": "Call now",
|
|
29
|
+
"link": {
|
|
30
|
+
"type": "phone",
|
|
31
|
+
"phone": "+13035550148"
|
|
32
|
+
},
|
|
33
|
+
"style": "primary"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"header": {
|
|
37
|
+
"variant": "classic-left",
|
|
38
|
+
"sticky": true,
|
|
39
|
+
"transparentOnHero": false,
|
|
40
|
+
"mobileMenu": "slide",
|
|
41
|
+
"colorTheme": "light"
|
|
42
|
+
},
|
|
43
|
+
"footer": {
|
|
44
|
+
"id": "sec_dvr93anbt4",
|
|
45
|
+
"preset": "footer/hours-footer@1",
|
|
46
|
+
"label": "Footer with hours",
|
|
47
|
+
"layout": {
|
|
48
|
+
"mode": "stack",
|
|
49
|
+
"columns": {
|
|
50
|
+
"d": [
|
|
51
|
+
4,
|
|
52
|
+
4,
|
|
53
|
+
4
|
|
54
|
+
],
|
|
55
|
+
"m": [
|
|
56
|
+
12
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"gap": "lg"
|
|
60
|
+
},
|
|
61
|
+
"style": {
|
|
62
|
+
"colorTheme": "dark",
|
|
63
|
+
"padding": {
|
|
64
|
+
"d": "xl",
|
|
65
|
+
"m": "lg"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"blocks": [
|
|
69
|
+
{
|
|
70
|
+
"id": "blk_pnq1cmnabn",
|
|
71
|
+
"type": "text",
|
|
72
|
+
"v": 1,
|
|
73
|
+
"fields": {
|
|
74
|
+
"content": {
|
|
75
|
+
"type": "doc",
|
|
76
|
+
"content": [
|
|
77
|
+
{
|
|
78
|
+
"type": "paragraph",
|
|
79
|
+
"attrs": {
|
|
80
|
+
"preset": "lead"
|
|
81
|
+
},
|
|
82
|
+
"content": [
|
|
83
|
+
{
|
|
84
|
+
"type": "text",
|
|
85
|
+
"text": "Fixwell Plumbing & Electric"
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"type": "paragraph",
|
|
91
|
+
"content": [
|
|
92
|
+
{
|
|
93
|
+
"type": "text",
|
|
94
|
+
"text": "2150 W 32nd Ave, Denver"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"type": "paragraph",
|
|
100
|
+
"content": [
|
|
101
|
+
{
|
|
102
|
+
"type": "text",
|
|
103
|
+
"text": "(303) 555‑0148",
|
|
104
|
+
"marks": [
|
|
105
|
+
{
|
|
106
|
+
"type": "link",
|
|
107
|
+
"attrs": {
|
|
108
|
+
"href": "tel:+13035550148"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"column": 0,
|
|
119
|
+
"variant": "default"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "blk_tetfphkaak",
|
|
123
|
+
"type": "hours",
|
|
124
|
+
"v": 1,
|
|
125
|
+
"fields": {
|
|
126
|
+
"heading": "Office hours",
|
|
127
|
+
"headingLevel": "h3",
|
|
128
|
+
"rows": [
|
|
129
|
+
{
|
|
130
|
+
"day": "mon",
|
|
131
|
+
"opens": "07:00",
|
|
132
|
+
"closes": "19:00",
|
|
133
|
+
"closed": false
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"day": "tue",
|
|
137
|
+
"opens": "07:00",
|
|
138
|
+
"closes": "19:00",
|
|
139
|
+
"closed": false
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"day": "wed",
|
|
143
|
+
"opens": "07:00",
|
|
144
|
+
"closes": "19:00",
|
|
145
|
+
"closed": false
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"day": "thu",
|
|
149
|
+
"opens": "07:00",
|
|
150
|
+
"closes": "19:00",
|
|
151
|
+
"closed": false
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"day": "fri",
|
|
155
|
+
"opens": "07:00",
|
|
156
|
+
"closes": "19:00",
|
|
157
|
+
"closed": false
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"day": "sat",
|
|
161
|
+
"opens": "08:00",
|
|
162
|
+
"closes": "16:00",
|
|
163
|
+
"closed": false
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"day": "sun",
|
|
167
|
+
"closed": true
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
"column": 1,
|
|
172
|
+
"variant": "compact"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"id": "blk_4hsbgjxd98",
|
|
176
|
+
"type": "text",
|
|
177
|
+
"v": 1,
|
|
178
|
+
"fields": {
|
|
179
|
+
"content": {
|
|
180
|
+
"type": "doc",
|
|
181
|
+
"content": [
|
|
182
|
+
{
|
|
183
|
+
"type": "paragraph",
|
|
184
|
+
"attrs": {
|
|
185
|
+
"preset": "eyebrow"
|
|
186
|
+
},
|
|
187
|
+
"content": [
|
|
188
|
+
{
|
|
189
|
+
"type": "text",
|
|
190
|
+
"text": "More"
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"type": "paragraph",
|
|
196
|
+
"content": [
|
|
197
|
+
{
|
|
198
|
+
"type": "text",
|
|
199
|
+
"text": "Services",
|
|
200
|
+
"marks": [
|
|
201
|
+
{
|
|
202
|
+
"type": "link",
|
|
203
|
+
"attrs": {
|
|
204
|
+
"href": "/services/"
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
]
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"type": "paragraph",
|
|
213
|
+
"content": [
|
|
214
|
+
{
|
|
215
|
+
"type": "text",
|
|
216
|
+
"text": "Prices",
|
|
217
|
+
"marks": [
|
|
218
|
+
{
|
|
219
|
+
"type": "link",
|
|
220
|
+
"attrs": {
|
|
221
|
+
"href": "/pricing/"
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
]
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"type": "paragraph",
|
|
230
|
+
"attrs": {
|
|
231
|
+
"preset": "small"
|
|
232
|
+
},
|
|
233
|
+
"content": [
|
|
234
|
+
{
|
|
235
|
+
"type": "text",
|
|
236
|
+
"text": "© 2026 Fixwell Plumbing & Electric LLC"
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
]
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"column": 2,
|
|
244
|
+
"variant": "default"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"id": "blk_kyckpzdnzf",
|
|
248
|
+
"type": "social-links",
|
|
249
|
+
"v": 1,
|
|
250
|
+
"fields": {
|
|
251
|
+
"source": "site",
|
|
252
|
+
"profiles": [
|
|
253
|
+
{
|
|
254
|
+
"network": "instagram",
|
|
255
|
+
"url": "https://instagram.com/juniperyoga"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"network": "youtube",
|
|
259
|
+
"url": "https://youtube.com/@juniperyoga"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"network": "email",
|
|
263
|
+
"url": "mailto:hello@juniperyoga.com"
|
|
264
|
+
}
|
|
265
|
+
]
|
|
266
|
+
},
|
|
267
|
+
"column": 2,
|
|
268
|
+
"variant": "icons"
|
|
269
|
+
}
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
"social": [
|
|
273
|
+
{
|
|
274
|
+
"network": "facebook",
|
|
275
|
+
"url": "https://facebook.com/fixwell.example"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"network": "instagram",
|
|
279
|
+
"url": "https://instagram.com/fixwell.example"
|
|
280
|
+
}
|
|
281
|
+
],
|
|
282
|
+
"seo": {
|
|
283
|
+
"titleTemplate": "%s · Fixwell",
|
|
284
|
+
"description": "Licensed plumbers and electricians in north Denver.",
|
|
285
|
+
"image": "https://images.unsplash.com/photo-1621905251189-08b45d6a269e?w=1200&q=80"
|
|
286
|
+
},
|
|
287
|
+
"locale": "en-US",
|
|
288
|
+
"integrations": {
|
|
289
|
+
"analytics": true,
|
|
290
|
+
"bookingUrl": null,
|
|
291
|
+
"stripeConnected": false
|
|
292
|
+
}
|
|
293
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schema.openspace.dev/v1/styles.json",
|
|
3
|
+
"choices": {
|
|
4
|
+
"palette": {
|
|
5
|
+
"brand": "oklch(0.62 0.18 45)",
|
|
6
|
+
"neutral": "cool",
|
|
7
|
+
"contrast": "standard",
|
|
8
|
+
"source": "curated"
|
|
9
|
+
},
|
|
10
|
+
"pairing": "archivo",
|
|
11
|
+
"density": "comfortable",
|
|
12
|
+
"shape": "soft",
|
|
13
|
+
"buttons": "solid",
|
|
14
|
+
"motion": "subtle",
|
|
15
|
+
"imageTreatment": "rounded"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "Licenses for the demo media in the Fixwell template. Replace the demo photos with your own; this file can be deleted once none of them are used.",
|
|
3
|
+
"design": {
|
|
4
|
+
"license": "CC-BY-4.0",
|
|
5
|
+
"licenseUrl": "https://creativecommons.org/licenses/by/4.0/"
|
|
6
|
+
},
|
|
7
|
+
"media": [
|
|
8
|
+
{
|
|
9
|
+
"kind": "image",
|
|
10
|
+
"src": "https://images.unsplash.com/photo-1500648767791-00dcc994a43e",
|
|
11
|
+
"title": "Portrait of a man in a grey sweater, smiling softly",
|
|
12
|
+
"author": "Jurica Koletić",
|
|
13
|
+
"authorUrl": "https://unsplash.com/@juricakoletic",
|
|
14
|
+
"source": "Unsplash",
|
|
15
|
+
"sourceUrl": "https://unsplash.com/photos/man-wearing-henley-top-portrait-7YVZYZeITc8",
|
|
16
|
+
"license": "Unsplash License",
|
|
17
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"kind": "image",
|
|
21
|
+
"src": "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d",
|
|
22
|
+
"title": "Portrait of a smiling man in a white t-shirt",
|
|
23
|
+
"author": "Joseph Gonzalez",
|
|
24
|
+
"authorUrl": "https://unsplash.com/@miracletwentyone",
|
|
25
|
+
"source": "Unsplash",
|
|
26
|
+
"sourceUrl": "https://unsplash.com/photos/man-wearing-white-v-neck-shirt-iFgRcqHznqg",
|
|
27
|
+
"license": "Unsplash License",
|
|
28
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"kind": "image",
|
|
32
|
+
"src": "https://images.unsplash.com/photo-1534528741775-53994a69daeb",
|
|
33
|
+
"title": "Portrait of a woman in a black top against a soft violet wall",
|
|
34
|
+
"author": "Aiony Haust",
|
|
35
|
+
"authorUrl": "https://unsplash.com/@aiony",
|
|
36
|
+
"source": "Unsplash",
|
|
37
|
+
"sourceUrl": "https://unsplash.com/photos/woman-wearing-black-crew-neck-shirt-3TLl_97HNJo",
|
|
38
|
+
"license": "Unsplash License",
|
|
39
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"kind": "image",
|
|
43
|
+
"src": "https://images.unsplash.com/photo-1544005313-94ddf0286df2",
|
|
44
|
+
"title": "Portrait of a woman with long brown hair in a striped shirt",
|
|
45
|
+
"author": "Štefan Štefančík",
|
|
46
|
+
"authorUrl": "https://unsplash.com/@cikstefan",
|
|
47
|
+
"source": "Unsplash",
|
|
48
|
+
"sourceUrl": "https://unsplash.com/photos/smiling-woman-wearing-white-and-black-pinstriped-collared-top-QXevDflbl8A",
|
|
49
|
+
"license": "Unsplash License",
|
|
50
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"kind": "image",
|
|
54
|
+
"src": "https://images.unsplash.com/photo-1560250097-0b93528c311a",
|
|
55
|
+
"title": "Portrait of a man in a dark suit and glasses",
|
|
56
|
+
"author": "LinkedIn Sales Solutions",
|
|
57
|
+
"authorUrl": "https://unsplash.com/@linkedinsalesnavigator",
|
|
58
|
+
"source": "Unsplash",
|
|
59
|
+
"sourceUrl": "https://unsplash.com/photos/man-standing-beside-wall-pAtA8xe_iVM",
|
|
60
|
+
"license": "Unsplash License",
|
|
61
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"kind": "image",
|
|
65
|
+
"src": "https://images.unsplash.com/photo-1580489944761-15a19d654956",
|
|
66
|
+
"title": "Portrait of a woman with dark hair pinned up, smiling",
|
|
67
|
+
"author": "Jake Nackos",
|
|
68
|
+
"authorUrl": "https://unsplash.com/@jakenackos",
|
|
69
|
+
"source": "Unsplash",
|
|
70
|
+
"sourceUrl": "https://unsplash.com/photos/woman-in-white-crew-neck-shirt-smiling-IF9TK5Uy-KI",
|
|
71
|
+
"license": "Unsplash License",
|
|
72
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"kind": "image",
|
|
76
|
+
"src": "https://images.unsplash.com/photo-1584622650111-993a426fbf0a",
|
|
77
|
+
"title": "A bright renovated bathroom with a glass shower",
|
|
78
|
+
"author": "Lotus Design N Print",
|
|
79
|
+
"authorUrl": "https://unsplash.com/@lotusdnp",
|
|
80
|
+
"source": "Unsplash",
|
|
81
|
+
"sourceUrl": "https://unsplash.com/photos/modern-bathroom-with-shower-and-vanity-g51F6-WYzyU",
|
|
82
|
+
"license": "Unsplash License",
|
|
83
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"kind": "image",
|
|
87
|
+
"src": "https://images.unsplash.com/photo-1621905251189-08b45d6a269e",
|
|
88
|
+
"title": "An electrician in a hard hat working on a wall panel",
|
|
89
|
+
"author": "Emmanuel Ikwuegbu",
|
|
90
|
+
"authorUrl": "https://unsplash.com/@emmages",
|
|
91
|
+
"source": "Unsplash",
|
|
92
|
+
"sourceUrl": "https://unsplash.com/photos/electrician-installing-wiring-with-yellow-hardhat-_2AlIm-F6pw",
|
|
93
|
+
"license": "Unsplash License",
|
|
94
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"kind": "image",
|
|
98
|
+
"src": "https://images.unsplash.com/photo-1660330589693-99889d60181e",
|
|
99
|
+
"title": "An electrician wiring an open electrical cabinet",
|
|
100
|
+
"author": "Raze Solar",
|
|
101
|
+
"authorUrl": "https://unsplash.com/@razesolar",
|
|
102
|
+
"source": "Unsplash",
|
|
103
|
+
"sourceUrl": "https://unsplash.com/photos/electrician-working-on-electrical-panel-GXLPLG3_Vf4",
|
|
104
|
+
"license": "Unsplash License",
|
|
105
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"kind": "image",
|
|
109
|
+
"src": "https://images.unsplash.com/photo-1671040690726-b78261eff126",
|
|
110
|
+
"title": "Hand tools hanging neatly on a white pegboard",
|
|
111
|
+
"author": "Anton Savinov",
|
|
112
|
+
"authorUrl": "https://unsplash.com/@tonchik",
|
|
113
|
+
"source": "Unsplash",
|
|
114
|
+
"sourceUrl": "https://unsplash.com/photos/a-bunch-of-tools-hanging-up-on-a-wall-2Qlj2Gaft7w",
|
|
115
|
+
"license": "Unsplash License",
|
|
116
|
+
"licenseUrl": "https://unsplash.com/license"
|
|
117
|
+
}
|
|
118
|
+
]
|
|
119
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schema.openspace.dev/v1/site-config.json",
|
|
3
|
+
"siteId": "st_j5xzhz36w0",
|
|
4
|
+
"schemaVersion": 1,
|
|
5
|
+
"template": {
|
|
6
|
+
"id": "fixwell",
|
|
7
|
+
"version": "1.0.0"
|
|
8
|
+
},
|
|
9
|
+
"hub": "https://hub.openspace.dev",
|
|
10
|
+
"deploy": {
|
|
11
|
+
"target": "github-pages",
|
|
12
|
+
"url": "https://example.github.io/fixwell",
|
|
13
|
+
"customDomain": null
|
|
14
|
+
},
|
|
15
|
+
"features": {
|
|
16
|
+
"forms": true,
|
|
17
|
+
"newsletter": false,
|
|
18
|
+
"analytics": true,
|
|
19
|
+
"search": false
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://schema.openspace.dev/v1/template.json",
|
|
3
|
+
"id": "fixwell",
|
|
4
|
+
"name": "Fixwell",
|
|
5
|
+
"description": "A phone-first site for local trades and services, with a call button on every page, trust points, published rates, a service-area map and a quote form.",
|
|
6
|
+
"persona": "Local services: trades, cleaners, salons",
|
|
7
|
+
"mood": "Dependable, direct, local",
|
|
8
|
+
"version": "1.0.0",
|
|
9
|
+
"tags": [
|
|
10
|
+
"local",
|
|
11
|
+
"trades",
|
|
12
|
+
"plumber",
|
|
13
|
+
"electrician",
|
|
14
|
+
"services",
|
|
15
|
+
"quotes"
|
|
16
|
+
],
|
|
17
|
+
"sample": {
|
|
18
|
+
"name": "Fixwell Plumbing & Electric",
|
|
19
|
+
"tagline": "Licensed plumbers and electricians in north Denver."
|
|
20
|
+
},
|
|
21
|
+
"thumbnailPage": "pg_363jnd89a1",
|
|
22
|
+
"looks": [
|
|
23
|
+
{
|
|
24
|
+
"id": "workwear",
|
|
25
|
+
"name": "Workwear",
|
|
26
|
+
"description": "Navy and safety orange with Archivo — sturdy and easy to read.",
|
|
27
|
+
"choices": {
|
|
28
|
+
"palette": {
|
|
29
|
+
"brand": "oklch(0.62 0.18 45)",
|
|
30
|
+
"neutral": "cool",
|
|
31
|
+
"contrast": "standard",
|
|
32
|
+
"source": "curated"
|
|
33
|
+
},
|
|
34
|
+
"pairing": "archivo",
|
|
35
|
+
"density": "comfortable",
|
|
36
|
+
"shape": "soft",
|
|
37
|
+
"buttons": "solid",
|
|
38
|
+
"motion": "subtle",
|
|
39
|
+
"imageTreatment": "rounded"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "fresh",
|
|
44
|
+
"name": "Fresh",
|
|
45
|
+
"description": "A clean teal, Plus Jakarta Sans and round pill buttons — for cleaners and salons.",
|
|
46
|
+
"choices": {
|
|
47
|
+
"palette": {
|
|
48
|
+
"brand": "oklch(0.58 0.12 190)",
|
|
49
|
+
"neutral": "cool",
|
|
50
|
+
"contrast": "standard",
|
|
51
|
+
"source": "curated"
|
|
52
|
+
},
|
|
53
|
+
"pairing": "plus-jakarta",
|
|
54
|
+
"density": "comfortable",
|
|
55
|
+
"shape": "round",
|
|
56
|
+
"buttons": "pill-solid",
|
|
57
|
+
"motion": "subtle",
|
|
58
|
+
"imageTreatment": "rounded"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "heritage",
|
|
63
|
+
"name": "Heritage",
|
|
64
|
+
"description": "Forest green, Zilla Slab headings and square corners — an old-school family firm.",
|
|
65
|
+
"choices": {
|
|
66
|
+
"palette": {
|
|
67
|
+
"brand": "oklch(0.45 0.09 160)",
|
|
68
|
+
"neutral": "warm",
|
|
69
|
+
"contrast": "standard",
|
|
70
|
+
"source": "brand"
|
|
71
|
+
},
|
|
72
|
+
"pairing": "zilla-slab-inter",
|
|
73
|
+
"density": "compact",
|
|
74
|
+
"shape": "sharp",
|
|
75
|
+
"buttons": "solid",
|
|
76
|
+
"motion": "none",
|
|
77
|
+
"imageTreatment": "none"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"pages": [
|
|
82
|
+
{
|
|
83
|
+
"id": "pg_363jnd89a1",
|
|
84
|
+
"title": "Home",
|
|
85
|
+
"slug": ""
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"id": "pg_q2sbvhb6fq",
|
|
89
|
+
"title": "Services",
|
|
90
|
+
"slug": "services"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "pg_k52zrsks9g",
|
|
94
|
+
"title": "Prices",
|
|
95
|
+
"slug": "pricing"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "pg_c5jh5gv7m7",
|
|
99
|
+
"title": "About",
|
|
100
|
+
"slug": "about"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "pg_g5v67q4hd6",
|
|
104
|
+
"title": "Contact",
|
|
105
|
+
"slug": "contact"
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: A field notebook for ecologists
|
|
4
|
+
date: 2024-04-01
|
|
5
|
+
year: 2024
|
|
6
|
+
client: Northland Conservation
|
|
7
|
+
role: Product design
|
|
8
|
+
excerpt: An offline-first app for recording plant surveys in places with no signal.
|
|
9
|
+
image: https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=1600&q=80
|
|
10
|
+
imageAlt: A field notebook for ecologists, project cover
|
|
11
|
+
gallery:
|
|
12
|
+
- src: https://images.unsplash.com/photo-1441974231531-c6227db76b6e?w=2400&q=80
|
|
13
|
+
alt: Sunlight falling through tall trees onto a forest path
|
|
14
|
+
width: 2400
|
|
15
|
+
height: 1598
|
|
16
|
+
- src: https://images.unsplash.com/photo-1465146344425-f00d5f5c8f07?w=2400&q=80
|
|
17
|
+
alt: Wild red poppies scattered through a summer meadow
|
|
18
|
+
width: 2400
|
|
19
|
+
height: 1590
|
|
20
|
+
- src: https://images.unsplash.com/photo-1466692476868-aef1dfb1e735?w=2400&q=80
|
|
21
|
+
alt: Young seedlings sprouting in a dark tray of soil
|
|
22
|
+
width: 2400
|
|
23
|
+
height: 1600
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
An offline-first app for recording plant surveys in places with no signal.
|
|
27
|
+
|
|
28
|
+
I led research and design with a small team of engineers, testing every version with the people who would use it.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: Dashboards nurses actually use
|
|
4
|
+
date: 2026-04-01
|
|
5
|
+
year: 2026
|
|
6
|
+
client: Harbour Health
|
|
7
|
+
role: Product design
|
|
8
|
+
excerpt: Redesigning ward dashboards with nurses so the important number is the first thing you see.
|
|
9
|
+
image: https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=1600&q=80
|
|
10
|
+
imageAlt: Dashboards nurses actually use, project cover
|
|
11
|
+
gallery:
|
|
12
|
+
- src: https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=2400&q=80
|
|
13
|
+
alt: A monitor showing charts and a dashboard in a dark room
|
|
14
|
+
width: 2400
|
|
15
|
+
height: 1600
|
|
16
|
+
- src: https://images.unsplash.com/photo-1582005450386-52b25f82d9bb?w=2400&q=80
|
|
17
|
+
alt: People working on laptops in a bright open office
|
|
18
|
+
width: 2400
|
|
19
|
+
height: 1600
|
|
20
|
+
- src: https://images.unsplash.com/photo-1580894723150-0ff6e9b907ea?w=2400&q=80
|
|
21
|
+
alt: A woman sketching ideas on a whiteboard
|
|
22
|
+
width: 2400
|
|
23
|
+
height: 1601
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
Redesigning ward dashboards with nurses so the important number is the first thing you see.
|
|
27
|
+
|
|
28
|
+
I led research and design with a small team of engineers, testing every version with the people who would use it.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: The city budget, readable
|
|
4
|
+
date: 2025-04-01
|
|
5
|
+
year: 2025
|
|
6
|
+
client: City of Lakewood
|
|
7
|
+
role: Product design
|
|
8
|
+
excerpt: An interactive budget that residents can explore in two minutes, now used at every town hall.
|
|
9
|
+
image: https://images.unsplash.com/photo-1677506048892-edde55cf3277?w=1600&q=80
|
|
10
|
+
imageAlt: The city budget, readable, project cover
|
|
11
|
+
gallery:
|
|
12
|
+
- src: https://images.unsplash.com/photo-1580894723150-0ff6e9b907ea?w=2400&q=80
|
|
13
|
+
alt: A woman sketching ideas on a whiteboard
|
|
14
|
+
width: 2400
|
|
15
|
+
height: 1601
|
|
16
|
+
- src: https://images.unsplash.com/photo-1542744173-8e7e53415bb0?w=2400&q=80
|
|
17
|
+
alt: A team listening to a presentation around a boardroom table
|
|
18
|
+
width: 2400
|
|
19
|
+
height: 1600
|
|
20
|
+
- src: https://images.unsplash.com/photo-1629317337307-e37f95ebc372?w=2400&q=80
|
|
21
|
+
alt: A tidy desk with a monitor, keyboard and headphones
|
|
22
|
+
width: 2400
|
|
23
|
+
height: 1081
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
An interactive budget that residents can explore in two minutes, now used at every town hall.
|
|
27
|
+
|
|
28
|
+
I led research and design with a small team of engineers, testing every version with the people who would use it.
|