Skip to content

Commit eb0c6e6

Browse files
committed
feat: kilofy
1 parent 058f4db commit eb0c6e6

11 files changed

Lines changed: 815 additions & 4 deletions

File tree

_site/404.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ <h1 id="sorry-looks-like-you-got-lost">Sorry, looks like you got lost</h1>
207207
Sorry about that.</p>
208208

209209
<footer class="footer">
210-
<p>&copy; Guillermo Moraleda 2024</p>
210+
<p>&copy; Guillermo Moraleda 2025</p>
211211
<p>Build with Jekyll and <span class="love"></span></p>
212212
<p>Original theme by <a href="https://github.com/nrandecker">Nathan Randecker</a></p>
213213
</footer>

_site/about.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ <h2 id="appearances">Appearances</h2>
225225
</ul>
226226

227227
<footer class="footer">
228-
<p>&copy; Guillermo Moraleda 2024</p>
228+
<p>&copy; Guillermo Moraleda 2025</p>
229229
<p>Build with Jekyll and <span class="love"></span></p>
230230
<p>Original theme by <a href="https://github.com/nrandecker">Nathan Randecker</a></p>
231231
</footer>

_site/feed.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="moraleda.info/feed.xml" rel="self" type="application/atom+xml" /><link href="moraleda.info/" rel="alternate" type="text/html" /><updated>2024-10-21T22:19:08+02:00</updated><id>moraleda.info/feed.xml</id><title type="html">Guillermo Moraleda</title><subtitle>Senior iOS Engineer | Mobile DevOps</subtitle></feed>
1+
<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="moraleda.info/feed.xml" rel="self" type="application/atom+xml" /><link href="moraleda.info/" rel="alternate" type="text/html" /><updated>2025-06-23T11:09:49+02:00</updated><id>moraleda.info/feed.xml</id><title type="html">Guillermo Moraleda</title><subtitle>Senior iOS Engineer | Mobile DevOps</subtitle></feed>

_site/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ <h3>MindDoc</h3>
203203
<!-- prettier-ignore -->
204204

205205
<footer class="footer">
206-
<p>&copy; Guillermo Moraleda 2024</p>
206+
<p>&copy; Guillermo Moraleda 2025</p>
207207
<p>Build with Jekyll and <span class="love"></span></p>
208208
<p>Original theme by <a href="https://github.com/nrandecker">Nathan Randecker</a></p>
209209
</footer>

_site/kilofy/privacypolicy.html

