Skip to content

Commit

Permalink
feat: add draft convince your boss page
Browse files Browse the repository at this point in the history
  • Loading branch information
brettski committed Oct 13, 2023
1 parent 3fd6d35 commit 4e99df9
Show file tree
Hide file tree
Showing 3 changed files with 296 additions and 15 deletions.
84 changes: 69 additions & 15 deletions src/_dataSources/api.that.tech/events/queries.js
Original file line number Diff line number Diff line change
Expand Up @@ -452,27 +452,66 @@ export const QUERY_ACTIVE_COMMUNITY_EVENTS_FOR_JOBS = `
`;

export const QUERY_ACTIVE_EVENTS_PRODUCTS = `
${productBaseFieldsFragment}
query getActiveEventJobs($community: CommunityQueryInput!) {
communities {
community(findBy: $community) {
get {
id
name
events(filter: ACTIVE) {
${productBaseFieldsFragment}
query getActiveEventProducts($community: CommunityQueryInput!) {
communities {
community(findBy: $community) {
get {
id
name
slug
type
logo
products {
...productBaseFields
}
events(filter: ACTIVE) {
id
name
slug
type
logo
products {
...productBaseFields
}
}
}
}
}
}
`;

export const QUERY_EVENTS_VENUE_PRODUCTS = `
${productBaseFieldsFragment}
query getFutureEventsWithProducts ($community: CommunityQueryInput!, $eventsFilter: CommunityEventsFilter) {
communities {
community(findBy: $community) {
get {
__typename
id
name
events(filter: $eventsFilter) {
__typename
id
name
slug
type
startDate
endDate
logo
products {
__typename
...productBaseFields
}
venues {
id
name
address
addressLineTwo
city
state
zip
}
isActive
}
}
}
}
}
}
`;

export default (fetch) => {
Expand Down Expand Up @@ -613,6 +652,20 @@ export default (fetch) => {
});
}

function queryEventsForVenueAndProducts(communitySlug = 'that', eventsFilter = 'FUTURE') {
const variables = {
community: { slug: communitySlug },
eventsFilter
};
return client
.query({ query: QUERY_EVENTS_VENUE_PRODUCTS, variables })
.then(({ data, errors }) => {
if (errors) log({ errors, tag: 'QUERY_EVENTS_VENUE_PRODUCTS' });

return data?.communities?.community?.get?.events ?? [];
});
}

function queryEventSpeakers(eventSlug) {
const variables = { eventSlug };

Expand All @@ -638,6 +691,7 @@ export default (fetch) => {
queryThatConferenceEvent,
queryActiveEventsByCommunitiesForJobs,
queryActiveEventsForProducts,
queryEventsForVenueAndProducts,
queryEventSpeakers
};
};
11 changes: 11 additions & 0 deletions src/routes/(root)/support/convince-your-boss/+page.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import eventsApi from '$dataSources/api.that.tech/events/queries';

export async function load({ fetch }) {
const { queryEventsForVenueAndProducts } = eventsApi(fetch);

const events = await queryEventsForVenueAndProducts();

return {
events
};
}
216 changes: 216 additions & 0 deletions src/routes/(root)/support/convince-your-boss/+page.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
<script>
import dayjs from 'dayjs';
import advFormat from 'dayjs/plugin/advancedFormat';
export let data;
dayjs.extend(advFormat);
const dateFormat = 'MMMM Do, YYYY';
const { events } = data;
const activeEvents = events.filter(
(e) => e.isActive && ['MULTI_DAY', 'HYBRID_MULTI_DAY', 'SINGLE_DAY'].includes(e.type)
);
activeEvents.sort((a, b) => {
const astart = new Date(a.startDate).getTime() || 0;
const bstart = new Date(b.startDate).getTime() || 0;
return astart - bstart;
});
const [nextEvent] = activeEvents;
let nextVenue = null;
if (nextEvent) {
nextEvent.prettyStartDate = dayjs(nextEvent.startDate).format(dateFormat);
nextEvent.prettyEndDate = dayjs(nextEvent.endDate).format(dateFormat);
nextVenue = nextEvent.venues[0];
}
import seoMetaTags from '$lib/seo/metaTags';
import Seo from '$components/Seo.svelte';
import Header from '../_components/_Header.svelte';
const metaTags = ((title = 'Convince Your Boss') => ({
title,
tags: seoMetaTags({
title,
description: 'Learn how to add your favorites to your calendar.',
openGraph: {
type: 'website',
url: `https://thatconference.com/support/my-favorites-icalendar`
}
})
}))();
</script>

<Seo title={metaTags.title} tags={metaTags.tags} />

<Header center={true} pretext={'Getting to THAT'}
>Convince Your Boss to go to THAT Conference</Header>
<div class="prose prose-lg mx-auto text-gray-500">
<p>
You're eager to attend THAT Conference and a well-written letter to your manager can make all
the difference in getting approved. In this guide, we'll provide you with a step-by-step
approach to crafting a persuasive request letter that covers all the essential details. Let's
get started!
</p>

<h2>Step 1: Understand Your Audience</h2>
<p>
Before you begin writing, take a moment to understand your manager's perspective. Consider their
priorities, the benefits of attending THAT Conference for your role, and how it aligns with the
company's goals. This understanding will help you tailor your letter effectively. Depending on
where you work there may be other requirements needed for the request. Make sure you investigate
those before approaching your manager. Being well-prepared is the best approach!
</p>

