Hey there! π I'm David.
I'm a software developer from Spain. With a degree in Electronic Engineering, I've transitioned my career into web development. I enjoy all the possibilities that it brings and the immediacy of the web platform. What I mostly enjoy about software development is being immersed in a problem, be it a feature implementation or a pesky bug, trying to find that perfect solution. I also thoroughly enjoy refactoring; there is something beautiful about grabbing some messy code and turning it into a coherent and perfectly decoupled, magical work of art (or, you know, a bit less messy).
Featured Project: Rango
For the last 18 months I have been working on Rango. A cross-browser extension that is helping hundreds of people with mobility challenges navigate the web and use their browsers with ease.
Here is what some people have to say about Rango:
- βββββ Thank you for developing this! Super, super convenient with Talon compared to Click by Voice/Vimium/other options. β Zachary McGohan
- βββββ Really great work. Only problem is it makes you wish this functionality was built in to everything and not just the browser! Super useful. β John Arnold
- βββββ Really love this - Definitely a crucial addition to Talon and to hands-less computer interaction. β Jon Weinrib
- βββββ This is the only extension that is faster then the vimium chrome extension to interact with websites using pure voice and talon. β Sandeep Joel
Rango in the extension stores: Chrome - Firefox - Edge - Safari.
While not the main creator, I am the main contributor of this vscode extension. Similar to (and inspired by) Rango this vscode extension helps people with mobility issues navigate the files and folders of a vscode workspace using their voice.
I have also made some contributions to Talon Community, the de facto standard user file set for the Talon software for hands-free computer use.
I realized early that one can quickly become overwhelmed if they just try to learn everything. So I have taken the approach of learning technologies/skills as I need them.
- TypeScript: This is where I spend most of my time. I feel fairly confident writing TypeScript and I'm always trying to improve.
- React: I'm not so experienced here but I have used it to some extent and I want to keep improving on it. The Rango setting page is built entirely using React. I write modern React using function components with hooks instead of class based components.
- HTML & CSS: In the process of building Rango I became quite proficient with the DOM and CSSOM. I can say I am a stacking context master π. Although I enjoy more working on the backend of the frontend I'm currently working on gaining proficiency in these two technologies to become a more well rounded web developer.
- Jest: Testing allows me to make changes with confidence and Jest has been my choice for writing test for Rango.
- Puppeteer: I have used Puppeteer extensively to write tests for Rango.
- Python: I have some experience with Python. Mostly in the context of writing scripts for Talon.
- Git: I use git and GitHub almost every day. I have also written some GitHub actions to test Rango on every push and pull request.
- npm: Another indispensable tool for me.
I'm currently trying to level up my frontend development skills. I am working through the Frontend Mentor Challenges. You can take a look at my solutions here.
- πͺπΈ Spanish: Native.
- πΊπΈ English: Fluent/proficient spoken and written.
- π©πͺ German: Advanced intermediate / conversational.
- π«π· French: Lower intermediate.
I am currently looking for a web developer job. If you are hiring and think I could be a fitting candidate you can get in contact with me at [email protected].