Lines changed: 312 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,312 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
8+
9+
<title>Guillermo Moraleda</title>
10+
<meta name="description" content="Senior iOS Engineer | Mobile DevOps">
11+
<link rel="stylesheet" href="/assets/css/main.css">
12+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
13+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/devicons/devicon@latest/devicon.min.css">
14+
</head>
15+
16+
<body>
17+
<div id="particles-js">
18+
<div class="header">
19+
<h1>
20+
<span class="site-title">Guillermo Moraleda</span>
21+
<span class="site-description">Senior iOS Engineer | Mobile DevOps</span>
22+
</h1>
23+
<div class="header-icons">
24+
<a aria-label="Send email" href="mailto:moraleda@gmx.net"
25+
><i class="icon fa fa-envelope"></i
26+
></a>
27+
<!-- <a aria-label="My Twitter" target="_blank" href="#"
28+
><i class="icon fa fa-twitter" aria-hidden="true"></i
29+
></a> -->
30+
<!-- <a aria-label="My Google Plus" target="_blank" href="#"><i class="icon fa fa-google-plus" aria-hidden="true"></i></a> -->
31+
<a
32+
aria-label="My Github"
33+
target="_blank"
34+
href="https://github.com/gmoraleda"
35+
><i class="icon fa fa-github-alt" aria-hidden="true"></i
36+
></a>
37+
<!-- LinkedIn -->
38+
<a
39+
aria-label="My LinkedIn"
40+
target="_blank"
41+
href="https://www.linkedin.com/in/gmoraleda"
42+
><i class="icon fa fa fa-linkedin" aria-hidden="true"></i
43+
></a>
44+
</div>
45+
<div class="header-links">
46+
<a class="link" href="#about" data-scroll>About Me</a>
47+
<a class="link" href="#projects" data-scroll>Projects</a>
48+
<a class="link" href="./assets/files/Resume.pdf" target="_blank"
49+
>Resume</a
50+
>
51+
</div>
52+
</div>
53+
<a class="down" href="#about" data-scroll
54+
><i class="icon fa fa-chevron-down" aria-hidden="true"></i
55+
></a>
56+
</div>
57+
58+
<section id="about"><div class="user-details">
59+
<h1>Hi there! 👋</h1>
60+
<p>
61+
I'm <strong>Guillermo</strong>, originally from Barcelona (Spain) and
62+
currently living in Munich (Germany).
63+
</p>
64+
<p>
65+
I'm a software engineer with a passion for
66+
<strong>mobile development</strong> and a strong background in
67+
<strong>mobile devops</strong>. I am passionate about building high-quality
68+
mobile applications that deliver exceptional user experiences.
69+
</p>
70+
</div>
71+
<div class="user">
72+
<div class="tech">
73+
<h2>Code</h2>
74+
<i class="devicon-swift-plain"></i>
75+
<i class="devicon-bash-plain"></i>
76+
<p>
77+
My bread and butter is Swift and I've been working with it since 2016. I
78+
also have experience with other languages like Python, Ruby, JS or Bash.
79+
</p>
80+
</div>
81+
<div class="tech">
82+
<h2>DevOps</h2>
83+
<i class="devicon-githubactions-plain"></i>
84+
<i class="devicon-circleci-plain"></i>
85+
<p>
86+
Building and maintaining CI/CD pipelines is one of my favorite things to
87+
do. I have experience with GitHub Actions, CircleCI, and Bitrise. I tend
88+
to look for developer experience and automation in everything I do.
89+
</p>
90+
</div>
91+
<div class="tech">
92+
<h2>Beyond mobile</h2>
93+
<i class="devicon-amazonwebservices-plain-wordmark"></i>
94+
<i class="devicon-sqlite-plain"></i>
95+
<p>
96+
My main focus is mobile development, but I also have experience with cloud
97+
infrastructure and databases. AWS, SQL, Firebase, or this website. You
98+
name it!
99+
</p>
100+
</div>
101+
</div>
102+
</section>
103+
<section id="projects"><div class="user-details">
104+
<h1>Featured Projects</h1>
105+
</div>
106+
<!-- prettier-ignore -->
107+
<div class="user-projects">
108+
<div class="project">
109+
<div class="images-right">
110+
<img src="./assets/img/capmo.png" alt="Capmo" />
111+
</div>
112+
<div class="contents">
113+
<div class="project-header">
114+
<h3>Capmo</h3>
115+
<a
116+
class="project-link"
117+
href="https://apps.apple.com/de/app/capmo-3-0/id1592068282?l=en-GB"
118+
>Check it out</a
119+
>
120+
</div>
121+
<ul class="capsule">
122+
<li>Offline first app</li>
123+
<li>Swift</li>
124+
<li>SwiftUI</li>
125+
<li>SQLite</li>
126+
<li>DataDog</li>
127+
<li>GraphQL</li>
128+
<li>CircleCI</li>
129+
<li>Fastlane</li>
130+
</ul>
131+
<p>
132+
Capmo is a SaaS that targets construction professionals and general
133+
contractors.
134+
</p>
135+
<ul>
136+
<li>Bootstrapped iOS project at Capmo.</li>
137+
<li>
138+
POC with several "off-the-shelf" offline-first frameworks like AWS
139+
Amplify and MongoDB Realm.
140+
</li>
141+
<li>
142+
Ideation and implementation of a custom offline-first sync mechanism.
143+
</li>
144+
<li>Test automation (Unit, Snapshot, and UI).</li>
145+
<li>
146+
Implementation of best practices in the development workflow (Gitflow,
147+
Swiftformat, Swiftlint, Danger, CodeClimate).
148+
</li>
149+
<li>Modularization of the app using internal Swift Packages.</li>
150+
<li>
151+
Implementation and maintenance of the CI/CD pipeline (Fastlane, GitHub
152+
Actions, and CircleCI).
153+
</li>
154+
<li>
155+
Implementation of observability and debugging tools (Firebase and
156+
Datadog).
157+
</li>
158+
</ul>
159+
</div>
160+
</div>
161+
162+
<div class="divider"></div>
163+
<div class="project-reverse">
164+
<div class="images-right">
165+
<img src="./assets/img/minddoc.png" alt="MindDoc" />
166+
</div>
167+
<div class="contents">
168+
<div class="project-header">
169+
<h3>MindDoc</h3>
170+
<a
171+
class="project-link"
172+
href="https://apps.apple.com/de/app/minddoc-your-companion/id1052216403?l=en-GB"
173+
>Check it out</a
174+
>
175+
</div>
176+
<ul class="capsule">
177+
<li>Swift</li>
178+
<li>SwiftUI</li>
179+
<li>Firebase</li>
180+
<li>RESTful</li>
181+
<li>GitHub Actions</li>
182+
<li>Fastlane</li>
183+
</ul>
184+
<p>
185+
MindDoc is an app for those who want to learn about emotional well-being
186+
or who suffer from mild-to-moderate mental illness including depression,
187+
anxiety, insomnia, and eating disorders.
188+
</p>
189+
<ul>
190+
<li>
191+
Maintenance and development of new features for the MindDoc iOS App,
192+
covered by unit, snapshot, and functional tests.
193+
</li>
194+
<li>Refactoring and updating following clean code principles.</li>
195+
<li>Improved CI/CD workflow and branching system.</li>
196+
<li>Reduction of external dependencies.</li>
197+
</ul>
198+
</div>
199+
</div>
200+
201+
</div>
202+
</section>
203+
<!-- prettier-ignore -->
204+
<p><strong>Privacy Policy</strong></p>
205+
206+
<p>This privacy policy applies to the Kilofy app (hereby referred to as “Application”) for mobile devices that was created by Guillermo Moraleda (hereby referred to as “Service Provider”) as a Free service. This service is intended for use “AS IS”.</p>
207+
208+
<p><strong>Information Collection and Use</strong></p>
209+
210+
<p>The Application collects information when you download and use it. This information may include information such as</p>
211+
212+
<ul>
213+
<li>Your device’s Internet Protocol address (e.g. IP address)</li>
214+
<li>The pages of the Application that you visit, the time and date of your visit, the time spent on those pages</li>
215+
<li>The time spent on the Application</li>
216+
<li>The operating system you use on your mobile device</li>
217+
</ul>
218+
219+
<p>The Application does not gather precise information about the location of your mobile device.</p>
220+
221+
<p>The Application collects your device’s location, which helps the Service Provider determine your approximate geographical location and make use of in below ways:</p>
222+
223+
<ul>
224+
<li>Geolocation Services: The Service Provider utilizes location data to provide features such as personalized content, relevant recommendations, and location-based services.</li>
225+
<li>Analytics and Improvements: Aggregated and anonymized location data helps the Service Provider to analyze user behavior, identify trends, and improve the overall performance and functionality of the Application.</li>
226+
<li>Third-Party Services: Periodically, the Service Provider may transmit anonymized location data to external services. These services assist them in enhancing the Application and optimizing their offerings.</li>
227+
</ul>
228+
229+
<p>The Service Provider may use the information you provided to contact you from time to time to provide you with important information, required notices and marketing promotions.</p>
230+
231+
<p>For a better experience, while using the Application, the Service Provider may require you to provide us with certain personally identifiable information. The information that the Service Provider request will be retained by them and used as described in this privacy policy.</p>
232+
233+
<p><strong>Third Party Access</strong></p>
234+
235+
<p>Only aggregated, anonymized data is periodically transmitted to external services to aid the Service Provider in improving the Application and their service. The Service Provider may share your information with third parties in the ways that are described in this privacy statement.</p>
236+
237+
<p>Please note that the Application utilizes third-party services that have their own Privacy Policy about handling data. Below are the links to the Privacy Policy of the third-party service providers used by the Application:</p>
238+
239+
<ul>
240+
<li><a href="https://www.google.com/policies/privacy/">Google Play Services</a></li>
241+
</ul>
242+
243+
<p>The Service Provider may disclose User Provided and Automatically Collected Information:</p>
244+
245+
<ul>
246+
<li>as required by law, such as to comply with a subpoena, or similar legal process;</li>
247+
<li>when they believe in good faith that disclosure is necessary to protect their rights, protect your safety or the safety of others, investigate fraud, or respond to a government request;</li>
248+
<li>with their trusted services providers who work on their behalf, do not have an independent use of the information we disclose to them, and have agreed to adhere to the rules set forth in this privacy statement.</li>
249+
</ul>
250+
251+
<p><strong>Opt-Out Rights</strong></p>
252+
253+
<p>You can stop all collection of information by the Application easily by uninstalling it. You may use the standard uninstall processes as may be available as part of your mobile device or via the mobile application marketplace or network.</p>
254+
255+
<p><strong>Data Retention Policy</strong></p>
256+
257+
<p>The Service Provider will retain User Provided data for as long as you use the Application and for a reasonable time thereafter. If you’d like them to delete User Provided Data that you have provided via the Application, please contact them at moraleda@gmx.net and they will respond in a reasonable time.</p>
258+
259+
<p><strong>Children</strong></p>
260+
261+
<p>The Service Provider does not use the Application to knowingly solicit data from or market to children under the age of 13.</p>
262+
263+
<p>The Application does not address anyone under the age of 13. The Service Provider does not knowingly collect personally identifiable information from children under 13 years of age. In the case the Service Provider discover that a child under 13 has provided personal information, the Service Provider will immediately delete this from their servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact the Service Provider (moraleda@gmx.net) so that they will be able to take the necessary actions.</p>
264+
265+
<p><strong>Security</strong></p>
266+
267+
<p>The Service Provider is concerned about safeguarding the confidentiality of your information. The Service Provider provides physical, electronic, and procedural safeguards to protect information the Service Provider processes and maintains.</p>
268+
269+
<p><strong>Changes</strong></p>
270+
271+
<p>This Privacy Policy may be updated from time to time for any reason. The Service Provider will notify you of any changes to the Privacy Policy by updating this page with the new Privacy Policy. You are advised to consult this Privacy Policy regularly for any changes, as continued use is deemed approval of all changes.</p>
272+
273+
<p>This privacy policy is effective as of 2025-06-23</p>
274+
275+
<p><strong>Your Consent</strong></p>
276+
277+
<p>By using the Application, you are consenting to the processing of your information as set forth in this Privacy Policy now and as amended by us.</p>
278+
279+
<p><strong>Contact Us</strong></p>
280+
281+
<p>If you have any questions regarding privacy while using the Application, or have questions about the practices, please contact the Service Provider via email at moraleda@gmx.net.</p>
282+
283+
<hr />
284+
285+
<p>This privacy policy page was generated by <a href="https://app-privacy-policy-generator.nisrulz.com/">App Privacy Policy Generator</a></p>
286+
287+
<footer class="footer">
288+
<p>&copy; Guillermo Moraleda 2025</p>
289+
<p>Build with Jekyll and <span class="love"></span></p>
290+
<p>Original theme by <a href="https://github.com/nrandecker">Nathan Randecker</a></p>
291+
</footer>
292+
<script src="//cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
293+
<script src="/assets/js/sweet-scroll.min.js"></script>
294+
<script src="/assets/js/main.js"></script>
295+
<!-- Google Analytics -->
296+
297+
<script>
298+
var dnt = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
299+
if (dnt != "1" && dnt != "yes") {
300+
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
301+
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
302+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
303+
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
304+
ga('create', '', 'auto');
305+
ga('send', 'pageview');
306+
}
307+
</script>
308+
309+
310+
311+
</body>
312+
</html>

0 commit comments

Comments
 (0)