<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Personal Projects on avni.sh</title>
    <link>http://www.avni.sh/posts/personal-projects/</link>
    <description>Recent content in Personal Projects on avni.sh</description>
    <image>
      <title>avni.sh</title>
      <url>http://www.avni.sh/cover.webp</url>
      <link>http://www.avni.sh/cover.webp</link>
    </image>
    <generator>Hugo -- 0.146.0</generator>
    <language>en</language>
    <lastBuildDate>Tue, 19 Mar 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="http://www.avni.sh/posts/personal-projects/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>brag: A Command Line Tool for Building a Bragging Document</title>
      <link>http://www.avni.sh/posts/personal-projects/brag/</link>
      <pubDate>Tue, 19 Mar 2024 00:00:00 +0000</pubDate>
      <guid>http://www.avni.sh/posts/personal-projects/brag/</guid>
      <description>Create and maintain a bragging document from your development environment</description>
      <content:encoded><![CDATA[<p>Inspired by Julia Evan&rsquo;s blog <a href="https://jvns.ca/blog/brag-documents/" target="_blank">Get your work recognized: write a brag document</a>
I created this tool to keep a record of my brags in Markdown Format and
refer them later to create a formatted bragging document.</p>
<p>A bragging or hype document is created to keep a record of achievements over time.
This document/information extracted from this document could be shared with managers
or used for self-reflection and improvement. I refer to it during my daily standups
and weekly sync-up meetings.</p>
<p>Before this, I was using Google Docs to maintain a record of my accomplishments
but I decided to create a command line tool because:</p>
<ul>
<li>I won&rsquo;t have to leave my development environment to add a new accomplishment.</li>
<li>I can edit and maintain the document using applications like VSCode, VIM, and Obsidian.</li>
<li>I can use Git for Version Control.</li>
</ul>
<p><strong>Source Code</strong>: <a href="https://github.com/bovem/brag" target="_blank">github.com/bovem/brag</a></p>
<h2 id="downloadupdate">Download/Update</h2>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl -L https://github.com/bovem/brag/releases/download/v0.2/brag-linux-amd64 &gt; /usr/local/bin/brag
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="setup-and-usage">Setup and Usage</h2>
<h3 id="initialize">Initialize</h3>
<p>To initialize a bragging document directory create a Git repository on any provider
like GitHub, GitLab, BitBucket, etc., and clone the repository locally. You can also
create a local Git repository using <code>git init</code>.</p>
<p>The location of the bragging document directory is specified using the <code>BRAG_DOCS_LOC</code>
environment variable.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">BRAG_DOCS_LOC</span><span class="o">=</span>/work-docs
</span></span></code></pre></td></tr></table>
</div>
</div><p>Once the directory is available locally you can initialize the document directory
using the <code>init</code> subcommand.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">brag init
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="adding-a-new-brag">Adding a new brag</h3>
<p>You can add your brags using the <code>-c</code>/<code>--comment</code> flag.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">brag -c <span class="s2">&#34;YOUR TEXT HERE&#34;</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>The brags will be added to the directory specified in the <code>BRAG_DOCS_LOC</code> environment
variable.</p>
<h3 id="review-your-brags">Review your brags</h3>
<p>To review brags added in a given time period use subcommand <code>about</code>.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">brag about last-week
</span></span></code></pre></td></tr></table>
</div>
</div><p>If the <code>BRAG_DOCS_REPO_SYNC</code> environment variable is set to <code>true</code> then new brags
will be committed and pushed to the Git remote.</p>
<h4 id="sample-output">Sample Output</h4>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">2024-01-02                                                                                                                                        
</span></span><span class="line"><span class="cl">* 11:12:50      Updated Quarterly Status Report
</span></span><span class="line"><span class="cl">* 17:17:42      Knowledge transfer presentation with new interns
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">2024-01-03
</span></span><span class="line"><span class="cl">* 12:08:36      Filed an issue with UI text rendering on the pre-production environment. ID:12345
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">2024-01-04
</span></span><span class="line"><span class="cl">* 17:39:50      Provisioned a new Kubernetes cluster
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="summarize-your-brags-using-self-hosted-llms">Summarize your brags using self-hosted LLMs</h3>
<p>To summarize the accomplishments and build a draft for a bragging document use the command
<code>summarize</code> with a timeframe (similar to the <code>about</code> command).</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">brag summarize last-month
</span></span></code></pre></td></tr></table>
</div>
</div><p>If <a href="/posts/homelab/self-hosting-ollama/" target="_blank">Ollama</a> is deployed and the
<code>OLLAMA_URL</code> environment variable is pointing to your Ollama deployment then
a draft bragging document will be generated on your terminal.</p>
<p>Before generating the document the summarize command will ask for the names of your personal
and work projects, the name of your blog, and other content creation channels to differentiate
your work and personal updates in the summarized document.</p>
<p>By default, it will use the following prompt for the model but you can
pass your prompt using the <code>--prompt</code> flag.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span><span class="lnt">48
</span><span class="lnt">49
</span><span class="lnt">50
</span><span class="lnt">51
</span><span class="lnt">52
</span><span class="lnt">53
</span><span class="lnt">54
</span><span class="lnt">55
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Draft a bragging document from my perspective
</span></span><span class="line"><span class="cl">using only the journal data provided below.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">The document should be written in a formal tone as it has to be shared
</span></span><span class="line"><span class="cl">with my manager and stakeholders and it impacts my personal growth.
</span></span><span class="line"><span class="cl">Omit the fields you think don&#39;t have enough information in journals.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">The document should be in the following format, the project names and content
</span></span><span class="line"><span class="cl">mentioned in following format is just an example don&#39;t use it in the final output
</span></span><span class="line"><span class="cl">Use the pointers provided in the format below and omit them in the final output:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Work Accomplishments
</span></span><span class="line"><span class="cl">Insert the list of personal work done in great detail, mentioning important
</span></span><span class="line"><span class="cl">hyperlinks like Jira tickets, pull request links, and other relevant document links
</span></span><span class="line"><span class="cl">. It should be grouped by projects.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Emphasize the following points
</span></span><span class="line"><span class="cl">* If I designed or built something from scratch
</span></span><span class="line"><span class="cl">* Useful insights during the design or coding process
</span></span><span class="line"><span class="cl">* Impact of individual projects
</span></span><span class="line"><span class="cl">* Using numbers to show impact like reduced response time by X%, decreased cloud costs by X%.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Collaboration and Mentorship
</span></span><span class="line"><span class="cl">Write about collaboration and mentorship work done by me in bullet points.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Emphasize the following points
</span></span><span class="line"><span class="cl">* Write about each point in great detail supporting it with hyperlinks when necessary
</span></span><span class="line"><span class="cl">* Write about the conclusion from each point. As in the final impact of helping the intern
</span></span><span class="line"><span class="cl">* Points about helping others with the skills that I know.
</span></span><span class="line"><span class="cl">* Improving monitoring and logging
</span></span><span class="line"><span class="cl">* Code reviews and merge request collaborations
</span></span><span class="line"><span class="cl">* Important questions and meetings attended
</span></span><span class="line"><span class="cl">* Giving talks or conducting workshops and hackathons internally
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Design and Documentation
</span></span><span class="line"><span class="cl">Write about design and documentation efforts.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Company Building
</span></span><span class="line"><span class="cl">Write in bullet points about the interviewing and recruiting process contributions from my side.
</span></span><span class="line"><span class="cl">Also write about contributions to the new hire guide, onboarding documents, and Knowledge Transfer sessions
</span></span><span class="line"><span class="cl">with the new hires.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Learning
</span></span><span class="line"><span class="cl">Write about tools and technologies learned throughout the period and how they could be useful in our
</span></span><span class="line"><span class="cl">current workflows.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"># Outside of Work
</span></span><span class="line"><span class="cl">Write about blog posts, videos, or any other content creation outside the work that is somehow related to 
</span></span><span class="line"><span class="cl">the work. Also, write about 
</span></span><span class="line"><span class="cl">* Talks and event participation
</span></span><span class="line"><span class="cl">* Contributing to OpenSource projects
</span></span><span class="line"><span class="cl">* Recognition from any other part of the industry. Like awards.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Additional information about personal projects and blogs will be mentioned after the journal.
</span></span><span class="line"><span class="cl">Do not add additional information which is not present in the journal.
</span></span></code></pre></td></tr></table>
</div>
</div><p>To select a different model than <code>llama2:latest</code> use the flag <code>--model</code>.</p>
<h4 id="sample-output-1">Sample Output</h4>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span><span class="lnt">48
</span><span class="lnt">49
</span><span class="lnt">50
</span><span class="lnt">51
</span><span class="lnt">52
</span><span class="lnt">53
</span><span class="lnt">54
</span><span class="lnt">55
</span><span class="lnt">56
</span><span class="lnt">57
</span><span class="lnt">58
</span><span class="lnt">59
</span><span class="lnt">60
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">Enter the name of your work projects:
</span></span><span class="line"><span class="cl">Enter the name of your personal projects:
</span></span><span class="line"><span class="cl">Enter the name of your blog, youtube or any other content creation channels:
</span></span><span class="line"><span class="cl">Draft Bragging Document
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Introduction:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">I am excited to share my accomplishments and growth over the past year with you, our esteemed manager and stakeholders. As an integral member of our team, I have been actively contributing to various projects, collaborating with colleagues, and learning new tools and technologies. This document highlights my work achievements, collaboration and mentorship efforts, design and documentation, company building, learning, and outside work contributions.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Work Accomplishments:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1. Project XYZ: As a member of the development team, I designed and built a comprehensive dashboard for monitoring client satisfaction. The dashboard has been instrumental in providing real-time insights into client feedback, enabling us to address their concerns promptly. (hyperlink to Jira ticket)
</span></span><span class="line"><span class="cl">2. Project ABC: I collaborated with the UX/UI team to redesign a critical feature of the application. My contributions included designing new layouts and providing constructive feedback during the user testing phase, resulting in an improved user experience. (hyperlink to design document)
</span></span><span class="line"><span class="cl">3. Project DEF: I contributed to the development of a mobile application for a client&#39;s business needs. My responsibilities included writing clean, efficient, and well-documented code, ensuring seamless functionality across various platforms. (hyperlink to pull request)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Collaboration and Mentorship:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1. Mentored an intern on the basics of web development, providing guidance on project management, coding best practices, and problem-solving techniques. The intern demonstrated significant improvement throughout the collaboration, showcasing their newfound skills. (hyperlink to mentorship session)
</span></span><span class="line"><span class="cl">2. Collaborated with cross-functional teams to develop innovative solutions for a client&#39;s complex business problem. Through active listening and ideation, we generated several potential ideas and approaches, which were well received by the team and stakeholders. (hyperlink to brainstorming session)
</span></span><span class="line"><span class="cl">3. Contributed to the creation of an internal knowledge transfer program, providing structured training sessions for new hires. This initiative enhanced the onboarding process, ensuring a smooth transition into our team&#39;s workflow. (hyperlink to knowledge transfer session)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Design and Documentation:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1. Created comprehensive design documents for each project, including wireframes, mockups, and style guides. These resources were instrumental in communicating design intent to the development team and stakeholders. (hyperlink to design document)
</span></span><span class="line"><span class="cl">2. Developed a standard operating procedure (SOP) for our team&#39;s documentation process, streamlining the creation and maintenance of technical documents. This initiative has resulted in increased efficiency and consistency across our projects. (hyperlink to SOP document)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Company Building:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1. Participated in the interviewing and recruiting process, contributing to the identification and hiring of top talent for our team. (hyperlink to job postings)
</span></span><span class="line"><span class="cl">2. Created an updated new hire guide, providing comprehensive information on our team&#39;s workflow, tools, and best practices. This document has been instrumental in ensuring a smooth transition for new team members. (hyperlink to new hire guide)
</span></span><span class="line"><span class="cl">3. Contributed to the development of internal training programs, enhancing the skills of our team members and fostering a collaborative learning environment. (hyperlink to training program)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Learning:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1. Expanded my knowledge of emerging technologies such as React Native, GraphQL, and Machine Learning. Through hands-on projects and collaboration with colleagues, I have gained a deeper understanding of these tools and their potential applications in our workflows. (hyperlink to personal project)
</span></span><span class="line"><span class="cl">2. Participated in industry events, conferences, and meetups, showcasing our team&#39;s work and engaging with peers. These experiences have provided valuable insights into the latest trends and innovations in our field. (hyperlink to event report)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Outside of Work:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1. Published articles on Hacker Noon and other industry platforms, sharing my experiences and insights on web development best practices. The articles have received positive feedback from peers and industry leaders, with several shares and likes on social media platforms. (hyperlink to article)
</span></span><span class="line"><span class="cl">2. Contributed to OpenSource projects, such as [insert project name], providing new features and enhancements that benefit the broader development community. (hyperlink to OpenSource project)
</span></span><span class="line"><span class="cl">3. Received recognition from industry leaders and peers for my work in web development, including a mention in [insert publication name] and an award at [insert event name]. (hyperlink to publication or event)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Personal Projects:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">1. Developed a personal website showcasing my work and projects, serving as a portfolio and networking tool. (hyperlink to personal website)
</span></span><span class="line"><span class="cl">2. Created a blog focusing on web development best practices and emerging technologies, providing valuable insights and resources for the industry. (hyperlink to blog)
</span></span><span class="line"><span class="cl">3. Fostered a community of developers through social media platforms, sharing knowledge and collaborating on projects. (hyperlink to social media channel)
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Conclusion:
</span></span><span class="line"><span class="cl">In conclusion, I have demonstrated significant growth and achievements in my role as a web developer within the past year. Through active collaboration, mentorship, design and documentation, company building, learning, and outside work contributions, I have enhanced our team&#39;s workflows, fostered a culture of innovation and excellence, and expanded my skill set. I look forward to continuing to contribute to our team&#39;s success in the future.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Additional Information:
</span></span><span class="line"><span class="cl">Personal Projects:
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">* Website: [insert website link]
</span></span><span class="line"><span class="cl">* Blog: [insert blog link]
</span></span><span class="line"><span class="cl">* Social Media Channel: [insert social media channel link]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Note: The above document is a draft and may require revisions based on your feedback. Please feel free to provide your inputs and suggestions, and I will be more than happy to incorporate them into the final document.
</span></span></code></pre></td></tr></table>
</div>
</div><hr>
<p>Thank you for taking the time to read this blog post! Have questions, feedback or want to discuss this topic? Feel free to reach out at <a href="mailto:blog@avni.sh"><a href="mailto:blog@avni.sh">blog@avni.sh</a></a>.</p>
<p>If you found this content valuable and would like to stay updated with my latest posts, consider subscribing to my <a href="https://www.avni.sh/index.xml" target="_blank">RSS Feed</a>.</p>
<h1 id="resources">Resources</h1>
<p><a href="https://github.com/bovem/brag" target="_blank">github.com/bovem/brag</a><br>
<a href="https://jvns.ca/blog/brag-documents/" target="_blank">Get your work recognized: write a brag document</a><br>
<a href="/posts/homelab/self-hosting-ollama/" target="_blank">Ollama</a></p>
]]></content:encoded>
    </item>
  </channel>
</rss>