<h2>Step 2: Gather Information</h2>
<p>
Compile all the necessary information, including the conference dates, location, agenda, and any
specific sessions or workshops you plan to attend. Research the conference costs, such as
registration fees, travel, accommodation, and meals. Gather who will be there, who you wish to
network with, including speakers and other attendees.
</p>
<p>
—We can fill-in next event details here—<br />
—Items like Title, dates, location, ticket types and prices, keynote and other speakers—
</p>
{#if nextEvent}
<p>
<strong>{nextEvent.name}</strong><br />
From {nextEvent.prettyStartDate} through {nextEvent.prettyEndDate}<br />
{nextVenue.name}<br />
{nextVenue.address}<br />
{nextVenue.city}, {nextVenue.state}
{nextVenue.zip}<br /><br />
<a href="/{nextEvent.slug}/tickets/" target="_blank">Ticket Details</a>
</p>
{:else}
<p><strong>Come back soon for next active event</strong></p>
{/if}

<h2>Step 3: Highlight Benefits</h2>
<p>
In your letter, emphasize how attending THAT Conference will benefit both you and the company.
Mention the valuable knowledge and skills you'll acquire, potential networking opportunities,
and how this knowledge can be applied to your current role.
</p>

<h2>Step 4: Create a Detailed Budget</h2>
<p>
Provide a clear breakdown of the costs associated with attending the conference. Include
registration fees, travel expenses, accommodation, and meals. Make it easy for your manager to
see the financial aspects.
</p>

<h2>Step 5: Address Time Off</h2>
<p>
If you'll need time off work to attend the conference, address this in your letter. Suggest a
plan for handling your responsibilities during your absence, ensuring a smooth workflow for your
team.
</p>

<h2>Step 6: Be Professional and Concise</h2>
<p>
Keep your letter professional and concise. Be respectful of your manager's time by getting to
the point quickly. Use a formal tone and proofread for any errors before submitting. Tools like
Grammarly are your friend. If you’re meeting in person, set a time with your manager that is
slower in their day. You want them to focus on the value of THAT Conference, not be preoccupied
with their next meeting.
</p>

<h2>Example Letter</h2>
<div class="bg-gray-50 p-4">
<p class="">
[Your Name]<br />
[Your Title]
</p>
<p>
[Manager's Name]<br />
[Manager's Title]
</p>
<p>Dear [Manager's Name],</p>
<p>
I hope this message finds you well. I am writing to request approval to attend THAT
Conference, which is scheduled to take place from {nextEvent.prettyStartDate ??
'January 30th, 2024'} through {nextEvent.prettyEndDate ?? 'February 1st'}, 2024 at the
{nextVenue?.name ?? 'Kalahari Resorts and Conventions'} in
{nextVenue?.city ?? 'Round Rock'}, {nextVenue?.state?.toUpperCase() ?? 'TX'}. As both a
software developer and a key contributor to our company's operations, I believe that attending
this conference will bring significant benefits to both my professional growth and our
organization.
</p>
<p>Here are some key points to consider:</p>
<ol>
<li>
<strong>Conference Benefits:</strong> THAT Conference is renowned for its high-quality sessions
and workshops on the latest trends and technologies in the software industry. Their strong commitment
to Open Spaces, a platform where I can contribute sessions to discuss particular topics or participate
in others' discussions, offers the chance for deeper conversations and collaborative problem-solving,
which I am really looking forward to. The knowledge and skills gained from attending will directly
enhance my performance in my career and current role.
</li>
<li>
<strong>Networking Opportunities:</strong> I’ll have the chance to connect with many industry
experts and peers, fostering valuable relationships that can benefit me and our company in the
long term. In addition, THAT Conference is a community, not only a conference, where many of
the people I meet will be available all year round for further discussions and engagements.
</li>
<li>
<strong>Cost Breakdown:</strong>
<ul>
<li>Registration Fee: $[Cost]</li>
<li>Travel Expenses: $[Cost]</li>
<li>Accommodation: $[Cost]</li>
<li>Meals: $[Cost]</li>
</ul>
Total Cost: $[Total Cost]
</li>
<li>
<strong
>Time Off: I have devised a plan to ensure the seamless continuation of my
responsibilities during my absence, minimizing any disruption to our team's workflow.</strong>
</li>
</ol>
<p>
I kindly request your approval for the necessary financial support and time off to attend THAT
Conference. I am confident that the knowledge and insights gained will contribute
significantly to our company's success.
</p>
<p>
Thank you for considering my request. I am more than willing to discuss this further if
needed.
</p>
<p>
Sincerely,<br />
[Your Name]
</p>
</div>

<h2>When you get a no</h2>
<p>
If you found your proposal being denied, while this might suck, don’t take it the wrong way. The
last thing you want to do is become bitter and act hasty about it. Thank the decision-maker just
the same for taking the time to review your proposal. Follow the conference through available
channels, such as Keynotes streamed on YouTube and THAT’s social media accounts, Slack and
Discord. Leverage your network and get updates, snippets and new learning from contacts who were
able to attend. Find and share cases proving that participation in THAT Conference generated
substantial benefits to other developers and rival or competing organizations. Write these down
and utilize them in future proposals.
</p>

<h2>When you get a yes</h2>
<p>
When you get an approval remember to thank the decision-maker for approving your request. But
don’t just mention it in passing as you meet them in the hallway. A better way is to communicate
gratitude with an expressed promise to deliver the results you’ve cited in your proposal.
</p>

<h2>Conclusion</h2>
<p>
By following these steps and using the example letter as a template, you can effectively request
approval to attend THAT Conference while addressing all the essential details, costs and
benefits. Tailor your letter to your specific circumstances and company culture for the best
chance of approval. If you’re stuck, ask for some assistance on our Slack or Discord. There are
always some people there who are willing to help. Good luck. We look forward to seeing you at
the next THAT Conference!
</p>
</div>

0 comments on commit 4e99df9

Please sign in to comment.