Reflection on 2024

# Reflection on 2024
2024 has come to an end! Time flies so quickly. In the blink of an eye, we’ve already arrived in 2025.

So much happened in 2024, both good and bad. Fortunately, the good outweighed the bad.

In 2024, I set a goal, and now it’s time to review it

https://x.com/Anthony14w/status/1741673647281205639

## Major Projects Worked On

### Symbol Snap Wallet

Metamask has a large user base, and integrating Symbol into Metamask could bring more attention to Symbol from users outside Japan. To explore this potential, I kickstarted the development of the prototype.

https://x.com/Anthony14w/status/1834551902325051636

The Symbol Snap wallet is built on top of the metamask snap. It allows a user to create a Symbol account using Metamask's secret recovery phrase and interact with Symbol blockchain, allowing them to announce the different types of transactions.

The prototype wallet was successfully launched for the community to test. In the prototype, users can manage their symbol accounts, send and receive transactions, and view transaction details.

I faced many challenges during development, but I’ll share a couple of key ones here:

1. **UI/UX Design**: Since I didn’t have much experience with UI/UX design, I studied a few wallet interfaces and learned how to use Figma to create mock screens. These mockups helped me share ideas with my team and gather feedback.
2. **Integrating Symbol-SDK v3**: I encountered issues with the Webpack configuration when integrating Symbol-SDK v3. With the help of core dev, I resolved the problem and created a guide repository [Symbol SDK Starter Sample]( https://github.com/AnthonyLaw/symbol-sdk-starter-sample?tab=readme-ov-file) to assist others facing similar issues.

### [Light Rest](https://github.com/symbol/symbol/blob/client/light-rest/client/rest/README_LIGHT.md)

During the community meetup in Japan, we discussed many topics, and one that caught my attention was the high operating cost of running a REST API node. Additionally, the process of delegating harvesting to a peer node was not user-friendly.

I raised the issue and discussed it with the core team, leading to the decision to develop Light REST.

Light Rest enables peer nodes to run a lightweight version of the REST server by removing MongoDB and broker services. Instead, Light REST will only communicate with the server using socket connect.

The project is not yet released but is expected to launch soon. I have completed all the project scope and requirements, and I aiming for a release in Q1 of 2025.

This was a significant challenge because I had limited knowledge about using packets to communicate with nodes via sockets. Thankfully, community-shared articles helped me quickly understand the concepts and complete the project smoothly. The community’s contributions are invaluable! 

https://qiita.com/ccHarvestasya/items/d38ee4a2ab5e343c2f20

https://catnotes.xyz/symbol/nodes/chatting-with-peers

### NEM Explorer

For this project, I teamed up with [Oleh](https://x.com/oleh_mk). My primary focus was on backend tasks including the **puller** and **REST API**. The REST API was designed to provide data from the frontend, while the puller was responsible for retrieving on-chain data and storing it in a database for easy querying.

We successfully launched a demo site, if you encounter any bugs please let us know!

https://x.com/oleh_mk/status/1838350097899491690

The most challenging aspect of this project was optimizing database SQL queries. As the database grew larger, query performance degraded, impacting user experience when using the explorer. Here are the techniques U used to resolve these issues:

1. **Adding Indexes**: Indexing critical table columns significantly improved query speed. This was essential for ensuring faster data retrieval.

2. **Using Common Table Expression (CTE)**: For complex queries, such as filtering data with multiple joined tables. CTEs allow you to filter data and create temporary tables before joining them, which greatly improved performance.

## New Goal for 2025
With AI now becoming mainstream, I'm love to explore more about AI agents. Although I don't have a concrete idea yet, I want to create a fun project that relates to Symbol.

In addition, I'll continue working on my previous projects, focusing on adding new features and fixing bugs.

Of course, I'm open to the possibility of many new projects in the future.

## Conclusion
I feel that 2024 has been like riding a roller coaster, full of ups and downs. I'm very grateful to the team for their trust, giving me plenty of space to grow. Their selfless sharing and guidance have been invaluable to me.

I've learned so much from the team, and they've helped me become more solid and independent.

Looking ahead to 2025, I hope we can reach new heights, like sitting in a rocket and heading to the moon. Wishing everyone a wonderful New Year.